Sisukord
Kui te töötate tarkvaratööstuses või selle läheduses, olete tõenäoliselt kuulnud virtuaalmasinatest. Kui mitte, siis võite küsida, mis need on ja milleks neid kasutatakse.
Tarkvarainsenerina kasutan ma virtuaalmasinaid iga päev. Need on võimsad vahendid tarkvaraarenduses, kuid neil on ka muid kasutusvõimalusi. Paljud ettevõtted kasutavad neid ka VM-idena, sest nad on paindlikud, usaldusväärsed ja kulutõhusad; nad hoiavad ära ka katastroofid, mis tulenevad tarkvara testimisest.
Vaatame, mis on virtuaalmasinad ja miks neid kasutatakse.
Mis on virtuaalne masin?
Virtuaalmasin on operatsioonisüsteemi (OS), näiteks Windowsi, Mac OSi või Linuxi instants, mis töötab arvuti põhilises operatsioonisüsteemis.
Tavaliselt töötab see teie töölaual asuvas rakendusaknas. Virtuaalmasinal on täielik funktsionaalsus ja see toimib nagu eraldi arvuti või masin. Sisuliselt on virtuaalmasin virtuaalne arvuti, mis töötab teise arvuti sees, mida nimetatakse vastuvõtvaks masinaks.
Pilt 1: Sülearvutis töötav virtuaalmasin.
Virtuaalmasinal ei ole riistvara (mälu, kõvaketas, klaviatuur või monitor). See kasutab peremeesmasina simuleeritud riistvara. Seetõttu saab ühes peremeesmasinas käivitada mitu VM-i, mida nimetatakse ka "külalisteks".
Pilt 2: Host-masin, millel töötab mitu VM-i.
Samuti saab hostil käivitada mitu VM-i erinevate operatsioonisüsteemidega, sealhulgas Linux, Mac OS ja Windows. See võime sõltub tarkvarast, mida nimetatakse hüperviisoriks (vt pilt 1 eespool). Hüperviisor töötab hostimasinas ja võimaldab luua, konfigureerida, käivitada ja hallata virtuaalmasinaid.
Hüperviisor jagab kettaruumi, planeerib töötlemisaega ja haldab iga VM-i mälukasutust. Seda teevad sellised rakendused nagu Oracle VirtualBox, VMware, Parallels, Xen, Microsoft Hyper-V ja paljud teised: nad on hüperviisorid.
Hüperviisor võib töötada sülearvutis, arvutis või serveris. See teeb virtuaalmasinad kättesaadavaks kohalikule arvutile või üle võrgu hajutatud kasutajatele.
Erinevat tüüpi virtuaalmasinad ja keskkonnad nõuavad erinevat tüüpi hüperviisoreid. Vaatleme mõningaid neist.
Virtuaalmasinate tüübid
Süsteemi virtuaalsed masinad
Süsteemi VM-d, mida mõnikord nimetatakse täielikuks virtualiseerimiseks, käivitatakse hüperviisori abil ja need pakuvad tegeliku arvutisüsteemi funktsionaalsust. Nad kasutavad süsteemi ressursside haldamiseks ja jagamiseks peremehe omamaist operatsioonisüsteemi.
Süsteemi virtuaalmasinad vajavad sageli võimsat vastuvõtjat, millel on kiire või mitu protsessorit, suur kogus mälu ja palju kettaruumi. Mõned, mis töötavad personaal- või sülearvutitel, ei pruugi nõuda arvutusvõimsust, mida vajavad suured ettevõtte virtuaalserverid; siiski töötavad nad aeglaselt, kui vastuvõtja süsteem ei ole piisav.
Protsessi virtuaalsed masinad
Protsessi virtuaalmasinad erinevad SVMidest - need võivad teie masinas töötada ja te isegi ei tea sellest. Neid tuntakse ka rakenduse virtuaalmasinatena või hallatud tööajakeskkondadena (MRE). Need virtuaalmasinad töötavad vastuvõtva operatsioonisüsteemi sees ja toetavad rakendusi või süsteemiprotsesse.
Miks kasutada PVM-i? Nad osutavad teenuseid, ilma et nad sõltuksid konkreetsetest operatsioonisüsteemidest või riistvarast. Neil on oma väike operatsioonisüsteem, millel on ainult vajalikud ressursid. MRE on eraldi keskkonnas; pole oluline, kas see töötab Windowsis, Mac OS-is, Linuxis või mõnes muus vastuvõtvas masinas.
Üks kõige levinumaid protsesside virtuaalmasinaid on see, millest te olete tõenäoliselt kuulnud ja mida olete võib-olla näinud oma arvutis jooksmas. Seda kasutatakse Java-rakenduste käivitamiseks ja seda nimetatakse Java virtuaalmasinaks või lühendatult JVM-iks.
Hüperviisorite tüübid
Enamik virtuaalmasinatest, millega me tegeleme, kasutavad hüperviisorit, sest nad emuleerivad tervet arvutisüsteemi. On olemas kahte erinevat tüüpi hüperviisoreid: Bare Metal Hypervisors ja Hosted Hypervisors. Vaatleme lühidalt mõlemat.
Bare Metal hüperviisor
BMH-d võib nimetada ka loomulikuks hüperviisoriks ja nad töötavad otse vastuvõtva riistvara peal, selle asemel et töötada vastuvõtva operatsioonisüsteemi sees. Tegelikult võtavad nad vastuvõtva operatsioonisüsteemi koha, planeerides ja hallates riistvara kasutamist iga virtuaalse masina poolt, jättes seega "vahemehe" (vastuvõtva operatsioonisüsteemi) välja.
Natiivseid hüperviisoreid kasutatakse tavaliselt suuremahuliste ettevõtte VMide puhul, mida ettevõtted kasutavad töötajate serveriressursside pakkumiseks. Microsoft Azure või Amazon Web Services on sellist tüüpi arhitektuuril majutatud VMid. Teised näited on KVM, Microsoft Hyper-V ja VMware vSphere.
Hostitud hüperviisor
Hostitud hüperviisorid töötavad standardsetel operatsioonisüsteemidel - nagu iga teine rakendus, mida me oma masinates kasutame. Nad kasutavad ressursside haldamiseks ja jaotamiseks host'i operatsioonisüsteemi. Seda tüüpi hüperviisorid sobivad paremini üksikkasutajatele, kes peavad oma masinates jooksutama mitut operatsioonisüsteemi.
Nende hulka kuuluvad sellised rakendused nagu Oracle VirtualBox, VMware Workstations, VMware Fusion, Parallels Desktop ja paljud teised. Üksikasjalikumat teavet hostitud hüperviisorite kohta leiate meie artiklist Best Virtual Machine Software.
Miks kasutada virtuaalseid masinaid?
Nüüd, kui teil on põhiline arusaam sellest, mis on virtuaalmasin, võite tõenäoliselt mõelda mõnele suurepärasele rakendusele. Siin on mõned peamised põhjused, miks inimesed kasutavad virtuaalmasinaid.
1. Kulutõhusus
Virtuaalmasinad on kuluefektiivsed paljudes olukordades. Üks silmapaistvamaid on ettevõtete maailmas. Füüsiliste serverite kasutamine töötajate jaoks ressursside pakkumiseks võib olla väga kallis. Riistvara ei ole odav ja selle hooldamine on veelgi kulukam.
Virtuaalmasinate kasutamine ettevõtte serveritena on nüüdseks muutunud normiks. MS Azure'i taolise teenusepakkuja virtuaalmasinate puhul ei ole vaja osta esialgset riistvara ega maksta hooldustasu. Neid VM-e saab luua, konfigureerida ja kasutada vaid pennide eest tunnis. Neid saab ka sulgeda, kui neid ei kasutata, ja need ei tekita mingeid kulusid.
VM-i kasutamine oma masinas võib olla ka suur rahasäästja. Kui teil on vaja teha tööd mitmes operatsioonisüsteemis või erinevates riistvarakonfiguratsioonides, saate te
kasutada mitut virtuaalmasinat ühel hostil - iga ülesande jaoks ei ole vaja osta eraldi arvutit.
2. Skaleeritav ja paindlik
Olenemata sellest, kas tegemist on ettevõtte serveritega või teie sülearvutis töötavate VM-dega, on virtuaalmasinad skaleeritavad. Ressursse on lihtne kohandada vastavalt teie vajadustele. Kui teil on vaja rohkem mälu või kõvakettaruumi, minge lihtsalt hüperviisorisse ja konfigureerige VM ümber, et seda oleks rohkem. Uut riistvara ei ole vaja osta ja see protsess saab kiiresti lõpule viia.
3. Kiire seadistamine
Uue VM-i saab kiiresti sisse seada. Mul on olnud juhtumeid, kus mul oli vaja uut VM-i sisse seada, ma helistasin oma kolleegile, kes neid haldab, ja need olid valmis vähem kui tunni ajaga.
4. Katastroofide taastamine
Kui püüate vältida andmete kadumist ja valmistuda katastroofide taastamiseks, võivad virtuaalmasinad olla suurepärane vahend. Neid on lihtne varundada ja neid saab vajaduse korral eri kohtadesse jaotada. Kui virtuaalmasinad asuvad kolmandal osapoolel, näiteks Microsoftil või Amazonil, siis on need väljaspool tegevuskohta, mis tähendab, et teie andmed on turvalised, kui teie kontor põleb maha.
5. Lihtne reprodutseerida
Enamik hüperviisoreid võimaldab teil teha VM-i koopia ehk kujutise. kujutise loomine võimaldab teil hõlpsasti luua sama baas-VM-i täpseid reproduktsioone mis tahes olukorras.
Keskkonnas, kus ma töötan, anname igale arendajale VM-i, mida ta saab kasutada arendamiseks ja testimiseks. See protsess võimaldab meil saada kuvandi, mis on konfigureeritud kõigi vajalike tööriistade ja tarkvaraga. Kui uus arendaja alustab tööd, tuleb meil vaid teha koopia sellest kuvandist ja neil on olemas kõik vajalik, et tööle saada.
6. Täiuslik Dev/Testimiseks
Üks parimaid eeliseid virtuaalmasinate kasutamisel on see, et need on ideaalne vahend tarkvara arendamiseks ja testimiseks. Virtuaalmasinad võimaldavad arendajatel arendada mitmel platvormil ja keskkonnas ühes masinas. Kui see VM rikneb või hävib, saab kiiresti luua uue.
Need võimaldavad testijal saada iga testitsükli jaoks puhta uue keskkonna. Olen töötanud projektides, kus me seadistasime automaatsed testiskriptid, mis loovad uue VM-i, installivad uusima tarkvaraversiooni, käivitavad kõik vajalikud testid ja kustutavad VM-i pärast testide lõpetamist.
VM-d töötavad suurepäraselt toodete testimiseks ja ülevaadete tegemiseks, nagu me siin SoftwareHow.com'is teeme. Ma saan paigaldada rakendusi VM-i, mis töötab minu masinas, ja testida neid ilma oma põhikeskkonda segamata.
Kui ma olen testimise lõpetanud, saan ma alati virtuaalmasina kustutada ja siis luua uue, kui mul seda vaja läheb. See protsess võimaldab mul ka testida mitmel platvormil, kuigi mul on ainult Windows-masin.
Viimased sõnad
Nagu näete, on virtuaalmasinad kuluefektiivne ja mitmekülgne vahend, mida saab kasutada paljude rakenduste jaoks. Enam ei pea me ostma, seadistama ja hooldama kallist riistvara, et pakkuda testijatele, arendajatele ja teistele serverile juurdepääsu. Virtuaalmasinad annavad meile paindlikkuse, et luua lihtsalt ja kiiresti vajalikud operatsioonisüsteemid, riistvara ja keskkonnad - igal ajal.