Ce este o mașină virtuală (de ce și când să o folosiți)

  • Imparte Asta
Cathy Daniels

Dacă lucrați în industria software sau în jurul acesteia, probabil că ați auzit de mașinile virtuale. Dacă nu, poate că vă întrebați ce sunt și la ce sunt folosite.

În calitate de inginer software, folosesc zilnic mașini virtuale. Acestea sunt instrumente puternice în dezvoltarea de software, dar au și alte utilizări. Cunoscute și sub numele de mașini virtuale, multe întreprinderi le folosesc datorită flexibilității, fiabilității și rentabilității lor; de asemenea, ele previn dezastrele cauzate de testele de software în fugă.

Să aruncăm o privire la ce sunt mașinile virtuale și de ce sunt utilizate.

Ce este o mașină virtuală?

O mașină virtuală este o instanță a unui sistem de operare (OS), cum ar fi Windows, Mac OS sau Linux, care rulează în cadrul sistemului de operare principal al unui computer.

De obicei, acesta rulează într-o fereastră de aplicație pe desktop. O mașină virtuală are funcționalitate completă și acționează ca un computer sau ca o mașină separată. În esență, o mașină virtuală este un computer virtual care rulează în interiorul unui alt computer, cunoscut sub numele de mașină gazdă.

Imaginea 1: Mașină virtuală care rulează pe un laptop.

O mașină virtuală nu are hardware (memorie, hard disk, tastatură sau monitor). Aceasta utilizează hardware simulat de la mașina gazdă. Din acest motiv, mai multe mașini virtuale, denumite și "oaspeți", pot fi rulate pe o singură mașină gazdă.

Imaginea 2: Mașină gazdă pe care rulează mai multe mașini virtuale.

De asemenea, gazda poate rula mai multe mașini virtuale cu sisteme de operare diferite, inclusiv Linux, Mac OS și Windows. Această capacitate depinde de un software numit hipervizor (a se vedea imaginea 1 de mai sus). Hipervizorul rulează pe mașina gazdă și vă permite să creați, să configurați, să rulați și să gestionați mașini virtuale.

Hipervizorul alocă spațiu pe disc, programează timpul de procesare și gestionează utilizarea memoriei pentru fiecare VM. Aceasta este ceea ce fac aplicații precum Oracle VirtualBox, VMware, Parallels, Xen, Microsoft Hyper-V și multe altele: sunt hipervizoare.

Un hipervizor poate rula pe un laptop, un PC sau un server și pune mașinile virtuale la dispoziția computerului local sau a utilizatorilor distribuiți în rețea.

Diferite tipuri de mașini și medii virtuale necesită diferite tipuri de hipervizoare. Să aruncăm o privire asupra unora dintre ele.

Tipuri de mașini virtuale

Mașini virtuale de sistem

Sistemele virtuale de sistem, denumite uneori virtualizare completă, sunt rulate de un hipervizor și oferă funcționalitatea unui sistem informatic real. Acestea utilizează sistemul de operare nativ al gazdei pentru a gestiona și partaja resursele sistemului.

Mașinile virtuale de sistem necesită adesea o gazdă puternică, cu unități centrale de procesare rapide sau multiple, cantități mari de memorie și tone de spațiu pe disc. Este posibil ca unele, care rulează pe computere personale sau laptopuri, să nu aibă nevoie de puterea de calcul de care au nevoie serverele virtuale ale marilor întreprinderi; cu toate acestea, ele vor rula lent dacă sistemul gazdă nu este adecvat.

Procesarea mașinilor virtuale

Mașinile virtuale de procesare sunt destul de diferite de SVM-uri - este posibil să le aveți în funcțiune pe computerul dvs. și nici măcar să nu știți acest lucru. Acestea sunt cunoscute și sub numele de mașini virtuale de aplicații sau medii de execuție gestionate (MRE). Aceste mașini virtuale rulează în interiorul unui sistem de operare gazdă și susțin aplicații sau procese de sistem.

