Hvad er en virtuel maskine? (Hvorfor og hvornår skal man bruge det)

Hvis du arbejder i eller omkring softwareindustrien, har du sikkert hørt om virtuelle maskiner. Hvis ikke, undrer du dig måske over, hvad de er, og hvad de bruges til.

Som softwareingeniør bruger jeg virtuelle maskiner dagligt. De er potente værktøjer inden for softwareudvikling, men de har også andre anvendelser. Også kendt som VM’er, mange virksomheder bruger dem på grund af deres fleksibilitet, pålidelighed og omkostningseffektivitet; de forhindrer også katastrofer fra løbsk softwaretest.

Lad os tage et kig på, hvad virtuelle maskiner er, og hvorfor de bruges.

Hvad er en virtuel maskine?

En virtuel maskine er en forekomst af et operativsystem (OS) såsom Windows, Mac OS eller Linux, der kører inden for hovedoperativsystemet på en computer.

Typisk kører det i et appvindue på dit skrivebord. En virtuel maskine har fuld funktionalitet og fungerer som en separat computer eller maskine. I det væsentlige er en virtuel maskine en virtuel computer, der kører inde i en anden computer kendt som værtsmaskinen.

Virtuel maskine 1
Billede 1: Virtuel maskine, der kører på en bærbar computer.

En virtuel maskine har ikke hardware (hukommelse, harddisk, tastatur eller skærm). Den bruger simuleret hardware fra værtsmaskinen. På grund af dette kan flere VM’er, også kaldet ‘gæster’, køres på en enkelt værtsmaskine.

Virtuel maskine 2
Billede 2: Værtsmaskine, der kører flere VM’er.

Værten kan også køre flere VM’er med forskellige operativsystemer, herunder Linux, Mac OS og Windows. Denne funktion afhænger af software kaldet en hypervisor (se billede 1 ovenfor). Hypervisoren kører på værtsmaskinen og giver dig mulighed for at oprette, konfigurere, køre og administrere virtuelle maskiner.

Hypervisoren tildeler diskplads, planlægger behandlingstid og styrer hukommelsesforbrug for hver VM. Dette er, hvad applikationer som Oracle VirtualBox, VMware, Parallels, Xen, Microsoft Hyper-V og mange andre gør: de er hypervisorer.

En hypervisor kan køre på en bærbar computer, pc eller server. Det gør virtuelle maskiner tilgængelige for den lokale computer eller brugere fordelt på tværs af et netværk.

Forskellige typer virtuelle maskiner og miljøer kræver forskellige typer hypervisorer. Lad os tage et kig på nogle af dem.

Typer af virtuelle maskiner

System virtuelle maskiner

System VM’er, nogle gange kaldet fuld virtualisering, køres af en hypervisor og leverer funktionaliteten af ​​et egentligt computersystem. De bruger værtens oprindelige operativsystem til at administrere og dele systemressourcer.

Virtuelle systemmaskiner kræver ofte en kraftfuld vært med hurtige eller flere CPU’er, store mængder hukommelse og tonsvis af diskplads. Nogle, som kører på personlige eller bærbare computere, kræver muligvis ikke den computerkraft, som virtuelle servere til store virksomheder har brug for; de vil dog køre langsomt, hvis værtssystemet ikke er tilstrækkeligt.

Behandle virtuelle maskiner

Process Virtual Machines er ret forskellige fra SVM’er – du kan have dem kørende på din maskine og ikke engang ved det. De er også kendt som virtuelle applikationsmaskiner eller managed runtime-miljøer (MRE’er). Disse virtuelle maskiner kører inde i et værtsoperativsystem og understøtter applikationer eller systemprocesser.

Hvorfor bruge en PVM? De udfører tjenester uden at være afhængige af specifikke operativsystemer eller hardware. De har deres eget lille OS med kun de ressourcer, de har brug for. MRE er i et separat miljø; det er lige meget, om det kører på Windows, Mac OS, Linux eller en hvilken som helst anden værtsmaskine.

En af de mest almindelige Process Virtual Machines er en, som du sikkert har hørt om og måske har set køre på din computer. Den bruges til at køre Java-applikationer og kaldes Java Virtual Machine eller JVM for kort.

Typer af hypervisorer

De fleste af de virtuelle maskiner, som vi er optaget af, bruger en hypervisor, fordi de emulerer et helt computersystem. Der er to forskellige typer hypervisorer: Bare Metal Hypervisors og Hosted Hypervisors. Lad os tage et hurtigt kig på dem begge.

Bare Metal Hypervisor

BMH’er kan også kaldes native hypervisorer, og de kører direkte på værtens hardware i stedet for at køre i værtens operativsystem. Faktisk træder de i stedet for værtens operativsystem, planlægger og administrerer hardwareanvendelse af hver virtuel maskine, og fjerner således ‘mellemmanden’ (værtens OS) i processen.

Native hypervisorer bruges normalt til VM’er i stor skala, som virksomheder bruger til at forsyne medarbejderne med serverressourcer. Microsoft Azure eller Amazon Web Services er VM’er, der hostes på denne type arkitektur. Andre eksempler er KVM, Microsoft Hyper-V og VMware vSphere.

Hostet Hypervisor

