Virtualios mašinos ir konteineriai yra virtualizacijos tipai, leidžiantys diegti programas aplinkoje, izoliuotoje nuo pagrindinės aparatinės įrangos.

Šios technologijos dažnai naudojamos dideliuose IT projektuose, siekiant sumažinti išlaidas ir palengvinti programų diegimą skirtingose ​​platformose. Virtuali mašina taip pat naudinga išbandant naujas operacines sistemas.

Viena šių sąvokų problema yra ta, kad jos yra labai panašios, todėl sunku pasirinkti iš jų.

Taigi, kuo tiksliai skiriasi virtuali mašina ir konteineris?

Kas yra virtuali mašina?

Virtuali mašina yra kompiuterio virtualizacija. Virtualios mašinos leidžia naudoti vieną kompiuterį, kad būtų galima paleisti kelis kompiuterius, kurių kiekviena turi savo operacinę sistemą.

Virtualios mašinos kuriamos naudojant hipervizorius. Tai yra programinė įranga, esanti tarp VM ir pagrindinės aparatūros. Hipervizorius paima išteklius iš pagrindinės aparatinės įrangos ir padalija juos į skirtus atskiriems VM.

Rezultatas - kelios aplinkos, kuriose naudojama ta pati aparatinė įranga, tačiau jos elgiasi taip, tarsi jos būtų visiškai izoliuotos viena nuo kitos.

instagram viewer

Kas yra konteineris?

Konteineris yra panašus į virtualią mašiną. Tačiau užuot virtualizavęs visą kompiuterį, konteineris virtualizuoja tik programinę įrangą virš operacinės sistemos lygio.

Konteineriai yra lengvesni, nes jiems nereikia savo operacinių sistemų. Kad tai būtų perspektyvu, jie paprastai matuojami megabaitais, o ne gigabaitais, susijusiais su virtualiomis mašinomis.

Jiems taip pat nereikia hipervizoriaus ir jie gali būti dedami tiesiai ant pagrindinės operacinės sistemos. Tada kiekvienas konteineris bendrina pagrindinį OS branduolį.

Nors konteineriai yra mažesni nei virtualios mašinos, jie vis tiek suprojektuoti taip, kad apimtų visus būtinus programos paleidimui failus. Jie apima visas priklausomybes ir vykdymo laiko bibliotekas. Tai leidžia programą bet kurioje talpykloje paleisti bet kur.

Kuo skiriasi virtuali mašina ir konteineris?

Virtualios mašinos gyvuoja ilgiausiai, tačiau tam tikrais tikslais jas pakeitė konteineriai. Tačiau kiekviena technologija turi savo privalumų ir trūkumų. Todėl tinkamas darbo įrankis priklauso nuo konkretaus projekto. Čia yra pagrindiniai skirtumai.

1. Virtualios mašinos suteikia atskirą OS

Dėl savo operacinės sistemos virtualios mašinos gali atlikti daugybę užduočių, kurių neįmanoma atlikti naudojant konteinerius.

  • Galite paleisti programas, nesuderinamas su pagrindine OS.
  • Galite paleisti kelias programas skirtingose ​​operacinėse sistemose.
  • Galite paleisti kelias programas, kurios negali sau leisti dalytis operacinės sistemos funkcijomis ir ištekliais.

2. Konteineriai yra mažesni ir nešiojami

Bendrinant operacinę sistemą labai sumažėja kodo, kurio reikia konteineriui paleisti, kiekis. Todėl konteineriai yra žymiai mažesni nei VM, dažnai užimantys tik kelis megabaitus.

Dėl to konteineriai gali būti daug pigesni, nes viename serveryje galite sutalpinti daugiau jų. Tai taip pat daro konteinerius žymiai patogesnius.

Konteinerius galima lengvai perkelti tarp kompiuterių, kompiuterių aplinkos ir debesies. Dėl to jie ypač naudingi komandoms, norinčioms bendradarbiauti vienoje programoje naudojant skirtingą aplinką.

3. Konteineriai įsijungia greičiau

Konteinerius galima paleisti daug greičiau, nes operacinė sistema jau veikia, skirtingai nuo virtualios mašinos paleidimo, o tai reiškia, kad reikia paleisti naują OS.

Todėl konteineriai gali būti paleisti per kelias sekundes, o virtualios mašinos paprastai reikalauja kelių minučių.

Kadangi konteineriai naudoja mažiau išteklių, jie taip pat leidžia kai kurioms programoms veikti greičiau.

