Innholdsfortegnelse
Hvis du jobber i eller rundt programvareindustrien, har du sikkert hørt om virtuelle maskiner. Hvis ikke, lurer du kanskje på hva de er og hva de brukes til.
Som programvareingeniør bruker jeg virtuelle maskiner daglig. De er potente verktøy innen programvareutvikling, men de har også andre bruksområder. Også kjent som VM-er, bruker mange bedrifter dem på grunn av deres fleksibilitet, pålitelighet og kostnadseffektivitet; de forhindrer også katastrofer fra løpende programvaretesting.
La oss ta en titt på hva virtuelle maskiner er og hvorfor de brukes.
Hva er en virtuell maskin?
En virtuell maskin er en forekomst av et operativsystem (OS) som Windows, Mac OS eller Linux som kjører innenfor hovedoperativsystemet til en datamaskin.
Vanligvis kjører den i et appvindu på skrivebordet ditt. En virtuell maskin har full funksjonalitet og fungerer som en egen datamaskin eller maskin. I hovedsak er en virtuell maskin en virtuell datamaskin som kjører inne i en annen datamaskin kjent som vertsmaskinen.
Bilde 1: Virtuell maskin som kjører på en bærbar datamaskin.
En virtuell maskin gjør' t har maskinvare (minne, harddisk, tastatur eller skjerm). Den bruker simulert maskinvare fra vertsmaskinen. På grunn av dette kan flere VM-er, også referert til som "gjester", kjøres på én enkelt vertsmaskin.
Bilde 2: Vertsmaskin som kjører flere VM-er.
Verten kan også kjøre flere VM-er med forskjellig driftsystemer, inkludert Linux, Mac OS og Windows. Denne egenskapen avhenger av programvare kalt hypervisor (se bilde 1 ovenfor). Hypervisoren kjører på vertsmaskinen og lar deg opprette, konfigurere, kjøre og administrere virtuelle maskiner.
Hypervisoren tildeler diskplass, planlegger behandlingstid og administrerer minnebruk for hver VM. Dette er hva applikasjoner som Oracle VirtualBox, VMware, Parallels, Xen, Microsoft Hyper-V og mange andre gjør: de er hypervisorer.
En hypervisor kan kjøres på en bærbar datamaskin, PC eller server. Den gjør virtuelle maskiner tilgjengelige for den lokale datamaskinen eller brukere distribuert over et nettverk.
Ulike typer virtuelle maskiner og miljøer krever forskjellige typer hypervisorer. La oss ta en titt på noen av dem.
Typer virtuelle maskiner
System virtuelle maskiner
VM-systemer, noen ganger kalt full virtualisering, drives av en hypervisor og gir funksjonaliteten til et faktisk datasystem. De bruker vertens opprinnelige operativsystem til å administrere og dele systemressurser.
Virtuelle systemmaskiner krever ofte en kraftig vert med raske eller flere CPUer, store mengder minne og tonnevis med diskplass. Noen, som kjører på personlige eller bærbare datamaskiner, krever kanskje ikke den datakraften som virtuelle servere for store bedrifter trenger; de vil imidlertid kjøre sakte hvis vertssystemet ikke er tilstrekkelig.
Process VirtualMaskiner
Behandle virtuelle maskiner er ganske forskjellige fra SVM-er – du kan ha dem kjørende på maskinen din og ikke engang vet det. De er også kjent som virtuelle applikasjonsmaskiner eller administrerte kjøretidsmiljøer (MRE). Disse virtuelle maskinene kjører i et vertsoperativsystem og støtter applikasjoner eller systemprosesser.
Hvorfor bruke en PVM? De utfører tjenester uten å være avhengig av spesifikke operativsystemer eller maskinvare. De har sitt eget lille OS med bare ressursene de trenger. MRE er i et eget miljø; det spiller ingen rolle om den kjører på Windows, Mac OS, Linux eller en hvilken som helst annen vertsmaskin.
En av de vanligste prosessvirtuelle maskinene er en du sikkert har hørt om og kanskje har sett kjøre på din datamaskin. Den brukes til å kjøre Java-applikasjoner og kalles Java Virtual Machine eller JVM for kort.
Typer hypervisorer
De fleste av de virtuelle maskinene vi er opptatt av bruker en hypervisor fordi de emulerer et helt datasystem. Det finnes to forskjellige typer hypervisorer: Bare Metal Hypervisors og Hosted Hypervisors. La oss ta en rask titt på dem begge.
Bare Metal Hypervisor
BMH-er kan også kalles native hypervisorer, og de kjører direkte på vertens maskinvare i stedet for å kjøre i vertens operativsystem. Faktisk tar de plassen til vertens operativsystem, planlegging ogadministrere maskinvarebruk av hver virtuell maskin, og dermed kutte ut "mellommannen" (vertens OS) i prosessen.
Native hypervisorer brukes vanligvis for store bedrifts-VM-er, som bedrifter bruker for å gi ansatte serverressurser. Microsoft Azure eller Amazon Web Services er virtuelle datamaskiner som er vert for denne typen arkitektur. Andre eksempler er KVM, Microsoft Hyper-V og VMware vSphere.
Hosted Hypervisor
Vertsbaserte hypervisorer kjører på standard operativsystemer – akkurat som alle andre applikasjoner vi kjører på maskinene våre. De bruker vertens OS til å administrere og distribuere ressurser. Denne typen hypervisor er bedre egnet for individuelle brukere som trenger å kjøre flere operativsystemer på maskinene sine.
Disse inkluderer programmer som Oracle VirtualBox, VMware Workstations, VMware Fusion, Parallels Desktop og mange andre. Du kan finne mer detaljert informasjon om vertsbaserte hypervisorer i artikkelen vår Beste virtuelle maskinprogramvare.
Hvorfor bruke virtuelle maskiner?
Nå som du har en grunnleggende forståelse av hva en virtuell maskin er, kan du sannsynligvis tenke på noen utmerkede applikasjoner. Her er noen av de viktigste grunnene til at folk bruker virtuelle maskiner.
1. Kostnadseffektive
Virtuelle maskiner er kostnadseffektive i en rekke situasjoner. En av de mest fremtredende er i bedriftsverdenen. Bruk av fysiske servere for å gi ressurser til ansatte kanvære veldig dyrt. Maskinvaren er ikke billig, og vedlikehold av den er enda mer kostbar.
Bruk av virtuelle maskiner som bedriftsservere har nå blitt normen. Med VM-er fra en leverandør som MS Azure er det ingen innledende maskinvarekjøp og ingen vedlikeholdsavgifter. Disse VM-ene kan settes opp, konfigureres og brukes for bare en krone i timen. De kan også slås av når de ikke brukes og påføres ingen kostnader i det hele tatt.
Å bruke en VM på maskinen din kan også spare mye penger. Hvis du trenger å jobbe i flere operativsystemer eller forskjellige maskinvarekonfigurasjoner, kan du
bruke flere virtuelle maskiner på én vert – du trenger ikke gå ut og kjøpe en separat datamaskin for hver oppgave.
2. Skalerbar og fleksibel
Enten de er bedriftsservere eller virtuelle maskiner som kjører på den bærbare datamaskinen, er virtuelle maskiner skalerbare. Det er enkelt å justere ressursene for å passe dine behov. Hvis du trenger mer minne eller harddiskplass, går du bare inn i hypervisoren og konfigurerer VM-en på nytt for å ha mer. Det er ikke nødvendig å kjøpe ny maskinvare, og prosessen kan fullføres raskt.
3. Rask oppsett
En ny VM kan settes opp raskt. Jeg har hatt tilfeller der jeg trengte et nytt VM-oppsett, ringte kollegaen min som administrerer dem, og hadde dem klare til bruk på mindre enn en time.
4. Katastrofegjenoppretting
Hvis du prøver å forhindre tap av data og forberede deg på katastrofegjenoppretting, kan VM-er være enkjempebra verktøy. De er enkle å sikkerhetskopiere og kan distribueres på forskjellige steder ved behov. Hvis en tredjepart som Microsoft eller Amazon er vert for de virtuelle maskinene, vil de være utenfor stedet – noe som betyr at dataene dine er trygge hvis kontoret ditt brenner ned.
5. Enkel å reprodusere
De fleste hypervisorer lar deg lage en kopi, eller bilde, av en VM. Bildebehandling lar deg enkelt spinne opp nøyaktige reproduksjoner av den samme base-VM for enhver situasjon.
I miljøet jeg jobber i, gir vi hver utviklere en VM som kan brukes til utvikling og testing. Denne prosessen lar oss ha et bilde konfigurert med alle nødvendige verktøy og programvare. Når vi har en ny utvikler på plass, er alt vi trenger å gjøre å lage en kopi av det bildet, og de har det de trenger for å komme i gang.
6. Perfekt for Dev/Test
En av de beste fordelene med å bruke virtuelle maskiner er at de er et perfekt verktøy for programvareutvikling og testing. VM-er lar utviklere utvikle på flere plattformer og miljøer på én maskin. Hvis den virtuelle maskinen blir ødelagt eller ødelagt, kan en ny raskt opprettes.
De lar en tester ha et rent nytt miljø for hver testsyklus. Jeg har jobbet med prosjekter der vi setter opp automatiserte testskript som lager en ny VM, installerer den nyeste programvareversjonen, kjører alle nødvendige tester, og deretter sletter VM-en når testene er fullført.
VM-er fungerer utmerket forprodukttesting og anmeldelser som de vi gjør her på SoftwareHow.com. Jeg kan installere apper i en VM som kjører på maskinen min og teste dem uten å rote til det primære miljøet mitt.
Når jeg er ferdig med å teste, kan jeg alltid slette den virtuelle maskinen, og deretter opprette en ny når jeg trenger den. Denne prosessen lar meg også teste på flere plattformer selv om jeg bare har en Windows-maskin.
Sluttord
Som du kan se, er virtuelle maskiner et kostnadseffektivt, allsidig verktøy som kan brukes til mange applikasjoner. Vi trenger ikke lenger å kjøpe, konfigurere og vedlikeholde dyr maskinvare for å gi servertilgang for testere, utviklere og andre. VM-er gir oss fleksibiliteten til å enkelt og raskt lage operativsystemene, maskinvaren og miljøene vi trenger – når som helst.