Kada naudoti konteinerius vietoj visiško virtualizacijos sistemoje „Windows“

  • „Windows“ konteineriai dalijasi branduoliu su pagrindiniu kompiuteriu, yra lengvi, paleidžiami per kelias sekundes ir geriau tinka šiuolaikinėms programoms, mikropaslaugoms ir CI/CD aplinkoms.
  • Virtualios mašinos užtikrina tvirtą izoliaciją operacinės sistemos lygmeniu, palaiko kelias operacines sistemas ir idealiai tinka senesnėms darbo krūviams ir didelio saugumo aplinkoms.
  • „Windows Server“ sistemoje konteineriai yra tinkamesni, kai perkeliamumas, greitas diegimas ir elastingas mastelio keitimas yra svarbesni už išsamų sistemos valdymą.
  • Laimėjusi strategija paprastai sujungia VM izoliacijai ir atitikčiai su konteineriais, siekiant lankstumo ir efektyvumo taikomųjų programų lygmenyje.

visiška virtualizacija sistemoje „Windows“

Pasirinkite tarp „Docker“ konteineris O visiškas virtualizavimas sistemoje „Windows“ yra vienas iš tų techninių sprendimų, kuris, jei bus priimtas lengvabūdiškai, vėliau grįš prie nemalonumų. Yra scenarijų, kai konteinerio daugiau nei pakanka, o kitais atvejais, jei nenustatysite virtualios mašinos, prisiimate saugumo, suderinamumo ar našumo riziką, kuri tiesiog neverta to. Gerai suprasti praktinius skirtumus yra labai svarbu norint žinoti... Kada tikslinga naudoti konteinerius, o kada reikėtų toliau pasikliauti virtualiomis mašinomis? „Windows Server“ sistemoje.

Šiuolaikinėje aplinkoje – nuo ​​namų laboratorijos su „Proxmox“ ar „Hyper-V“ iki klasterio „Azure“ platformoje – dažniausiai renkamasi nebe vieną technologiją, o derinamas abi. Daugelis organizacijų naudoja... „Windows“ konteineriai virtualiose mašinosePasinaudojant geriausiais kiekvieno metodo privalumais: konteinerių elastingumu ir greičiu, kartu su stipria VM izoliacija ir brandžiu valdymu. Išsamiai aptarsime, kaip veikia kiekvienas variantas, ką jis reiškia „Windows Server 2016“, 2019, 2022 ir 2025 versijose ir, svarbiausia, kokiomis aplinkybėmis geriau naudoti konteinerius, o ne visišką virtualizaciją.

Konteinerių architektūra sistemoje „Windows“

„Windows“ sistemoje konteineris iš esmės yra izoliuota ir lengva vykdymo aplinka kur programa veikia su savo priklausomybėmis, tiesiogiai remdamasi pagrindine operacine sistema. Ji neimuliuoja aparatinės įrangos ir neįkelia visos svečio OS: ji tiesiog naudoja pagrindinį „Windows Server“ branduolį ir vykdo vartotojo režimo procesus su tam tikru izoliacijos lygiu.

Šioje architektūroje konteinerį sudaro programa, jos bibliotekos, konfigūracijos ir kai kurie kiti elementai. minimalios sistemos paslaugos vartotojo režimubet ne savo branduolį. Branduolio „nešvarų darbą“ (atminties valdymą, procesus, tinklą ir kt.) atlieka pagrindinio kompiuterio „Windows“ sistema. Štai kodėl „Windows“ konteineris gali būti paleistas per kelias sekundes ir sunaudoti daug mažiau procesoriaus, RAM ir disko vietos nei visavertė virtualioji mašina.

Snapshots
Susijęs straipsnis:
Momentinės nuotraukos vadovas: valdykite ankstesnes būsenas nesuardydami virtualių aplinkų

