Mi az a virtuális gép? (Miért és mikor érdemes használni)

Ha a szoftveriparban vagy annak környékén dolgozik, valószínűleg hallott már a virtuális gépekről. Ha nem, akkor kíváncsi lehet, mik ezek, és mire használják őket.

Szoftvermérnökként naponta használom a virtuális gépeket. Hatékony eszközök a szoftverfejlesztésben, de más célra is használhatók. Más néven virtuális gépek, sok vállalkozás használja őket rugalmasságuk, megbízhatóságuk és költséghatékonyságuk miatt; megakadályozzák az elszabadult szoftvertesztek okozta katasztrófákat is.

Nézzük meg, mik azok a virtuális gépek, és miért használják őket.

Mi az a virtuális gép?

A virtuális gép egy operációs rendszer (OS), például Windows, Mac OS vagy Linux példánya, amely a számítógép fő operációs rendszerén belül fut.

Általában az asztalon lévő alkalmazásablakban fut. A virtuális gépek teljes funkcionalitással rendelkeznek, és úgy viselkednek, mint egy különálló számítógép vagy gép. Lényegében a virtuális gép egy olyan virtuális számítógép, amely egy másik számítógépen belül fut, a gazdagépként ismert.

Virtuális gép 1
1. kép: Laptopon futó virtuális gép.

A virtuális gépek nem rendelkeznek hardverrel (memória, merevlemez, billentyűzet vagy monitor). A gazdagéptől származó szimulált hardvert használ. Emiatt több virtuális gép, más néven „vendég”, futtatható egyetlen gazdagépen.

Virtuális gép 2
2. kép: Több virtuális gépet futtató gazdagép.

A gazdagép több virtuális gépet is futtathat különböző operációs rendszerekkel, beleértve a Linuxot, a Mac OS-t és a Windowst. Ez a képesség a hypervisor nevű szoftvertől függ (lásd a fenti 1. képet). A hypervisor a gazdagépen fut, és lehetővé teszi virtuális gépek létrehozását, konfigurálását, futtatását és kezelését.

A hypervisor lemezterületet foglal le, ütemezi a feldolgozási időt, és kezeli a memóriahasználatot minden egyes virtuális géphez. Ilyen alkalmazások például az Oracle VirtualBox, VMware, Parallels, Xen, Microsoft Hyper-V és még sokan mások: ezek hipervizorok.

A hipervizor futhat laptopon, PC-n vagy szerveren. A virtuális gépeket elérhetővé teszi a helyi számítógép vagy a hálózaton keresztül elosztott felhasználók számára.

A különböző típusú virtuális gépek és környezetek különböző típusú hipervizorokat igényelnek. Nézzünk meg néhányat ezek közül.

A virtuális gépek típusai

Rendszer virtuális gépek

A rendszer virtuális gépeket, amelyeket néha teljes virtualizációnak is neveznek, egy hipervizor futtatja, és egy tényleges számítógépes rendszer funkcióit biztosítják. A gazdagép natív operációs rendszerét használják a rendszererőforrások kezelésére és megosztására.

A rendszer virtuális gépei gyakran nagy teljesítményű gazdagépet igényelnek gyors vagy több CPU-val, nagy mennyiségű memóriával és rengeteg lemezterülettel. Egyesek, amelyek személyi vagy laptop számítógépeken futnak, nem feltétlenül igényelnek olyan számítási teljesítményt, amelyre a nagyvállalati virtuális szervereknek szüksége van; azonban lassan futnak, ha a gazdagép rendszer nem megfelelő.

Virtuális gépek feldolgozása

A Process Virtual Machines nagyon különbözik az SVM-ektől – előfordulhat, hogy futnak a gépén, és nem is tud róla. Alkalmazási virtuális gépeknek vagy felügyelt futásidejű környezeteknek (MRE) is ismertek. Ezek a virtuális gépek egy gazdagép operációs rendszeren belül futnak, és támogatják az alkalmazásokat vagy a rendszerfolyamatokat.

