I vid forstand er virtualisering prosessen med å lage en virtuell, snarere enn faktisk, kopi av noe. Virtuelt betyr i dette tilfellet noe som ligner originalen at det knapt kan skilles fra det, som i uttrykket “praktisk talt det samme.”
Virtualisering er bruk av dataprogrammer for å etterligne et bestemt sett med parametere. Et spesifikt programvareverktøy, kalt en “hypervisor”, skaper et virtuelt miljø med programvare innenfor de gitte parametrene.
Det er like mange typer virtualisering som det er bruk for, så vi vil begrense diskusjonen til de vanligste typene virtualisering.
Maskinvarevirtualisering
Dette er den mest kjente typen virtualisering for de fleste brukere. Når du kjører en virtuell maskin i VirtualBox, kjører du en maskinvarevirtualisering. Videospillsystememulatorer følger samme prinsipp ved å bruke en hypervisor for å generere parametrene til svunne videospillkonsoller.
I maskinvarevirtualisering oppretter hypervisoren en gjestemaskin som etterligner maskinvareenheter som en skjerm, harddisk og prosessor. I noen tilfeller går hypervisor ganske enkelt gjennom konfigurasjonen av vertsmaskinen. I andre tilfeller er et helt eget og uavhengig system virtualisering, avhengig av miljøets behov.
Dette er ikke det samme som maskinvareemulering, en langt mer kompleks og prosess på lavere nivå. I maskinvareemulering brukes programvare for å la en maskinvare etterligne en annen. For eksempel kan maskinvareemulering brukes til å kjøre x86-programvare på ARM-brikker. Windows 10 bruker denne typen emulering mye i sin strategi for en-OS-overalt, og Apple brukte den i Rosetta når de gikk fra PowerPC til Intel-prosessorer.
Ofte kreves det noen begrensninger for virtualisering. En hypervisor kan ofte ikke overskride spesifikasjonene til vertsenheten. Du kan ikke kjøre en hypervisor med 10 TB harddisklagring på en 2 TB-disk. Du kan prøve å feilaktig oppgi dette nummeret gjennom hypervisoren, men det vil raskt falle fra hverandre under bruk.
Virtualisert maskinvare er også vanligvis tregere enn det virkelige maskinvaremiljøet. Imidlertid kommer virtualiseringen av maskinvaren med fordelene med lavere kostnader, raskere implementering og større fleksibilitet i distribusjon – egenskaper verdsatt under Silicon Valley’s “move fast and break things” etos.
Maskinvareassistert virtualisering bruker spesielt designet maskinvare for å hjelpe til med virtualiseringsprosessene. Noen moderne prosessorer inkluderer virtualiseringsvennlige optimaliseringer, noe som gir raskere og mer flytende prosessorvirtualisering.
Desktop Virtualization
Desktop visualisering skiller skrivebordsmiljøet fra den fysiske maskinvaren brukeren kommuniserer med. I stedet for å lagre operativsystem, skrivebordsmiljø, brukerfiler, applikasjoner og andre sluttbrukerfiler på harddisken til brukerens datamaskin, blir skrivebordet virtualisert for brukeren. Fra brukerperspektivet ser dette miljøet ut til å være en lokal disk, om kanskje litt treg.
Imidlertid administreres hele systemet faktisk av en server. Dette tillater systemadministratorer å ha full kontroll over brukernes skrivebordsmiljø fra et eksternt tilgangspunkt. Ved å rulle ut oppdateringer på serveren, blir de umiddelbart brukt på sluttbrukeren, uten behov for tunneling, fysisk tilgang eller enhetsspesifikke brukerprofiler. Ved å skille skrivebordsmiljøet fra maskinvaren det kjører på, har brukeren fri tilgang til “deres” datamaskin fra hvilken som helst stasjonær datamaskin.
Nettverksvirtualisering
I likhet med de to typene virtualisering som allerede er nevnt, etterligner nettverksvirtualisering nettverkstopologi, men kobles fra maskinvaren som tradisjonelt ble brukt til å administrere slike nettverk. I stedet for å kjøre fysisk nettverkskontrollerende infrastruktur, gjenskaper en hypervisor denne funksjonaliteten i et programvaremiljø. Nettverksvirtualisering kan kombineres med maskinvarevirtualisering, og skape et programvarenettverk av hypervisorer som alle kommuniserer med hverandre. Nettverksvirtualisering kan brukes til å teste og implementere nettverksfunksjonalitet på øvre nivå som belastningsbalansering og brannmur samt nivå 2 og 3 roller som ruting og bytte.
Konklusjon
Virtualiseringens hovedstraff er hastighet. Virtuelle miljøer er universelt tregere enn vertsmiljøer som kjører på “ekte” plattformer. Men fart er ikke alt som betyr noe. I miljøer der neste sekunders ytelse ikke er oppdragskritisk, kan organisasjoner spare penger og øke fleksibiliteten med virtualisering. Enkeltbrukere kan bruke virtualisering til å etterligne maskinvaremiljøer de ikke har tilgang til, og kjøre flere operativsystemer på en datamaskin samtidig.