Hostede hypervisorer kører på standardoperativsystemer – ligesom enhver anden applikation, vi kører på vores maskiner. De bruger værtens OS til at administrere og distribuere ressourcer. Denne type hypervisor er bedre egnet til individuelle brugere, der har brug for at køre flere operativsystemer på deres maskiner.

Disse omfatter applikationer som Oracle VirtualBox, VMware Workstations, VMware Fusion, Parallels Desktop og mange andre. Du kan finde mere detaljeret information om hostede hypervisorer i vores artikel, Bedste virtuelle maskine software.

Hvorfor bruge virtuelle maskiner?

Nu hvor du har en grundlæggende forståelse af, hvad en virtuel maskine er, kan du sikkert komme i tanke om nogle fremragende applikationer. Her er nogle af de vigtigste grunde til, at folk bruger virtuelle maskiner.

1. Omkostningseffektiv

Virtuelle maskiner er omkostningseffektive i mange situationer. En af de mest fremtrædende er i erhvervslivet. Det kan være meget dyrt at bruge fysiske servere til at levere ressourcer til medarbejderne. Hardwaren er ikke billig, og det er endnu dyrere at vedligeholde det.

Brugen af ​​virtuelle maskiner som virksomhedsservere er nu blevet normen. Med VM’er fra en udbyder som MS Azure er der ingen indledende hardwarekøb og ingen vedligeholdelsesgebyrer. Disse VM’er kan konfigureres, konfigureres og bruges for kun øre i timen. De kan også lukkes ned, når de ikke er i brug og medfører ingen omkostninger overhovedet.

Brug af en VM på din maskine kan også være en stor pengebesparelse. Hvis du har brug for at arbejde i flere operativsystemer eller forskellige hardwarekonfigurationer, kan du
brug flere virtuelle maskiner på én vært – ingen grund til at gå ud og købe en separat computer til hver opgave.

2. Skalerbar og fleksibel

Uanset om det er virksomhedsservere eller VM’er, der kører på din bærbare computer, er virtuelle maskiner skalerbare. Det er nemt at tilpasse ressourcerne, så de passer til dine behov. Hvis du har brug for mere hukommelse eller harddiskplads, skal du bare gå ind i hypervisoren og omkonfigurere VM’en til at have mere. Der er ingen grund til at købe ny hardware, og processen kan gennemføres hurtigt.

3. Hurtig opsætning

En ny VM kan konfigureres hurtigt. Jeg har haft tilfælde, hvor jeg havde brug for en ny VM-opsætning, ringet til min kollega, der administrerer dem, og havde dem klar til brug på mindre end en time.

4. Katastrofeinddrivelse

Hvis du forsøger at forhindre tab af data og forberede dig på katastrofegendannelse, kan VM’er være et fantastisk værktøj. De er nemme at sikkerhedskopiere og kan distribueres forskellige steder, hvis det er nødvendigt. Hvis en tredjepart som Microsoft eller Amazon er vært for de virtuelle maskiner, vil de være off-site – hvilket betyder, at dine data er sikre, hvis dit kontor brænder ned.

5. Let at reproducere

De fleste hypervisorer giver dig mulighed for at lave en kopi eller billede af en VM. Billedbehandling lader dig nemt spinde nøjagtige reproduktioner af den samme base VM til enhver situation.

I det miljø, som jeg arbejder i, giver vi enhver udvikler en VM til at bruge til udvikling og test. Denne proces giver os mulighed for at få et billede konfigureret med alle de nødvendige værktøjer og software. Når vi har en ny udvikler onboarding, er alt, hvad vi skal gøre, at lave en kopi af billedet, og de har, hvad de skal bruge for at komme i gang.

6. Perfekt til Dev/Test

En af de bedste fordele ved at bruge virtuelle maskiner er, at de er et perfekt værktøj til softwareudvikling og -test. VM’er giver udviklere mulighed for at udvikle på flere platforme og miljøer på én maskine. Hvis den VM bliver ødelagt eller ødelagt, kan der hurtigt oprettes en ny.

De giver en tester mulighed for at have et rent nyt miljø for hver testcyklus. Jeg har arbejdet på projekter, hvor vi opsætter automatiserede testscripts, der opretter en ny VM, installerer den seneste softwareversion, kører alle nødvendige tests, og derefter sletter VM’en, når testene er gennemført.

VM’er fungerer fremragende til produkttest og anmeldelser som dem, vi gør her på TechFewer.com. Jeg kan installere apps i en VM, der kører på min maskine, og teste dem uden at rode i mit primære miljø.

Når jeg er færdig med at teste, kan jeg altid slette den virtuelle maskine og derefter oprette en ny, når jeg har brug for den. Denne proces giver mig også mulighed for at teste på flere platforme, selvom jeg kun har en Windows-maskine.

Afsluttende ord

Som du kan se, er virtuelle maskiner et omkostningseffektivt, alsidigt værktøj, der kan bruges til mange applikationer. Vi behøver ikke længere at købe, konfigurere og vedligeholde dyr hardware for at give serveradgang til testere, udviklere og andre. VM’er giver os fleksibiliteten til nemt og hurtigt at skabe de operativsystemer, hardware og miljøer, vi har brug for – til enhver tid.