„Windows“ palaiko kelis konteinerių izoliavimo režimus: klasikinį „Windows“ konteinerio režimą (kuris dalijasi branduoliu su pagrindiniu kompiuteriu) ir Hyper-V izoliacijaTaip kiekvienas konteineris paleidžiamas mikro-VM viduje, siekiant sustiprinti atskyrimą. Pastarasis variantas naudojamas, kai reikia stipresnės saugumo ribos, šiek tiek didesnio išteklių suvartojimo kaina, bet nepasiekiant tradicinės VM su visa OS dydžio.

Virtualios mašinos architektūra sistemoje „Windows“

Virtualios mašinos veikia labai skirtingai. VM, veikianti „Hyper-V“, „VMware“ arba KVM aplinkoje, veikia su... pilnai įrengta svečių operacinė sistema su savo branduoliuTai atliekama virtualizacijos lygmenyje, vadinamame hipervizoriumi. Hipervizorius paskirsto fizinio serverio procesoriaus, atminties, saugyklos ir tinklo išteklius kelioms virtualioms mašinoms.

Tipinėje diagramoje turite fizinė įranga, hipervizorius ir dar kelios virtualios mašinosKiekviena virtualioji mašina (VM) veikia su savo „Windows“, „Linux“ arba kita suderinama operacine sistema ir savo programomis. Tai užtikrina labai patikimą izoliaciją: vienos virtualios mašinos gedimas ar kompromitacija tiesiogiai nepaveikia pagrindinės operacinės sistemos ar kitų virtualių mašinų, jei hipervizorius tinkamai sukonfigūruotas ir įdiegtos pataisos.

Trūkumas yra tas, kad kiekvienai virtualiai mašinai reikia paleisti visą operacinę sistemą su visomis jos paslaugomis, tvarkyklėmis ir sistemos procesais. Tai reiškia, kad didesnis išteklių suvartojimas ir ilgesnis paleidimo laikasPaprastai tai trunka kelias minutes, palyginti su konteinerio sekundėmis. Taip pat padidėja priežiūros sudėtingumas: kiekvieną svečio OS reikia atnaujinti ir pataisyti, taip pat reikia tvarkyti atvaizdus, ​​licencijas, atsargines kopijas ir kt.

Konteineriai ir virtualios mašinos: pagrindiniai panašumai ir skirtumai

Nors konteineriai ir virtualios mašinos dažnai naudojamos panašioms problemoms spręsti – programų izoliavimui ir aparatinės įrangos bendrinimui – jų požiūris ir stipriosios pusės labai skiriasi. Šių skirtumų supratimas leidžia suprasti, Kada sistemoje „Windows“ teikti pirmenybę konteineriams, o ne visiškam virtualizavimui.

Izoliacija ir saugumas

Virtuali mašina suteikia beveik visiškas izoliavimas nuo pagrindinės operacinės sistemosKiekviena virtualioji mašina turi savo branduolį ir atminties erdvę, o hipervizorius veikia kaip riba. Tai idealu, kai tame pačiame klasteryje reikia atskirti skirtingų įmonių, skyrių, turinčių jautrius duomenis, arba skirtingos svarbos aplinkų darbo krūvius.

„Windows“ konteineriai standartiniu režimu siūlo lengvesnį izoliavimą: Jie dalijasi branduoliu su pagrindiniu kompiuteriu ir kitais konteineriaisTai sumažina išlaidas, bet kartu ir saugumo ribas. Štai kodėl nepatartina tame pačiame pagrindiniame kompiuteryje maišyti konteinerių iš skirtingų klientų, kuriems taikomi labai griežti atitikties reikalavimai, nebent juos izoliuojate „Hyper-V“ technologija arba apsaugote labai griežtomis kontrolės priemonėmis.

„Hyper-V“ konteinerių izoliacijos režimas iš dalies sušvelnina šią problemą: kiekvienas konteineris veikia mikro-VM, derinant konteinerio lengvumą su standesniu atskyrimuNepaisant to, griežtų taisyklių ar sudėtingų auditų atvejais dažnai vis dar pageidaujama naudoti visavertę virtualią mašiną kaip izoliacinį įrenginį.