De ce să folosiți un PVM? Acestea efectuează servicii fără a fi dependente de sisteme de operare sau hardware specifice. Au propriul lor mic sistem de operare cu doar resursele de care au nevoie. PVM se află într-un mediu separat; nu contează dacă rulează pe Windows, Mac OS, Linux sau orice altă mașină gazdă.

Una dintre cele mai comune mașini virtuale de procesare este cea de care probabil ați auzit și pe care ați văzut-o rulând pe computerul dvs. Este utilizată pentru a rula aplicații Java și se numește Java Virtual Machine sau JVM.

Tipuri de hipervizoare

Majoritatea mașinilor virtuale de care ne ocupăm utilizează un hipervizor, deoarece acestea emulează un întreg sistem informatic. Există două tipuri diferite de hipervizoare: hipervizoarele Bare Metal și hipervizoarele găzduite. Să aruncăm o privire rapidă asupra ambelor.

Hypervizor Bare Metal

BMH-urile pot fi numite și hipervizoare native și rulează direct pe hardware-ul gazdei, în loc să ruleze în cadrul sistemului de operare al gazdei. De fapt, ele iau locul sistemului de operare al gazdei, programând și gestionând utilizarea hardware-ului de către fiecare mașină virtuală, eliminând astfel "intermediarul" (sistemul de operare al gazdei) în acest proces.

Hipervizoarele native sunt utilizate în mod normal pentru mașinile virtuale de întreprindere la scară largă, pe care companiile le folosesc pentru a pune la dispoziția angajaților resurse de server. Microsoft Azure sau Amazon Web Services sunt mașini virtuale găzduite pe acest tip de arhitectură. Alte exemple sunt KVM, Microsoft Hyper-V și VMware vSphere.

Hipervizor găzduit

Hipervizoarele găzduite rulează pe sisteme de operare standard - la fel ca orice altă aplicație pe care o rulăm pe mașinile noastre. Ele folosesc sistemul de operare al gazdei pentru a gestiona și distribui resursele. Acest tip de hipervizor este mai potrivit pentru utilizatorii individuali care trebuie să ruleze mai multe sisteme de operare pe mașinile lor.

Printre acestea se numără aplicații precum Oracle VirtualBox, VMware Workstations, VMware Fusion, Parallels Desktop și multe altele. Puteți găsi informații mai detaliate despre hipervizoarele găzduite în articolul nostru, Cel mai bun software pentru mașini virtuale.

De ce să folosiți mașini virtuale?

Acum că aveți o înțelegere de bază a ceea ce este o mașină virtuală, probabil că vă puteți gândi la câteva aplicații excelente. Iată câteva dintre motivele principale pentru care oamenii folosesc mașini virtuale.

1. Rentabilitate

Mașinile virtuale sunt rentabile în numeroase situații. Una dintre cele mai importante este în lumea corporativă. Utilizarea serverelor fizice pentru a oferi resurse angajaților poate fi foarte costisitoare. Hardware-ul nu este ieftin, iar întreținerea acestuia este și mai costisitoare.

Utilizarea mașinilor virtuale ca servere de întreprindere a devenit acum o normă. Cu mașinile virtuale de la un furnizor precum MS Azure, nu există achiziții inițiale de hardware și nici taxe de întreținere. Aceste mașini virtuale pot fi instalate, configurate și utilizate pentru doar câțiva cenți pe oră. De asemenea, pot fi închise atunci când nu sunt utilizate și nu implică niciun cost.

Utilizarea unei VM pe mașina dvs. poate fi, de asemenea, o mare economie de bani. Dacă trebuie să lucrați în mai multe sisteme de operare sau în configurații hardware diferite, puteți

utilizați mai multe mașini virtuale pe o singură gazdă - nu este nevoie să achiziționați un computer separat pentru fiecare sarcină.

2. Scalabil și flexibil