Miért érdemes PVM-t használni? Szolgáltatásokat nyújtanak anélkül, hogy egy adott operációs rendszertől vagy hardvertől függnének. Saját kis operációs rendszerük van, csak a szükséges erőforrásokkal. Az MRE külön környezetben van; nem számít, hogy Windows, Mac OS, Linux vagy bármely más gazdagépen fut.

Az egyik legelterjedtebb Process Virtual Machine olyan, amelyről valószínűleg hallottál, és láthattad, hogy fut a számítógépeden. Java alkalmazások futtatására szolgál, és röviden Java Virtual Machine-nek vagy JVM-nek hívják.

A hipervizorok típusai

A legtöbb virtuális gép, amellyel foglalkozunk, hipervizort használ, mert egy teljes számítógéprendszert emulál. Két különböző típusú hipervizor létezik: Bare Metal Hypervisor és Hosted Hypervisor. Vessünk egy pillantást mindkettőre.

Bare Metal Hypervisor

A BMH-kat natív hipervizoroknak is nevezhetjük, és közvetlenül a gazdagép hardverén futnak, ahelyett, hogy a gazdagép operációs rendszerén belül futnának. Valójában a gazdagép operációs rendszerének helyét veszik át, ütemezve és kezelve az egyes virtuális gépek hardverhasználatát, így kiiktatva a „középembert” (a gazdagép operációs rendszerét).

A natív hipervizorokat általában nagyvállalati virtuális gépekhez használják, amelyeket a vállalatok az alkalmazottak szerver-erőforrásokkal való ellátására használnak. A Microsoft Azure vagy az Amazon Web Services az ilyen típusú architektúrán tárolt virtuális gépek. További példák a KVM, a Microsoft Hyper-V és a VMware vSphere.

Hosted Hypervisor

A hosztolt hipervizorok szabványos operációs rendszereken futnak – akárcsak bármely más alkalmazás, amelyet a gépeinken futtatunk. A gazdagép operációs rendszerét használják az erőforrások kezelésére és elosztására. Ez a típusú hipervizor jobban megfelel azoknak az egyéni felhasználóknak, akiknek több operációs rendszert kell futtatniuk a gépeiken.

Ide tartoznak az olyan alkalmazások, mint az Oracle VirtualBox, VMware Workstations, VMware Fusion, Parallels Desktop és még sok más. A hosztolt hipervizorokról részletesebb információkat talál cikkünkben, A legjobb virtuális gép szoftver.

Miért használjunk virtuális gépeket?

Most, hogy már rendelkezik alapvető ismeretekkel arról, hogy mi a virtuális gép, valószínűleg eszébe jut néhány kiváló alkalmazás. Íme néhány fő ok, amiért az emberek virtuális gépeket használnak.

1. Költséghatékony

A virtuális gépek számos helyzetben költséghatékonyak. Az egyik legkiemelkedőbb a vállalati világban. A fizikai szerverek használata az alkalmazottak erőforrásainak biztosítására nagyon költséges lehet. A hardver nem olcsó, karbantartása pedig még költségesebb.

A virtuális gépek vállalati szerverként való használata mára normává vált. Egy olyan szolgáltatótól származó virtuális gépekkel, mint az MS Azure, nincs kezdeti hardvervásárlás és karbantartási díj sem. Ezek a virtuális gépek óránként mindössze fillérekért beállíthatók, konfigurálhatók és használhatók. Használaton kívül is lekapcsolhatók, és egyáltalán nem járnak költségekkel.

Ha virtuális gépet használ a gépén, az is hatalmas pénzmegtakarítást jelenthet. Ha több operációs rendszerben vagy különböző hardverkonfigurációban kell dolgoznia, megteheti
használjon több virtuális gépet egy gazdagépen – nem kell külön számítógépet vásárolnia minden feladathoz.

2. Skálázható és rugalmas