Operacinė sistema ir suderinamumas

Galite įdiegti VM beveik bet kuri suderinama operacinė sistema su hipervizoriumi: skirtingos „Windows“ versijos, „Linux“ distribucijos ir kt. Tai leidžia palaikyti senesnes programas, kurioms reikalinga labai specifinė aplinka, specifiniai tvarkyklės arba senesnės sistemos versijos, kurių nebenorite (arba negalite) paleisti pagrindiniame kompiuteryje.

  Efektyvios skaitmeninės aplinkos kūrimas „Microsoft“ ekosistemoje

Tačiau „Windows“ konteineryje Operacinės sistemos versija turi sutapti su pagrindinio kompiuterio versija.Konteineriai naudoja tą patį branduolį, todėl, pavyzdžiui, negalite įdėti „Windows Server 2008“ į konteinerį, pagrįstą pagrindiniu kompiuteriu, kuriame veikia „Windows Server 2022“. Naudodami „Hyper-V“ izoliaciją, galite paleisti ankstesnes tos pačios sistemos versijas, tačiau visada laikydamiesi „Microsoft“ oficialiai palaikomų apribojimų tam režimui.

Dėl šios branduolio priklausomybės daugelis labai senų programų arba tų, kurios turi stiprias sistemos priklausomybes, prastos kandidatės konteineriams ir lieka klasikinėse virtualiose mašinose. Priešingai, šiuolaikinėms programoms, sukurtoms laikantis gerosios praktikos ir kontroliuojamų priklausomybių, konteinerio modelis puikiai tinka.

Našumas, išteklių naudojimas ir paleidimo laikas

VM turi rezervuoti atmintį visai operacinei sistemai ir vykdyti daugybę funkcijų. sistemos paslaugos, foniniai procesai ir valdikliaiNet jei jūsų programai reikia tik dalies šių funkcijų, tai reiškia didesnį RAM ir CPU naudojimą, daugiau vietos diske VM atvaizdams ir žymiai ilgesnį paleidimo laiką.

Konteineriai, neturintys savo branduolio, yra daug mažiau procesoriaus, RAM ir atminties„Windows“ konteinerio atvaizdą galima labai optimizuoti, įtraukiant tik būtiniausius dvejetainius failus ir paslaugas. Dėl lengvo svorio galite sutelkti daugiau paslaugų egzempliorių viename pagrindiniame kompiuteryje ir geriau reaguoti į apkrovos šuolius, greitai keisdami horizontalųjį mastelį.

Kalbant apie paleidimo laiką, skirtumas yra įspūdingas: vienas VM paprastai pradeda veikti per kelias minutes.Nors konteinerį galima pakelti per kelias sekundes ar net greičiau, tai yra labai svarbu automatinio mastelio keitimo scenarijams ir greitam atkūrimui po gedimų.

Mastelio keitimas ir orkestravimas

VM platformos mastelio keitimas apima naujų mašinų kūrimą, sistemų diegimą ar klonavimą, jų konfigūravimą, prijungimą prie domeno, politikų taikymą... net jei automatizuojate naudodami scenarijus, tai vis tiek yra... gana sunkus ir lėtas veikimas, tinka statiškesniems arba lėtai kintantiems darbo krūviams.

Konteineriai skirti visiškai priešingam tikslui: greitai ir intensyviai plėstisSu orkestravimo įrankiu, pvz., „Azure Kubernetes Service“, „Kubernetes on-premises“, „Docker Swarm“ arba tokiais įrankiais kaip "Docker Compose"Galite sukurti, sunaikinti ir iš naujo diegti konteinerius per kelias sekundes, atsižvelgdami į darbo krūvį. Tai ypač tinka mikropaslaugų architektūroms, CI/CD srautams ir debesijos programoms.

