Co je to virtuální stroj? (Proč a kdy jej používat)

Pokud pracujete v softwarovém průmyslu nebo v jeho okolí, pravděpodobně jste slyšeli o virtuálních strojích. Pokud ne, možná se ptáte, co to je a k čemu slouží.

Jako softwarový inženýr používám virtuální stroje denně. Jsou to silné nástroje při vývoji softwaru, ale mají i jiné využití. Také známé jako virtuální počítače je mnoho podniků používá kvůli jejich flexibilitě, spolehlivosti a hospodárnosti; také zabraňují katastrofám způsobeným nekontrolovaným testováním softwaru.

Pojďme se podívat na to, co jsou virtuální stroje a proč se používají.

Co je to virtuální stroj?

Virtuální počítač je instance operačního systému (OS), jako je Windows, Mac OS nebo Linux běžící v hlavním OS počítače.

Obvykle se spouští v okně aplikace na ploše. Virtuální stroj má plnou funkčnost a chová se jako samostatný počítač nebo stroj. Virtuální stroj je v podstatě virtuální počítač běžící uvnitř jiného počítače známého jako hostitelský stroj.

Virtuální stroj 1
Obrázek 1: Virtuální stroj běžící na notebooku.

Virtuální počítač nemá hardware (paměť, pevný disk, klávesnici nebo monitor). Využívá simulovaný hardware z hostitelského počítače. Z tohoto důvodu lze na jednom hostitelském počítači provozovat více virtuálních počítačů, označovaných také jako „hosté“.

Virtuální stroj 2
Obrázek 2: Hostitelský počítač s více virtuálními počítači.

Hostitel může také provozovat více virtuálních počítačů s různými operačními systémy, včetně Linuxu, Mac OS a Windows. Tato schopnost závisí na softwaru zvaném hypervizor (viz obrázek 1 výše). Hypervizor běží na hostitelském počítači a umožňuje vám vytvářet, konfigurovat, spouštět a spravovat virtuální stroje.

Hypervizor přiděluje místo na disku, plánuje čas zpracování a spravuje využití paměti pro každý virtuální počítač. To je to, co aplikace jako Oracle VirtualBox, VMware, Parallels, Xen, Microsoft Hyper-V a mnoho dalších ano: jsou to hypervizory.

Hypervizor může běžet na notebooku, PC nebo serveru. Zpřístupňuje virtuální stroje místnímu počítači nebo uživatelům distribuovaným v síti.

Různé typy virtuálních strojů a prostředí vyžadují různé typy hypervizorů. Pojďme se na některé z nich podívat.

Typy virtuálních strojů

Systémové virtuální stroje

Systémové virtuální počítače, někdy nazývané úplná virtualizace, jsou provozovány hypervizorem a poskytují funkce skutečného počítačového systému. Ke správě a sdílení systémových prostředků používají nativní operační systém hostitele.

Systémové virtuální stroje často vyžadují výkonného hostitele s rychlými nebo více procesory, velkým množstvím paměti a spoustou místa na disku. Některé, které běží na osobních nebo přenosných počítačích, nemusí vyžadovat výpočetní výkon, který potřebují velké podnikové virtuální servery; Pokud však hostitelský systém není adekvátní, poběží pomalu.

Zpracujte virtuální stroje

Process Virtual Machines se zcela liší od SVM – můžete je mít na svém počítači spuštěné a ani o tom nevíte. Jsou také známé jako aplikační virtuální stroje nebo spravovaná běhová prostředí (MRE). Tyto virtuální stroje běží uvnitř hostitelského operačního systému a podporují aplikace nebo systémové procesy.

Proč používat PVM? Poskytují služby, aniž by byly závislé na konkrétních operačních systémech nebo hardwaru. Mají svůj vlastní malý OS pouze s prostředky, které potřebují. MRE je v odděleném prostředí; nezáleží na tom, zda běží na Windows, Mac OS, Linux nebo na jakémkoli jiném hostitelském počítači.

Jeden z nejběžnějších virtuálních strojů Process je ten, o kterém jste pravděpodobně slyšeli a možná jste jej viděli spuštěný na vašem počítači. Používá se ke spouštění aplikací Java a nazývá se zkráceně Java Virtual Machine nebo JVM.

Typy hypervizorů

Většina virtuálních strojů, kterými se zabýváme, používá hypervizor, protože emulují celý počítačový systém. Existují dva různé typy hypervizorů: holé kovové hypervizory a hostované hypervizory. Pojďme se na oba v rychlosti podívat.

Bare Metal Hypervisor

BMH mohou být také nazývány nativními hypervizory a běží přímo na hardwaru hostitele místo toho, aby běžely v operačním systému hostitele. Ve skutečnosti nahrazují operační systém hostitele, plánují a spravují využití hardwaru každým virtuálním strojem, čímž v procesu odstraňují „prostředníka“ (OS hostitele).

Nativní hypervizory se běžně používají pro velké podnikové virtuální počítače, které společnosti používají k poskytování serverových prostředků zaměstnancům. Microsoft Azure nebo Amazon Web Services jsou virtuální počítače hostované na tomto typu architektury. Dalšími příklady jsou KVM, Microsoft Hyper-V a VMware vSphere.

Hostovaný hypervizor

