Virtuálne stroje a kontajnery sú typy virtualizácie, ktoré umožňujú nasadenie aplikácií v prostrediach izolovaných od základného hardvéru.

Tieto technológie sa často používajú vo veľkých IT projektoch na zníženie nákladov a uľahčenie nasadzovania programov na rôznych platformách. Virtuálny stroj je tiež užitočný na vyskúšanie nových operačných systémov.

Jedným z problémov týchto pojmov je, že sú si veľmi podobné, čo sťažuje výber medzi nimi.

Aký je teda rozdiel medzi virtuálnym strojom a kontajnerom?

Čo je to virtuálny stroj?

Virtuálny stroj je virtualizácia počítača. Virtuálne stroje vám umožňujú používať jeden počítač na spustenie niekoľkých počítačov, z ktorých každý má svoj vlastný operačný systém.

Virtuálne stroje sa vytvárajú pomocou hypervízorov. Toto je softvér, ktorý je umiestnený medzi VM a základným hardvérom. Hypervízor odoberá prostriedky zo základného hardvéru a rozdeľuje ich na oddiely vyhradené pre jednotlivé VM.

Výsledkom je viacero prostredí, ktoré používajú rovnaký hardvér, ale správajú sa, akoby boli od seba úplne izolované.

instagram viewer

Čo je kontajner?

Kontajner je podobne ako virtuálny stroj. Ale namiesto virtualizácie celého počítača kontajner iba virtualizuje softvér nad úrovňou operačného systému.

Kontajnery sú ľahšie, pretože nepotrebujú vlastné operačné systémy. Aby sme to uviedli do perspektívy, zvyčajne sa merajú v megabajtoch, a nie v gigabajtoch spojených s virtuálnymi strojmi.

Nepotrebujú ani hypervízor a možno ich umiestniť priamo na hostiteľský operačný systém. Každý kontajner potom zdieľa jadro hostiteľského OS.

Aj keď sú kontajnery menšie ako virtuálne stroje, sú stále navrhnuté tak, aby obsahovali všetky potrebné súbory na spustenie aplikácie. Zahŕňajú všetky závislosti a run-time knižnice. To umožňuje spustiť aplikáciu v kontajneri kdekoľvek.

Aký je rozdiel medzi virtuálnym strojom a kontajnerom?

Najdlhšie sú virtuálne stroje, no na niektoré účely ich nahradili kontajnery. Každá technológia má však svoje klady a zápory. Správny nástroj pre danú prácu preto závisí od konkrétneho projektu. Tu sú hlavné rozdiely.

1. Virtuálne stroje poskytujú samostatný operačný systém

Vďaka svojmu vlastnému operačnému systému môžu virtuálne stroje vykonávať množstvo úloh, ktoré nie sú možné s kontajnermi.

  • Môžete spustiť programy, ktoré nie sú kompatibilné s hostiteľským OS.
  • Môžete spustiť viacero aplikácií v rôznych operačných systémoch.
  • Môžete spustiť viacero aplikácií, ktoré si nemôžu dovoliť zdieľať funkcie a zdroje operačného systému.

2. Kontajnery sú menšie a prenosnejšie

Zdieľanie operačného systému výrazne znižuje množstvo kódu potrebného na spustenie kontajnera. Kontajnery sú preto výrazne menšie ako virtuálne počítače, často zaberajú len niekoľko megabajtov.

Vďaka tomu sú kontajnery potenciálne oveľa lacnejšie, pretože ich môžete umiestniť viac na jeden server. Vďaka tomu sú kontajnery výrazne prenosnejšie.

Kontajnery možno jednoducho prenášať medzi počítačmi, počítačovými prostrediami a cloudom. Vďaka tomu sú obzvlášť užitočné pre tímy, ktoré chcú spolupracovať na jednej aplikácii pri používaní rôznych prostredí.

3. Kontajnery sa spúšťajú rýchlejšie

Kontajnery môžu byť spustené oveľa rýchlejšie, pretože operačný systém je už spustený, na rozdiel od spustenia virtuálneho počítača, ktorý zahŕňa spustenie nového operačného systému.

Kontajnery sa teda môžu spustiť v priebehu niekoľkých sekúnd, zatiaľ čo virtuálne stroje zvyčajne vyžadujú niekoľko minút.

Keďže kontajnery využívajú menej zdrojov, umožňujú aj rýchlejšie bežanie niektorých aplikácií.