„Windows“ sistemoje VM apkrovos balansavimas paprastai apima Migruoti veikiančias virtualias mašinas tarp mazgų klasteryjeSu konteineriais modelis kitoks: pats konteineris neperkeliamas, o orkestratorius sunaikina egzempliorių viename mazge ir atkuria jį kitame, naudodamas tą patį atvaizdą. Tai labiau nekintamas ir deklaratyvus metodas.

Operacinės sistemos atnaujinimai ir priežiūra

VM parko priežiūra apima pataisykite svečio operacinę sistemą kiekviename kompiuteryjeVersijų valdymas, paleidimai iš naujo, momentinės kopijos, šablonai... ir dažnai, kai norite pereiti prie naujos „Windows“ versijos, ekonomiškiau sukurti naują virtualią mašiną nuo nulio ir perkelti programą, nei atnaujinti vietoje. Aplinkose, kuriose yra dešimtys ar šimtai virtualių mašinų, tai gali būti labai daug darbo reikalaujanti užduotis.

Naudojant konteinerius, operacinės sistemos atnaujinimai paprastai yra daug labiau kontroliuojami ir kartojami. Norint atnaujinti, įprastas procesas yra toks: Redaguokite „Dockerfile“, kad jis būtų nukreiptas į naujesnį „Windows“ bazinį atvaizdą.Atkurkite atvaizdą, įkelkite jį į konteinerio registrą ir įdiekite naudodami „Orchestrator“. Pats „Orchestrator“ gali atlikti didelio masto, automatizuotus laipsniškus diegimus, išleidimus ir atšaukimus.

Šis „nekintamos infrastruktūros“ metodas sumažina konfigūracijos dreifą ir stabilizuoja aplinkos būseną. apibrėžta koduNe dėl ilgos virtualių mašinų rankinio keitimo grandinės, kuri egzistuoja jau daugelį metų. Tai labai svarbu, kai norite iš tikrųjų įdiegti „DevOps“ sistemoje „Windows“.

Duomenų saugojimas ir išlaikymas

VM pasaulyje klasikinis saugojimo modelis sistemoje „Windows“ yra naudoti prie kiekvieno kompiuterio prijungti virtualūs standieji diskai (VHD/VHDX) Vietiniams duomenims arba SMB bendrinamiems ištekliams (pvz., „Azure Files“ arba tradiciniams bendrinamiems failams), kai duomenis galima pasiekti iš kelių serverių. VM „valdo“ savo virtualų diską ir elgiasi su juo taip, lyg jis būtų fizinis diskas.

Konteinerių ekosistemoje įprasta aiškiai atskirti trumpalaikiai duomenys (susieti su konteinerio gyvavimo ciklu) ir nuolatiniai duomenysPastaruoju atveju „Azure“ platformoje galite naudoti „Azure Disks“ vietinei, mazgo lygio saugyklai ir „Azure Files“ (SMB) kaip bendrą saugyklą keliuose mazguose arba poduose. Konteineris prijungia šiuos tomus pagal orkestratoriaus konfigūraciją, o jei konteineris sunaikinamas ir sukuriamas iš naujo, duomenys išlieka ir už jo ribų.

Šis atsiejimas palankesnis modeliams, kuriuose taikymai yra deklaratyvus ir vienkartinisO duomenys saugomi gerai valdomose saugojimo paslaugose, kurios labiau atitinka šiuolaikinę praktiką nei klasikinė „naminių gyvūnėlių“ virtuali mašina su viskuo viduje.

Tinklas ir ryšys

Virtualių mašinų naudojimas virtualūs tinklo adapteriai, prijungti prie virtualių komutatorių hipervizoriuje. Kiekviena virtualioji mašina turi savo tinklo steko, užkardos ir nepriklausomos konfigūracijos, o tai padidina izoliaciją, bet kartu ir išteklių suvartojimą bei valdymo sudėtingumą.