Hostované hypervizory běží na standardních operačních systémech – stejně jako jakákoli jiná aplikace, kterou provozujeme na našich počítačích. Ke správě a distribuci zdrojů používají operační systém hostitele. Tento typ hypervizoru je vhodnější pro jednotlivé uživatele, kteří potřebují na svých počítačích provozovat více operačních systémů.

Patří mezi ně aplikace jako Oracle VirtualBox, VMware Workstations, VMware Fusion, Parallels Desktop a mnoho dalších. Podrobnější informace o hostovaných hypervizorech najdete v našem článku, Nejlepší software pro virtuální stroje.

Proč používat virtuální stroje?

Nyní, když máte základní představu o tom, co je virtuální stroj, pravděpodobně vás napadnou některé vynikající aplikace. Zde jsou některé z hlavních důvodů, proč lidé používají virtuální stroje.

1. Nákladově efektivní

Virtuální stroje jsou v mnoha situacích nákladově efektivní. Jeden z nejvýznamnějších je v korporátním světě. Používání fyzických serverů k poskytování zdrojů pro zaměstnance může být velmi nákladné. Hardware není levný a jeho údržba je ještě nákladnější.

Používání virtuálních strojů jako podnikových serverů se nyní stalo normou. S virtuálními počítači od poskytovatele, jako je MS Azure, neexistují žádné počáteční nákupy hardwaru a žádné poplatky za údržbu. Tyto virtuální počítače lze nastavit, nakonfigurovat a používat za pouhé haléře za hodinu. Mohou být také vypnuty, když se nepoužívají a nevyžadují vůbec žádné náklady.

Použití virtuálního počítače na vašem počítači může také výrazně ušetřit peníze. Pokud potřebujete pracovat ve více operačních systémech nebo v různých hardwarových konfiguracích, můžete
používat více virtuálních strojů na jednom hostiteli – není třeba kupovat pro každý úkol samostatný počítač.

2. Škálovatelné a flexibilní

Ať už se jedná o podnikové servery nebo virtuální počítače běžící na vašem notebooku, virtuální stroje jsou škálovatelné. Je snadné upravit zdroje tak, aby vyhovovaly vašim potřebám. Pokud potřebujete více paměti nebo místa na pevném disku, stačí přejít do hypervizoru a překonfigurovat virtuální počítač tak, aby měl více. Není třeba kupovat nový hardware a proces lze dokončit rychle.

3. Rychlé nastavení

Nový VM lze rychle nastavit. Měl jsem případy, kdy jsem potřeboval nové nastavení virtuálního počítače, zavolal jsem svému spolupracovníkovi, který je spravuje, a měl je připravené k použití za méně než hodinu.

4. Obnova po katastrofě

Pokud se snažíte zabránit ztrátě dat a připravit se na obnovu po havárii, virtuální počítače mohou být skvělým nástrojem. Lze je snadno zálohovat a v případě potřeby je lze distribuovat na různá místa. Pokud třetí strana, jako je Microsoft nebo Amazon, hostuje virtuální stroje, budou mimo pracoviště – což znamená, že vaše data jsou v bezpečí, pokud vaše kancelář shoří.

5. Snadná reprodukovatelnost

Většina hypervizorů umožňuje vytvořit kopii nebo obraz virtuálního počítače. Imaging vám umožní snadno vytvořit přesné reprodukce stejného základního VM pro každou situaci.

V prostředí, ve kterém pracuji, dáváme každému vývojáři virtuální počítač, který může používat pro vývoj a testování. Tento proces nám umožňuje mít obraz nakonfigurovaný se všemi potřebnými nástroji a softwarem. Když zaregistrujeme nového vývojáře, stačí udělat kopii tohoto obrázku a oni mají to, co potřebují, aby mohli pracovat.

6. Perfektní pro Dev/Test

Jednou z nejlepších výhod používání virtuálních strojů je, že jsou dokonalým nástrojem pro vývoj a testování softwaru. Virtuální počítače umožňují vývojářům vyvíjet na více platformách a prostředích na jednom počítači. Pokud se tento virtuální počítač poškodí nebo zničí, lze rychle vytvořit nový.

Umožňují testeru mít čisté nové prostředí pro každý testovací cyklus. Pracoval jsem na projektech, kde jsme nastavili automatizované testovací skripty, které vytvoří nový VM, nainstalují nejnovější verzi softwaru, spustí všechny požadované testy a poté, co testy dokončí, VM odstraníme.

Virtuální počítače fungují skvěle při testování produktů a recenzích, jako jsou ty, které děláme zde na TechFewer.com. Mohu instalovat aplikace do virtuálního počítače běžícího na mém počítači a testovat je, aniž bych zaplňoval své primární prostředí.

Po dokončení testování mohu virtuální počítač vždy smazat a poté vytvořit nový, když jej budu potřebovat. Tento proces mi také umožňuje testovat na více platformách, i když mám pouze počítač s Windows.

Závěrečná slova

Jak vidíte, virtuální stroje jsou nákladově efektivní, všestranný nástroj, který lze použít pro mnoho aplikací. Již nemusíme kupovat, nastavovat a udržovat drahý hardware, abychom testerům, vývojářům a dalším poskytovali přístup k serveru. Virtuální počítače nám poskytují flexibilitu pro snadné a rychlé vytváření operačních systémů, hardwaru a prostředí, které potřebujeme – kdykoli.