4. Konteineriai turi prieigą prie visų išteklių

Virtualios mašinos turi tam tikrų išteklių, kuriuos jiems skyrė hipervizorius. Tai gali būti naudinga daug išteklių reikalaujančioms programoms, tačiau ji taip pat gali būti neefektyvi, kai skirti ištekliai lieka nepanaudoti.

Konteineriai turi prieigą prie visų pagrindinių aparatūros išteklių ir todėl nekelia šios problemos. Todėl konteineriai paprastai yra geresnis pasirinkimas toms programoms, kuriose reikalingi ištekliai nežinomi.

5. Virtualios mašinos yra saugesnės

Virtuali mašina yra visiškai izoliuota nuo viso kito kompiuteryje. Konteineris yra izoliuotas tik proceso lygiu. Tai daro virtualias mašinas saugesnes.

Jei pagrindinio kompiuterio operacinė sistema yra pažeista, gali būti pažeisti ir visi virš jos įrengti konteineriai. Pagal tą patį scenarijų virtualios mašinos nebūtų paveiktos.

Išnaudojimas, veikiantis virtualioje mašinoje, negali paveikti nieko už jos ribų. Konteinerio viduje veikiantis išnaudojimas gali pasiekti likusią sistemos dalį.

Ar turėtumėte naudoti virtualią mašiną ar konteinerį?

Virtualios mašinos ir konteineriai yra labai panašūs vienas į kitą, tačiau jų negalima pakeisti. Todėl kai kurie projektai suteiks galimybę rinktis vieną iš dviejų, o kiti – ne.

Turėtumėte naudoti virtualią mašiną, kai norite paleisti programas, kurioms konkrečiai reikalinga nauja OS. Pavyzdžiui, pagrindinė OS gali nepalaikyti programos.

Virtuali mašina taip pat turėtų būti naudojama tada, kai pirmenybė teikiama izoliacijai ir saugumui.

Daugeliu kitų scenarijų konteineris bus lengvesnis, greitesnis ir ekonomiškesnis sprendimas.

Ar galite kartu naudoti virtualias mašinas ir konteinerius?

Jei norite tiek virtualių mašinų, tiek konteinerių funkcionalumo, galima jas sujungti. Tokiu atveju paleidžiate virtualią mašiną ir joje įdiekite konteinerius.

Tai ypač naudinga saugumo sumetimais. Pavyzdžiui, įsivaizduokite, kad viename kompiuteryje naudojate dešimt konteinerių. Jei to kompiuterio OS pažeista, gali būti paveikti visi dešimt konteinerių.

Dabar įsivaizduokite, kad tuos dešimt konteinerių padalinate keliose virtualiose mašinose. Jei viena iš tų VM bus pažeista, bus paveikti tik jame esantys konteineriai, o kiti veiks kaip įprasta.

Ar konteineriai pakeičia virtualias mašinas?

Konteineriai tampa vis populiaresni ir dėl labai rimtos priežasties. Jie pasiekia daug tų pačių tikslų kaip ir virtualios mašinos, tačiau jie tai daro už nedidelę dydį ir galimą kainą.

Nepaisant to, yra daug situacijų, kai tik virtuali mašina suteiks norimą funkcionalumą, o tai reiškia, kad VM, nepaisant jų dydžio, visada bus tam tikru mastu išnaudotos.

DalintisTviteryjeEl. paštas
Kaip įdiegti „Linux“ sistemoje „Windows“ naudojant „VMware“ virtualią mašiną

Ar norite įdiegti „Linux“, bet negalite išeiti iš „Windows“? Išbandykite virtualią mašiną, kad paleistumėte mėgstamą „Linux“ versiją sistemoje „Windows“. Mes parodysime, kaip nustatyti VMware Workstation Player.

Skaitykite toliau

Susijusios temos
  • Paaiškinta technologija
  • „VirtualBox“.
  • Virtuali mašina
  • Virtualizacija
  • Tinklapio serveris
Apie autorių
Eliotas Nesbo (41 straipsnis paskelbtas)

Elliotas yra laisvai samdomas technologijų rašytojas. Pirmiausia jis rašo apie „fintech“ ir kibernetinį saugumą.

Daugiau iš Elliot Nesbo

Prenumeruokite mūsų naujienlaiškį

Prisijunkite prie mūsų naujienlaiškio, kad gautumėte techninių patarimų, apžvalgų, nemokamų el. knygų ir išskirtinių pasiūlymų!

Spauskite čia norėdami užsiprenumeruoti