Kita vertus, „Windows“ konteineriai paprastai turi izoliuotas bendro virtualaus tinklo adapterio vaizdasPagrindinio kompiuterio užkarda yra bendra, o tinklo virtualizacijos lygis yra šiek tiek žemesnis, nors daugeliui scenarijų pakanka. Tai sumažina išlaidas ir leidžia dešimtims ar šimtams konteinerių efektyviai naudoti pagrindinį tinklą.

  Išplėstinis vadovas, kaip kurti pasirinktines energijos vartojimo schemas sistemoje „Windows 11“

Tipiniai konteinerizavimo naudojimo atvejai

visiška virtualizacija sistemoje „Windows“

Konteinerizavimas tapo pageidaujamu pasirinkimu modernios, nešiojamos ir labai keičiamo dydžio programos„Windows“ sistemoje konteineriai ypač gerai dera prie tam tikrų architektūrinių ir veikimo modelių.

Debesijos technologijomis pagrįstos programos

Debesijos technologijomis pagrįstos programos yra sukurtos veikti dinamiškoje, paskirstytoje ir labai automatizuotoje aplinkoje. „Windows“ konteineriai tai įgalina. supakuoti kiekvieną paslaugą su jos priklausomybėmis ir paleisti jį tokiu pačiu būdu nešiojamajame kompiuteryje, duomenų centre arba „Azure“ platformoje. Tai supaprastina hibridinius ir kelių debesų diegimus.

Tais atvejais, kai apkrova labai skiriasi, pavyzdžiui, žiniatinklio programose su sezoniniais pikais arba vienkartinėmis kampanijomis, tai, kad galite Padidinkite arba sumažinkite konteinerių dydį per kelias sekundes Tai yra esminis skirtumas, palyginti su visiškų virtualių mašinų surinkimu ar išardymu.

„Microservices“ architektūros

Mikropaslaugų filosofija susideda iš programos padalijimo į maži, nepriklausomi ir atskirai išskleidžiami komponentaiKiekviena mikropaslauga pateikia aiškiai apibrėžtas API ir yra atnaujinama nepaveikiant likusios sistemos dalies.

Kaip įdiegti „VirtualBox“ sistemoje „Windows 11“
Susijęs straipsnis:
Išsamus žingsnis po žingsnio vadovas, kaip įdiegti „VirtualBox“ ir „Windows 11“ kompiuteryje.

Konteineriai yra praktiškai natūrali mikropaslaugų priemonėKiekviena paslauga yra savo konteineryje, gali būti nepriklausomai keičiamo dydžio pagal apkrovą ir gali būti diegiama palaipsniui, nereikia „paleisti“ ar „išjungti“ visos virtualios mašinos. Tai pagerina kūrimo lankstumą ir sumažina pakeitimų poveikį.

CI / CD ir „DevOps“

Nuolatinės integracijos ir diegimo procesuose jums reikia atkuriamos aplinkos, kurias galima greitai sukurti ir sunaikintiKonteineriai suteikia būtent tai: tie patys vaizdai, kuriuos naudojate gamyboje, yra pakartotinai naudojami kūrimo ir testavimo aplinkose, panaikinant klasikinį „viskas veikia mano kompiuteryje“.

Be to, konteinerizavimas atitinka idėją gydyti infrastruktūra kaip kodasTokios priemonės kaip „Kubernetes“, „Helm“ ir „Azure AKS“ diegimo manifestai patys aprašo norimą būseną, o sistema pasirūpina konvergavimu į ją. Bendradarbiavimas tarp kūrimo ir operacijų komandų pagerėja, nes visi dirba su deklaratyviais ir nuspėjamais apibrėžimais.

Greitas mastelio keitimas ir atkūrimas po gedimų

Kita sritis, kurioje išsiskiria konteinerizacija, yra aplinkose, kurioms reikalingas greitas paleidimas ir minimalus atkūrimo laikasJei klasterio mazgas sugenda, orkestratorius tiesiog iš naujo paleidžia paveiktus konteinerius kituose mazguose, naudodamas tuos pačius atvaizdus ir prijungdamas reikiamus nuolatinius tomus.