4. Kontajnery majú prístup ku všetkým zdrojom

Virtuálne počítače majú pridelené špecifické zdroje hypervízorom. To môže byť užitočné pre aplikácie náročné na zdroje, ale môže to byť aj neefektívne, keď pridelené zdroje zostanú nevyužité.

Kontajnery majú prístup ku všetkým základným hardvérovým prostriedkom, a preto nepredstavujú tento problém. Výsledkom je, že kontajnery sú zvyčajne lepšou voľbou pre aplikácie, kde potrebné zdroje nie sú známe.

5. Virtuálne stroje sú bezpečnejšie

Virtuálny stroj je úplne izolovaný od všetkého ostatného v počítači. Kontajner je izolovaný iba na úrovni procesu. Vďaka tomu sú virtuálne stroje bezpečnejšie.

Ak je ohrozený hostiteľský operačný systém, môžu byť ohrozené aj všetky kontajnery nainštalované nad ním. V rovnakom scenári by to neovplyvnilo virtuálne počítače.

Zneužitie prebiehajúce vo virtuálnom počítači nemôže ovplyvniť nič mimo neho. Exploit spustený vnútri kontajnera môže potenciálne získať prístup k zvyšku systému.

Mali by ste použiť virtuálny stroj alebo kontajner?

Virtuálne stroje a kontajnery sú si navzájom veľmi podobné, ale nie sú zameniteľné. V dôsledku toho niektoré projekty ponúknu výber medzi týmito dvoma, zatiaľ čo iné nie.

Virtuálny počítač by ste mali používať, ak chcete spúšťať aplikácie, ktoré konkrétne vyžadujú nový operačný systém. Hostiteľský operačný systém napríklad nemusí aplikáciu podporovať.

Virtuálny počítač by sa mal používať aj vtedy, ak má izolácia a bezpečnosť prednosť pred všetkými ostatnými.

Vo väčšine ostatných scenárov poskytne kontajner ľahšie, rýchlejšie a nákladovo efektívnejšie riešenie.

Môžete používať virtuálne stroje a kontajnery spoločne?

Ak chcete funkčnosť virtuálnych počítačov aj kontajnerov, je možné ich kombinovať. V takom prípade spustíte virtuálny počítač a potom do neho nasadíte kontajnery.

To je obzvlášť užitočné z bezpečnostných dôvodov. Predstavte si napríklad, že na jednom počítači spustíte desať kontajnerov. Ak je ohrozený OS tohto počítača, môže to mať vplyv na všetkých desať kontajnerov.

Teraz si predstavte, že týchto desať kontajnerov rozdelíte na viacero virtuálnych počítačov. Ak je jeden z týchto virtuálnych počítačov ohrozený, budú ovplyvnené iba kontajnery v ňom a ostatné budú fungovať ako obvykle.

Nahrádzajú kontajnery virtuálne počítače?

Kontajnery sú stále obľúbenejšie a majú veľmi dobrý dôvod. Dosahujú mnoho rovnakých cieľov ako virtuálne stroje, ale robia to za zlomok veľkosti a potenciálnych nákladov.

Napriek tejto skutočnosti existuje mnoho situácii, keď iba virtuálny počítač poskytne požadovanú funkčnosť, čo znamená, že virtuálne počítače bez ohľadu na ich veľkosť budú vždy do určitej miery využité.

zdieľamTweetujteEmail
Ako nainštalovať Linux do systému Windows pomocou virtuálneho počítača VMware

Chcete si nainštalovať Linux, ale nemôžete opustiť Windows? Skúste na virtuálnom počítači spustiť svoju obľúbenú verziu Linuxu v systéme Windows. Ukážeme vám, ako nastaviť VMware Workstation Player.

Prečítajte si ďalej

Súvisiace témy
  • Technológia vysvetlená
  • VirtualBox
  • Virtuálny prístroj
  • Virtualizácia
  • Webový server
O autorovi
Elliot Nesbo (41 publikovaných článkov)

Elliot je nezávislý technický spisovateľ. Píše predovšetkým o fintech a kybernetickej bezpečnosti.

Viac od Elliota Nesba

prihlásiť sa ku odberu noviniek

Pripojte sa k nášmu bulletinu a získajte technické tipy, recenzie, bezplatné e-knihy a exkluzívne ponuky!

Ak sa chcete prihlásiť na odber, kliknite sem