Ugrás a tartalomra
ITport

Virtuális gép vagy konténer? Döntési szempontok az üzemeltetésben

Mi a különbség a virtuális gép és a konténer között, mikor melyiket érdemes választani, és miért fér meg a kettő egymás mellett egy közepes cég infrastruktúrájában.

Közzétéve: Üzemeltetés

Az üzemeltetési megbeszéléseken ma szinte mindig elhangzik a kérdés: ezt virtuális gépen futtassuk, vagy konténerben? A két technológia nem versenytársa egymásnak, hanem más-más szinten választja szét az alkalmazásokat. Ha értjük a különbséget, a döntés legtöbbször magától adódik.

A lényegi különbség

A virtuális gép (VM) egy teljes számítógépet utánoz: saját operációs rendszert, kernelt és virtuális hardvert kap, a fizikai gépen pedig egy hipervizor osztja szét köztük az erőforrásokat. A konténer ezzel szemben a gazdagép kernelét használja, csak a folyamatokat, a fájlrendszert és a hálózatot választja le a többitől. Ezért a konténer másodpercek alatt indul, és jóval kevesebb memóriát igényel, a VM viszont erősebb elszigetelést ad.

Mikor jobb a virtuális gép?

  • Ha az alkalmazás más operációs rendszert igényel, mint a gazdagép, például Windows-szerver egy linuxos környezetben.
  • Régi, monolitikus szoftvereknél, amelyeket egy teljes szerverre terveztek, és nem lehet szétbontani.
  • Ha szigorú elszigetelés kell különböző ügyfelek vagy biztonsági szintek között.
  • Ha a szállító csak egy adott operációs rendszeren és verzión támogatja a terméket.

Mikor jobb a konténer?

  • Saját fejlesztésű, gyakran frissülő webes alkalmazásoknál, ahol ugyanaz a csomag fut a fejlesztői gépen, a tesztkörnyezetben és élesben.
  • Ha az alkalmazás kisebb, egymástól független szolgáltatásokból áll.
  • Ha a terhelés ingadozik, és gyorsan kell példányokat indítani vagy leállítani.

Vegyes környezet a gyakorlatban

Egy közepes cégnél a leggyakoribb felállás, hogy a konténerek is virtuális gépeken futnak. A VM-réteg adja a stabil, jól menthető alapot és az elszigetelést, a konténerek pedig a gyors telepítést. A könyvelő- vagy vállalatirányítási rendszer jellemzően saját VM-en marad, a belső webes eszközök és API-k pedig konténerekben futnak.

Amire a döntés előtt figyeljünk

A konténerek kezelése új tudást igényel: képek (image) építését, egy registry üzemeltetését, nagyobb méretben orkesztrációt. Ha a csapatban nincs erre kapacitás, egy jól karbantartott VM-park sokszor olcsóbb megoldás. A mentést is másképp kell gondolni: a konténer maga eldobható, ezért az adatokat tároló köteteket és adatbázisokat kell külön, rendszeresen menteni.