Ši galimybė atkurti konteinerius per kelias sekundes apsunkina incidentų atkūrimą. orkestravimas ir saugojimas kuris atkuria visus sistemos atvaizdus, ​​taip sumažindamas daugelio programų prastovų laiką.

Tipiniai visiško virtualizacijos naudojimo atvejai

Nepaisant konteinerių populiarėjimo, hipervizoriaus lygio virtualizacija išlieka labai svarbi, kai jums to reikia išsamios ir gerai izoliuotos operacinės sistemos aplinkosarba kai dirbate su programine įranga, kuri tiesiog nėra skirta konteineriams.

Senesnės programos ir sistemos

Daugelis organizacijų palaiko prieš daugelį metų sukurtas kritines programas, kurios priklauso nuo konkrečios „Windows“ versijos, sistemos bibliotekos arba konkretūs tvarkyklėsTos programinės įrangos pertvarkymas, kad ji tilptų į konteinerį, gali būti ekonomiškai arba techniškai neįmanomas.

Tokiais atvejais logiška būtų saugoti aplinką. „Windows“ virtualios mašinos kurios tiksliai atkartoja programos laukiamą operacinę sistemą. Tai leidžia perkelti aparatinę įrangą į naujas platformas ar net į debesį naudojant „pakėlimo ir perkėlimo“ metodus, nekeičiant senosios programinės įrangos veikimo.

Didelio saugumo ir atitikties aplinkos

Kai prioritetas yra saugumas ir atitiktis reglamentams, pavyzdžiui, sveikatos priežiūros, finansų ar viešojo administravimo srityse, virtualizacija dažnai yra pageidaujama, nes Branduolio lygio izoliacija yra stipresnėKiekviena VM yra aiški riba auditoriams ir saugumo komandoms.

Tai nereiškia, kad konteineriai pagal apibrėžimą yra nesaugūs, bet tai reiškia, kad grėsmės modelis yra kitoksYpač jautrių darbo krūvių atveju daugelis saugumo komandų jaučiasi patogiau apibrėždamos patikimus domenus VM lygmeniu, nustatydamos savo politikas, saugumo agentus ir nepriklausomus valdiklius.

Suderinamumas su keliomis operacinėmis sistemomis

Jei jūsų infrastruktūra reikalauja, kad veiktų vienu metu skirtingos operacinės sistemos, pavyzdžiui, „Windows“ ir įvairūs „Linux“ distribucijos,Virtualizacija yra natūralus pasirinkimas. Kiekviena VM turi savo svečių OS, ir jūs galite jas laisvai derinti tame pačiame fiziniame serveryje be bendro branduolio apribojimų.

Kita vertus, su konteineriais esate pririšti prie pagrindinio kompiuterio branduolio tipas„Windows“ pagrindiniame kompiuteryje paleisite „Windows“ konteinerius; „Linux“ pagrindiniame kompiuteryje – „Linux“ konteinerius. Negalite maišyti vietinio „Linux“ konteinerio su „Windows“ branduoliu tame pačiame pagrindiniame kompiuteryje nepridėję kito sluoksnio (pavyzdžiui, „Linux“ virtualios mašinos „Hyper-V“ aplinkoje ir konteinerių toje virtualioje mašinoje).

Išteklių konsolidavimas ir infrastruktūros valdymas

Virtualizacija gimė tam, kad geriau išnaudoti fizinę įrangąperkeliant tai, kas anksčiau užėmė kelis atskirus kompiuterius, į vieną serverį. Šiandien tai išlieka labai naudinga konsoliduojant paslaugas, mažinant fizinių serverių skaičių, taupant energiją ir supaprastinant duomenų centro valdymą.

