Obsah
Ak pracujete v softvérovom priemysle alebo v jeho okolí, pravdepodobne ste už počuli o virtuálnych počítačoch. Ak nie, možno vás zaujíma, čo sú a na čo sa používajú.
Ako softvérový inžinier denne používam virtuálne počítače. Sú to silné nástroje pri vývoji softvéru, ale majú aj iné využitie. Mnohé podniky ich používajú aj pod názvom virtuálne počítače, pretože sú flexibilné, spoľahlivé a cenovo výhodné; zabraňujú aj katastrofám spôsobeným spusteným testovaním softvéru.
Pozrime sa na to, čo sú to virtuálne počítače a prečo sa používajú.
Čo je to virtuálny počítač?
Virtuálny počítač je inštancia operačného systému (OS), napríklad Windows, Mac OS alebo Linux, ktorá beží v rámci hlavného OS počítača.
Zvyčajne beží v okne aplikácie na pracovnej ploche. Virtuálny počítač má plnú funkcionalitu a správa sa ako samostatný počítač alebo stroj. Virtuálny počítač je v podstate virtuálny počítač, ktorý beží v inom počítači známom ako hostiteľský počítač.
Obrázok 1: Virtuálny počítač spustený na prenosnom počítači.
Virtuálny počítač nemá hardvér (pamäť, pevný disk, klávesnicu alebo monitor). Používa simulovaný hardvér z hostiteľského počítača. Z tohto dôvodu možno na jednom hostiteľskom počítači spustiť viacero virtuálnych počítačov, označovaných aj ako "hostia".
Obrázok 2: Hostiteľský počítač s viacerými virtuálnymi počítačmi.
Na hostiteľskom počítači môže bežať aj viacero virtuálnych počítačov s rôznymi operačnými systémami vrátane Linuxu, Mac OS a Windows. Táto schopnosť závisí od softvéru nazývaného hypervisor (pozri obrázok 1 vyššie). Hypervisor beží na hostiteľskom počítači a umožňuje vytvárať, konfigurovať, spúšťať a spravovať virtuálne počítače.
Hypervízor prideľuje diskový priestor, plánuje čas spracovania a spravuje využitie pamäte pre každý virtuálny počítač. Toto robia aplikácie ako Oracle VirtualBox, VMware, Parallels, Xen, Microsoft Hyper-V a mnohé ďalšie: sú to hypervízory.
Hypervízor môže bežať na prenosnom počítači, počítači alebo serveri. Sprístupňuje virtuálne počítače miestnemu počítaču alebo používateľom distribuovaným v sieti.
Rôzne typy virtuálnych počítačov a prostredí si vyžadujú rôzne typy hypervízorov. Pozrime sa na niektoré z nich.
Typy virtuálnych strojov
Systémové virtuálne stroje
Systémové virtuálne počítače, niekedy nazývané úplná virtualizácia, sú spúšťané hypervízorom a poskytujú funkcie skutočného počítačového systému. Na správu a zdieľanie systémových prostriedkov používajú pôvodný operačný systém hostiteľa.
Systémové virtuálne počítače často vyžadujú výkonného hostiteľa s rýchlymi alebo viacerými procesormi, veľkým množstvom pamäte a množstvom diskového priestoru. Niektoré z nich, ktoré bežia na osobných alebo prenosných počítačoch, nemusia vyžadovať taký výpočtový výkon, aký potrebujú veľké podnikové virtuálne servery; ak však hostiteľský systém nie je dostatočný, budú pracovať pomaly.
Spracovanie virtuálnych strojov
Procesné virtuálne stroje sú úplne odlišné od SVM - možno ich máte spustené na svojom počítači a ani o tom neviete. Sú známe aj ako aplikačné virtuálne stroje alebo riadené bežiace prostredia (MRE). Tieto virtuálne stroje bežia vo vnútri hostiteľského operačného systému a podporujú aplikácie alebo systémové procesy.
Prečo používať PVM? Vykonávajú služby bez závislosti od konkrétnych operačných systémov alebo hardvéru. Majú svoj vlastný malý operačný systém len s tými zdrojmi, ktoré potrebujú. MRE je v samostatnom prostredí; nezáleží na tom, či beží na systéme Windows, Mac OS, Linuxe alebo inom hostiteľskom počítači.
Jedným z najbežnejších procesných virtuálnych strojov je ten, o ktorom ste už pravdepodobne počuli a možno ste ho videli bežať na svojom počítači. Používa sa na spúšťanie aplikácií Java a nazýva sa Java Virtual Machine alebo skrátene JVM.
Typy hypervízorov
Väčšina virtuálnych počítačov, ktorými sa zaoberáme, používa hypervízor, pretože emulujú celý počítačový systém. Existujú dva rôzne typy hypervízorov: Bare Metal Hypervisors a Hosted Hypervisors. Pozrime sa na oba typy hypervízorov.
Hypervízor Bare Metal
BMH sa môžu nazývať aj natívne hypervízory a bežia priamo na hardvéri hostiteľa namiesto toho, aby boli spustené v rámci operačného systému hostiteľa. V skutočnosti nahrádzajú operačný systém hostiteľa, plánujú a riadia používanie hardvéru každým virtuálnym počítačom, čím sa odstráni "prostredník" (operačný systém hostiteľa).
Natívne hypervízory sa zvyčajne používajú pre veľké podnikové virtuálne počítače, ktoré spoločnosti používajú na poskytovanie serverových zdrojov zamestnancom. Microsoft Azure alebo Amazon Web Services sú virtuálne počítače hostované na tomto type architektúry. Ďalšími príkladmi sú KVM, Microsoft Hyper-V a VMware vSphere.
Hostovaný hypervízor
Hostované hypervízory bežia na štandardných operačných systémoch - rovnako ako všetky ostatné aplikácie, ktoré spúšťame na svojich počítačoch. Na správu a distribúciu zdrojov využívajú operačný systém hostiteľa. Tento typ hypervízora je vhodnejší pre jednotlivých používateľov, ktorí potrebujú na svojich počítačoch spustiť viacero operačných systémov.
Patria sem aplikácie ako Oracle VirtualBox, VMware Workstations, VMware Fusion, Parallels Desktop a mnohé ďalšie. Podrobnejšie informácie o hostovaných hypervízoroch nájdete v našom článku Najlepší softvér pre virtuálne počítače.
Prečo používať virtuálne stroje?
Teraz, keď už máte základnú predstavu o tom, čo je to virtuálny počítač, si pravdepodobne dokážete predstaviť niekoľko vynikajúcich aplikácií. Tu sú niektoré z hlavných dôvodov, prečo ľudia používajú virtuálne počítače.
1. Nákladovo efektívne
Virtuálne počítače sú nákladovo efektívne v mnohých situáciách. Jednou z najvýznamnejších je situácia vo firemnom svete. Používanie fyzických serverov na poskytovanie zdrojov pre zamestnancov môže byť veľmi nákladné. Hardvér nie je lacný a jeho údržba je ešte nákladnejšia.
Používanie virtuálnych počítačov ako podnikových serverov sa stalo normou. S virtuálnymi počítačmi od poskytovateľa, ako je MS Azure, nie je potrebné kupovať počiatočný hardvér ani platiť poplatky za údržbu. Tieto virtuálne počítače možno nastaviť, konfigurovať a používať len za pár centov za hodinu. Keď sa nepoužívajú, možno ich aj vypnúť a nevznikajú žiadne náklady.
Používanie virtuálneho počítača na vašom počítači môže byť aj veľkou úsporou peňazí. Ak potrebujete pracovať vo viacerých operačných systémoch alebo rôznych hardvérových konfiguráciách, môžete
používať viacero virtuálnych počítačov na jednom hostiteľovi - nie je potrebné kupovať samostatný počítač pre každú úlohu.
2. Škálovateľnosť a flexibilita
Virtuálne počítače sú škálovateľné bez ohľadu na to, či ide o podnikové servery alebo virtuálne počítače bežiace na vašom notebooku. Je jednoduché upraviť zdroje podľa vašich potrieb. Ak potrebujete viac pamäte alebo miesta na pevnom disku, stačí vstúpiť do hypervízora a prekonfigurovať virtuálny počítač tak, aby mal viac. Nie je potrebné kupovať nový hardvér a tento proces sa dá dokončiť rýchlo.
3. Rýchle nastavenie
Nový virtuálny počítač sa dá nastaviť rýchlo. Stalo sa mi, že som potreboval nastaviť nový virtuálny počítač, zavolal som kolegovi, ktorý ich spravuje, a za menej ako hodinu som ho mal pripravený na používanie.
4. Obnova po havárii
Ak sa snažíte zabrániť strate údajov a pripraviť sa na obnovu po havárii, virtuálne počítače môžu byť skvelým nástrojom. Ľahko sa zálohujú a v prípade potreby ich možno rozmiestniť na rôznych miestach. Ak virtuálne počítače hostí tretia strana, ako napríklad Microsoft alebo Amazon, budú mimo lokality - čo znamená, že vaše údaje sú v bezpečí, ak vám zhorí kancelária.
5. Jednoduchá reprodukcia
Väčšina hypervízorov umožňuje vytvoriť kópiu alebo obraz virtuálneho počítača. Zobrazovanie umožňuje jednoducho vytvoriť presné reprodukcie toho istého základného virtuálneho počítača pre každú situáciu.
V prostredí, v ktorom pracujem, poskytujeme každému vývojárovi virtuálny počítač, ktorý používa na vývoj a testovanie. Tento proces nám umožňuje mať nakonfigurovaný obraz so všetkými potrebnými nástrojmi a softvérom. Keď máme nového vývojára, stačí vytvoriť kópiu tohto obrazu a má všetko, čo potrebuje na začatie práce.
6. Perfektné pre Dev/Test
Jednou z najlepších výhod používania virtuálnych počítačov je, že sú dokonalým nástrojom na vývoj a testovanie softvéru. Virtuálne počítače umožňujú vývojárom vyvíjať na viacerých platformách a prostrediach na jednom počítači. Ak sa tento virtuálny počítač poškodí alebo zničí, možno rýchlo vytvoriť nový.
Umožňujú testerovi mať pri každom testovacom cykle k dispozícii nové čisté prostredie. Pracoval som na projektoch, kde sme nastavili automatizované testovacie skripty, ktoré vytvorili nový virtuálny počítač, nainštalovali najnovšiu verziu softvéru, spustili všetky požadované testy a po ich dokončení virtuálny počítač vymazali.
Virtuálne počítače vynikajúco fungujú pri testovaní produktov a recenziách, aké robíme tu na SoftwareHow.com. Môžem inštalovať aplikácie do virtuálneho počítača spusteného na mojom počítači a testovať ich bez toho, aby som si zahltil svoje primárne prostredie.
Po skončení testovania môžem virtuálny počítač vždy vymazať a potom vytvoriť nový, keď ho budem potrebovať. Tento postup mi tiež umožňuje testovať na viacerých platformách, aj keď mám len počítač so systémom Windows.
Záverečné slová
Ako vidíte, virtuálne počítače sú nákladovo efektívny a všestranný nástroj, ktorý sa dá použiť na mnohé aplikácie. Už nemusíme kupovať, nastavovať a udržiavať drahý hardvér, aby sme poskytli prístup k serverom pre testerov, vývojárov a iných. Virtuálne počítače nám umožňujú jednoducho a rýchlo vytvoriť operačné systémy, hardvér a prostredia, ktoré potrebujeme - kedykoľvek.