Fie că sunt servere de întreprindere sau mașini virtuale care rulează pe laptop, mașinile virtuale sunt scalabile. Este ușor de ajustat resursele pentru a se potrivi nevoilor dvs. Dacă aveți nevoie de mai multă memorie sau spațiu pe hard disk, trebuie doar să intrați în hipervizor și să reconfigurați mașina virtuală pentru a avea mai mult. Nu este nevoie să achiziționați hardware nou, iar procesul poate fi finalizat rapid.

3. Configurare rapidă

Am avut cazuri în care am avut nevoie de o nouă mașină virtuală, am sunat-o pe colega mea care le gestionează și am avut-o gata de utilizare în mai puțin de o oră.

4. Recuperarea în caz de dezastru

Dacă încercați să preveniți pierderea de date și să vă pregătiți pentru recuperarea în caz de dezastru, mașinile virtuale pot fi un instrument extraordinar. Acestea sunt ușor de salvat și pot fi distribuite în diferite locații, dacă este necesar. Dacă o terță parte, cum ar fi Microsoft sau Amazon, găzduiește mașinile virtuale, acestea vor fi în afara site-ului, ceea ce înseamnă că datele dvs. sunt în siguranță dacă biroul dvs. arde.

5. Ușor de reprodus

Majoritatea hipervizoarelor vă permit să faceți o copie sau o imagine a unei mașini virtuale. Imaginea vă permite să creați cu ușurință reproduceri exacte ale aceleiași mașini virtuale de bază în orice situație.

În mediul în care lucrez, oferim fiecărui dezvoltator o mașină virtuală pe care să o folosească pentru dezvoltare și testare. Acest proces ne permite să avem o imagine configurată cu toate uneltele și software-ul necesare. Atunci când un nou dezvoltator se angajează, tot ceea ce trebuie să facem este să facem o copie a imaginii respective, iar acesta are tot ce îi trebuie pentru a începe să lucreze.

6. Perfect pentru Dev/Test

Unul dintre cele mai bune avantaje ale utilizării mașinilor virtuale este faptul că acestea reprezintă un instrument perfect pentru dezvoltarea și testarea software-ului. Mașinile virtuale permit dezvoltatorilor să dezvolte pe mai multe platforme și medii pe o singură mașină. Dacă acea mașină virtuală este coruptă sau distrusă, se poate crea rapid una nouă.

Am lucrat la proiecte în care am configurat scripturi de testare automate care creează o nouă VM, instalează cea mai recentă versiune de software, rulează toate testele necesare, apoi șterg VM după ce testele s-au încheiat.

Mașinile virtuale funcționează excelent pentru testarea și analizele de produse, cum ar fi cele pe care le facem aici la SoftwareHow.com. Pot instala aplicații într-o mașină virtuală care rulează pe calculatorul meu și să le testez fără a aglomera mediul meu principal.

După ce am terminat de testat, pot șterge oricând mașina virtuală, apoi pot crea una nouă atunci când am nevoie de ea. Acest proces îmi permite, de asemenea, să testez pe mai multe platforme, chiar dacă am doar o mașină Windows.

Ultimele cuvinte

După cum puteți vedea, mașinile virtuale sunt un instrument versatil și eficient din punct de vedere al costurilor, care poate fi utilizat pentru multe aplicații. Nu mai trebuie să achiziționăm, să configurăm și să întreținem hardware costisitor pentru a oferi acces la servere pentru testeri, dezvoltatori și alții. Mașinile virtuale ne oferă flexibilitatea de a crea cu ușurință și rapid sistemele de operare, hardware-ul și mediile de care avem nevoie - în orice moment.

Sunt Cathy Daniels, expertă în Adobe Illustrator. Folosesc software-ul din versiunea 2.0 și creez tutoriale pentru acesta din 2003. Blogul meu este una dintre cele mai populare destinații de pe web pentru cei care doresc să învețe Illustrator. Pe lângă munca mea de blogger, sunt și autor și designer grafic.