Tokios priemonės kaip „System Center Virtual Machine Manager“, „Windows Admin Center“ arba trečiųjų šalių sprendimai leidžia Automatizuokite VM parengimą, valdykite klasterius ir atlikite tiesiogines migracijas. ir palaikyti didelius virtualių serverių ūkius, labai tiksliai kontroliuojant išteklius ir SLA.

  Kaip apriboti „Windows 11“ telemetriją išlaikant programos stabilumą

Konteinerizavimas ir virtualizavimas IaaS ir PaaS sistemose

Debesyje konteinerių ir virtualių mašinų skirtumas aiškiai matomas, lyginant modelius Infrastruktūra kaip paslauga (IaaS) ir platforma kaip paslauga (PaaS)Abu jie remiasi virtualizacija ir konteinerizacija, tačiau skirtingais sluoksniais.

Tipiniai IaaS scenarijai

IaaS sistemoje teikėjas jums suteikia virtualios mašinos „beveik nuogos“ su pagrindine operacine sistema, o jūs pasirūpinate visa kita. Tai idealiai tinka:

  • Kelių operacinių sistemų talpinimas debesyje: testavimas skirtingose ​​„Windows“ arba „Linux“ sistemose, atskirose ikigamybinėse ir gamybinėse aplinkose ir kt.
  • Senesnių sistemų perkėlimas naudojant „lift-and-shift“: Perkelkite virtualias mašinas į „Azure“ arba kitą debesį neperrašydami programos.
  • Kuriant itin individualiai pritaikytą infrastruktūrą: visiška tinklo, saugyklos, saugumo politikos ir kt. kontrolė.
  • Sukurkite avarinio atkūrimo strategijas VM lygmeniu: mašinų replikacija, visos serverio aplinkos perjungimas.

Visais šiais atvejais pagrindinis dėmesys skiriamas hipervizoriaus lygio virtualizacijaKonteineriai gali būti, bet kaip viršutinį sluoksnį, kurį tvarkote patys VM viduje.

Tipiniai PaaS scenarijai

Kita vertus, „PaaS“ sistemoje paslaugų teikėjas abstrahuoja didelę dalį infrastruktūros ir siūlo jums platformos, orientuotos į programų diegimąČia konteinerizavimas yra esminis dalykas: daugelis PaaS platformų savo veiklą grindžia būtent tiekėjo valdomais konteineriais.

Kai kurie tipiniai naudojimo būdai yra šie:

  • Kurkite ir diegkite debesijos pagrindu veikiančias programas nesijaudinant dėl ​​​​pagrindinių virtualių mašinų.
  • Kurti mikropaslaugas su integruotais orkestravimo įrankiais, metrika ir automatiniu mastelio keitimu.
  • Automatizuoti CI/CD kur kiekvienas commit'as sukuria naują konteinerio atvaizdą, kuris automatiškai diegiamas.
  • Greitas prototipų kūrimas naujos idėjos, kurias palaiko duomenų bazės, eilės, talpyklos ir kitos valdomos paslaugos.

Šiame modelyje jūsų dėmesys labiau sutelktas į apibrėžti konteinerio vaizdus, ​​konfigūracijas ir srautus nei valdant virtualias mašinas, sistemos pataisas ar hipervizorius.

Konteineriai ir virtualizacija kartu: tai nėra „arba/arba“ situacija.

Dažnas klaidingas įsitikinimas yra manyti, kad reikia rinktis. tarp konteinerių arba hipervizorių ne išimtinai. Iš tikrųjų dauguma organizacijų, kurios rimtai žiūri į debesijos ar savarankiško talpinimo galimybes, galiausiai naudoja abu.

Dažniausias modelis apima diegimą konteineriai virtualiose mašinoseVM užtikrina tvirtą izoliaciją, aiškias gedimų sritis, integraciją su infrastruktūros įrankiais ir atitiktį reikalavimams. Konteineriai prideda greičio, didelio mastelio keitimo ir perkeliamumo programų sluoksniui.