Legyen szó vállalati szerverekről vagy a laptopon futó virtuális gépekről, a virtuális gépek méretezhetők. Könnyen beállíthatja az erőforrásokat az Ön igényeihez. Ha több memóriára vagy merevlemez-területre van szüksége, egyszerűen lépjen be a hypervisorba, és konfigurálja újra a virtuális gépet, hogy több legyen. Nincs szükség új hardver vásárlására, és a folyamat gyorsan végrehajtható.

3. Gyors beállítás

Gyorsan beállítható egy új virtuális gép. Voltak olyan eseteim, amikor új virtuális gép-beállításra volt szükségem, felhívtam a munkatársamat, aki kezeli őket, és kevesebb mint egy órán belül használatra készen álltam.

4. Katasztrófa utáni helyreállítás

Ha megpróbálja megelőzni az adatvesztést és felkészülni a katasztrófa utáni helyreállításra, a virtuális gépek nagyszerű eszközt jelenthetnek. Könnyen menthetők, és szükség esetén különböző helyekre oszthatók. Ha egy harmadik fél, például a Microsoft vagy az Amazon üzemelteti a virtuális gépeket, azok a helyszínen kívül lesznek – ami azt jelenti, hogy adatai biztonságban vannak, ha az iroda leég.

5. Könnyen reprodukálható

A legtöbb hypervisor lehetővé teszi egy virtuális gép másolatának vagy képének készítését. A képalkotás lehetővé teszi, hogy bármilyen helyzethez könnyedén elkészítse ugyanazon alap virtuális gép pontos másolatait.

Abban a környezetben, amelyben dolgozom, minden fejlesztőnek adunk egy virtuális gépet fejlesztésre és tesztelésre. Ez a folyamat lehetővé teszi számunkra, hogy egy képet konfiguráljunk az összes szükséges eszközzel és szoftverrel. Amikor egy új fejlesztő jelentkezik be, mindössze annyit kell tennünk, hogy másolatot készítünk erről a képről, és megkapják, amire szükségük van a munkához.

6. Tökéletes fejlesztéshez/teszthez

A virtuális gépek használatának egyik legjobb előnye, hogy tökéletes eszközt jelentenek szoftverfejlesztéshez és teszteléshez. A virtuális gépek lehetővé teszik a fejlesztők számára, hogy egy gépen több platformon és környezetben fejlesszenek. Ha a virtuális gép megsérül vagy megsemmisül, gyorsan létrehozható egy új.

Lehetővé teszik a tesztelő számára, hogy tiszta, új környezetet kapjon minden tesztciklushoz. Dolgoztam olyan projekteken, ahol automatizált tesztszkripteket állítunk be, amelyek új virtuális gépet hoznak létre, telepítjük a legújabb szoftververziót, lefuttatjuk az összes szükséges tesztet, majd a tesztek befejeződése után töröljük a virtuális gépet.

A virtuális gépek kiválóan működnek a termékteszteléseknél és az olyan felülvizsgálatoknál, mint amilyeneket itt, a TechFewer.com-on végezünk. Telepíthetek alkalmazásokat a gépemen futó virtuális gépre, és tesztelhetem őket anélkül, hogy az elsődleges környezetemet összezavarnám.

Amikor befejeztem a tesztelést, bármikor törölhetem a virtuális gépet, majd létrehozhatok egy újat, amikor szükségem van rá. Ez a folyamat azt is lehetővé teszi, hogy több platformon teszteljek, annak ellenére, hogy csak Windows gépem van.

Utószó

Mint látható, a virtuális gépek költséghatékony, sokoldalú eszköz, amely számos alkalmazáshoz használható. Többé nem kell drága hardvert vásárolnunk, beállítani és karbantartani, hogy szerver-hozzáférést biztosítsunk a tesztelők, fejlesztők és mások számára. A virtuális gépek rugalmasságot biztosítanak számunkra, hogy egyszerűen és gyorsan létrehozzuk a szükséges operációs rendszereket, hardvert és környezeteket – bármikor.