Tai leidžia, pavyzdžiui, paleisti „Windows“ virtualių mašinų ūkį „Hyper-V“, „Proxmox“ arba „Nutanix“ sistemose ir vykdyti jose. Kubernetes arba Docker klasteriai su konteinerizuotais programomis. Tai leidžia perkelti virtualias mašinas tarp pagrindinių kompiuterių, atlikti tiesiogines migracijas, tvarkyti standartines virtualių mašinų atsargines kopijas ir dinamiškai keisti mikropaslaugų mastą.

Kada „Windows“ sistemoje geriau naudoti konteinerius, o ne virtualias mašinas?

Perkeliant visą teoriją į praktinį pagrindą, yra nemažai situacijų, kai „Windows“ sistemoje Daug prasmingiau naudoti konteinerius nei visišką virtualizaciją.:

  • Kai kuriate modernias, debesijos pagrindu veikiančias programas arba žiniatinklio paslaugas, kurias reikia diegti skirtingose ​​aplinkose (vietinėse ir debesijos sistemose) be netikėtumų.
  • Kai dirbate su mikropaslaugomis Ir jums reikia diegti mažus komponentus atskirai, vienus labiau mastelio keisti nei kitus ir nuolat atnaujinti visą platformą.
  • Kai paleidimo laikas ir elastingumas yra labai svarbūsPavyzdžiui, norint sugerti srauto šuolius arba sumažinti išteklius ne piko valandomis, nenaudojant didelių operacijų virtualiose mašinose.
  • Kai rimtai taikote DevOps ir CI/CDIr jūs norite, kad kūrimo, testavimo ir gamybos aplinkos būtų kuo identiškesnės, apibrėžtos kodu ir atkuriamos per kelias sekundes.
  • Kai reikia maksimalaus išteklių naudojimo efektyvumo „Windows“ pagrindiniame kompiuteryje: jei ketinate paleisti dešimtis ar šimtus panašių paslaugų egzempliorių, daug ekonomiškiau juos paversti konteineriais, nei kiekvienam variantui sukurti atskirą virtualią mašiną.
  • Kai jūsų prioritetas yra programos perkeliamumas daugiau nei operacinė sistema: jus domina galimybė perkelti tą patį konteinerio atvaizdą į bet kurią aplinką, suderinamą su „Windows“ konteineriais.

Tačiau jei jūsų atvejis labiau atitinka vieną iš šių situacijų, virtualizavimas naudojant VM greičiausiai vis tiek yra tinkamesnis nei gryni konteineriai: Senos programos, kurias sunku modifikuoti, itin griežti saugumo reikalavimai ir poreikis tame pačiame pagrindiniame kompiuteryje naudoti daug skirtingų operacinių sistemų. arba labai gilios OS priklausomybės, kurios prieštarauja „Windows“ konteinerizavimo apribojimams.

Baigiamosios pastabos

Atsižvelgiant į visa tai, kas išdėstyta pirmiau, tikrasis sprendimas retai būna juodas arba baltas: šiuolaikinėse „Windows“ aplinkose paprastai geriausiai veikia mišri strategija, kai VM yra skirtos stipriam izoliavimui, senesnėms apkrovoms ir griežtai reguliuojamoms sistemoms., o konteineriuose dislokuoti viską, kam reikalingas greitis, perkeliamumas, tikslus mastelio keitimas ir greiti kūrimo ciklai.

„Windows 10“ gaus nemokamus saugos atnaujinimus
Susijęs straipsnis:
„Windows 10“ turės nemokamus saugos atnaujinimus: kas pasikeis, kur ir kaip juos gauti

Galiausiai konteineriai ir virtualizacija ne tiek konkuruoja tarpusavyje, kiek vienas kitą papildo, o žinojimas, kur kiekvienas iš jų yra pranašesnis, leidžia sukurti efektyvią, saugią ir augimui pasiruošusią infrastruktūrą. Pasidalinkite informacija ir kiti vartotojai sužinos apie temą