Wat is een virtuele machine?


Nu bedrijven ernaar streven de efficiëntie van hun bedrijfsmiddelen te maximaliseren en zich aan de steeds veranderende technologie en verwachtingen van klanten aan te passen, neemt het gebruik van virtuele machines (VM's) exponentieel toe. Voor IT-professionals is het daarom belangrijk om te begrijpen hoe virtuele machines werken, want ze worden een essentieel onderdeel van de IT-strategie en de bredere groeistrategie.

machine_virtuelle.jpg

VM's in detail

Een virtuele machine (“virtual machine” of VM) is een IT-resource die software gebruikt in plaats van een fysieke computer voor het uitvoeren van programma's en het implementeren van applicaties. Een of meer "gast"-virtuele machines worden uitgevoerd op een fysieke "host"-machine. 

Elke virtuele machine voert haar eigen OS uit en werkt onafhankelijk van andere VM's, zelfs als ze allemaal op dezelfde host draaien. Dit betekent bijvoorbeeld dat een Linux-VM kan draaien op een Windows-omgeving.

Deze techniek met virtuele machines wordt in veel omgevingen gebruikt die cloudcomputing-services benutten. Tegenwoordig gebruiken public cloud-services virtuele machines ook om virtuele applicatieresources aan meerdere gebruikers tegelijk te leveren. Hierdoor is rekenkracht nog voordeliger en flexibeler.

Hoe werkt een virtuele machine?

Een VM biedt een afgeschermde omgeving voor het uitvoeren van haar eigen OS en haar eigen applicaties, onafhankelijk van het onderliggende hostsysteem.

Het besturingssysteem van een VM, ook wel het gastbesturingssysteem genoemd, kan identiek zijn aan of verschillen van het host-OS en de besturingssystemen van andere VM's op de host. Eén computer kan dus meerdere virtuele machines hosten waarop verschillende besturingssystemen en applicaties draaien, zonder dat deze elkaar beïnvloeden.

Hoewel een VM nog steeds afhankelijk is van de hardware van de host, worden deze resources gevirtualiseerd en verdeeld tussen de VM's; ze kunnen indien nodig opnieuw worden toegewezen. Hierdoor kunnen verschillende omgevingen tegelijkertijd actief zijn en zich aanpassen aan veranderende workloads.

Vanuit het standpunt van de gebruiker werkt een VM precies als een fysieke machine. Meestal weten gebruikers die verbinding leggen met een VM niet dat ze een virtuele omgeving gebruiken.

Gebruikers kunnen indien nodig het gast-OS en de bijbehorende applicaties configureren en updaten. Ze kunnen ook nieuwe software installeren of verwijderen zonder dat dit de host of andere VM's beïnvloedt. Resources zoals processors, geheugen en opslag worden net als op een normale pc getoond.

Waarvoor worden virtuele machines gebruikt?

Met virtuele machines (VM's) kunnen bedrijven in een toepassingsvenster op een desktop een OS draaien dat zich gedraagt als een volledig gescheiden computer. Virtuele machines kunnen worden geïmplementeerd om verschillende niveaus aan rekenkracht te verzorgen, om software uit te voeren waarvoor een ander OS nodig is of om applicaties in een veilige omgeving te testen, een soort "sandbox".

Virtuele machines worden van oudsher al gebruikt voor servervirtualisatie, waardoor IT-teams hun IT-resources kunnen consolideren of verdelen en hun efficiëntie kunnen verbeteren.

Bovendien kunnen virtuele machines specifieke taken uitvoeren die te riskant worden geacht om direct in een hostomgeving uit te voeren, zoals omgaan met gegevens die met virussen zijn geïnfecteerd of het testen van een OS. Omdat de VM afgescheiden is van de rest van het systeem, kan de software ervan de hostcomputer niet wijzigen.

Voordelen van virtuele machines

Virtuele machines zijn eenvoudig te beheren en te onderhouden. Ze bieden diverse voordelen ten opzichte van fysieke machines:

  • VM's kunnen meerdere besturingssystemen tegelijk op één fysieke computer uitvoeren, waardoor fysieke ruimte bespaard wordt, tijd gewonnen wordt en beheerkosten worden verlaagd.
     
  • Virtuele machines ondersteunen bestaande software, waardoor de kosten van het migreren naar een nieuw besturingssysteem worden verlaagd. Een Linux-VM waarop een Linux-distributie als gastbesturingssysteem wordt uitgevoerd, kan bijvoorbeeld op een hostserver staan waarop een niet-Linux OS, zoals Windows of macOS, wordt uitgevoerd.
     
  • Virtuele machines kunnen ook ingebouwde noodherstelfuncties (“disaster recovery”) en levering van applicaties bieden.

Verschillende virtualisatietypen

Alle onderdelen van een traditioneel datacenter of IT-infrastructuur kunnen tegenwoordig worden gevirtualiseerd met verschillende specifieke virtualisatietypen:

Hardwarevirtualisatie:

Bij het virtualiseren van hardware worden virtuele versies van computers en besturingssystemen (VM's) gemaakt en op één fysieke primaire server geconsolideerd. Een hypervisor communiceert rechtstreeks met de schijfruimte en de processor van een fysieke server om de virtuele machines te managen. Hardwarevirtualisatie, ook wel servervirtualisatie genoemd, maakt het mogelijk om de resources van een bedrijf efficiënter te gebruiken en verschillende OS'en tegelijkertijd op dezelfde machine te laten werken.

Softwarevirtualisatie:

Softwarevirtualisatie creëert een computersysteem met hardware waarmee een of meer gast-OS’en op een fysieke hostmachine kunnen functioneren. Applicaties kunnen worden gevirtualiseerd en van een server naar het apparaat van een eindgebruiker worden verzonden, zoals een laptop of een smartphone. Hierdoor hebben ontwikkelaars toegang tot centraal gehoste applicaties wanneer ze op afstand werken.

Opslagvirtualisatie:

Opslag kan worden gevirtualiseerd door meerdere fysieke opslagapparaten bijeen te brengen, zodat het één opslagapparaat lijkt te zijn. Voordelen zijn onder meer hogere prestaties en snelheid, load balancing en lagere kosten. Opslagvirtualisatie helpt ook noodherstel te plannen, omdat gegevens op virtuele opslag kunnen worden gerepliceerd en snel naar een andere locatie kunnen worden getransfereerd.

Netwerkvirtualisatie:

Op hetzelfde fysieke netwerk kunnen meerdere subnetwerken worden aangemaakt door hardware te combineren tot één softwarematig, virtueel netwerk. Netwerkvirtualisatie verdeelt ook de beschikbare bandbreedte in meerdere onafhankelijke kanalen, die elk in realtime aan servers en apparaten kunnen worden toegewezen. De voordelen van virtualisatie zijn onder meer een hogere betrouwbaarheid, netwerksnelheid, beveiliging en controle over het gegevensgebruik. Netwerkvirtualisatie kan een goede keuze zijn voor organisaties met een groot aantal gebruikers die op elk gewenst moment toegang nodig hebben.

Werkstationvirtualisatie:

Dit type virtualisatie scheidt de desktopomgeving van het fysieke apparaat en slaat het werkstation op een externe server op. Door deze werkwijze hebben gebruikers overal en op elk apparaat toegang tot hun desktop. Naast gemakkelijke toegang zijn de voordelen van virtuele desktops zoal: betere gegevensbeveiliging, besparingen op softwarelicenties en -updates en eenvoudig beheer.

Twee typen virtuele machines

Gebruikers kunnen kiezen uit twee typen virtuele machines: proces-virtuele machines en systeem-virtuele machines:

Met een proces-VM kan één proces als een toepassing op een hostmachine worden uitgevoerd. De VM's bieden dan een platformonafhankelijke programmeeromgeving door de informatie van de onderliggende hardware of het onderliggende besturingssysteem te maskeren. Een voorbeeld van een proces-VM is de Java Virtual Machine, waarmee elk besturingssysteem Java-applicaties kan uitvoeren alsof deze “native” voor dat systeem zouden zijn.

Een systeem-VM wordt volledig gevirtualiseerd om een fysieke machine te vervangen. Een systeemplatform verzorgt de verdeling van computerhardware tussen meerdere virtuele machines, die elk een eigen kopie van het besturingssysteem draaien. Dit virtualisatieproces is gebaseerd op een hypervisor, die kan draaien op ruwe (niet-geconfigureerde) hardware, zoals VMware ESXi, of op een besturingssysteem.

Virtuele machine versus container: wat is het verschil?

Net als bij virtuele machines kunt u met containertechnologie, zoals Docker, afgeschermde applicaties uitvoeren op één platform. Terwijl virtuele machines de hardwarelaag virtualiseren om een "virtuele computer" te creëren, bundelen containers slechts één applicatie met zijn afhankelijkheden. Daarnaast wordt Kubernetes gebruikt om de Docker-containers en de onderliggende infrastructuur te orkestreren en te automatiseren.

VM's worden vaak gemanaged door een hypervisor, terwijl containersystemen gedeelde besturingssysteemservices leveren vanuit de onderliggende machine. Zo kunnen programma's worden afgeschermd door hardware met virtueel geheugen.

Een groot voordeel van containers is dat ze minder beperkingen hebben dan VM's. Containers bevatten alleen de “binaries” (programmacode), “libraries” (bibliotheken) en andere noodzakelijke afhankelijkheden. Containers op een en dezelfde host delen dezelfde kernel van het besturingssysteem, waardoor containers veel lichter zijn dan virtuele machines.

Containers starten dus sneller op, optimaliseren de resources van de server en vergemakkelijken het leveren van applicaties.

Virtuele machines zijn groter en langzamer op te starten dan containers. Ze zijn softwarematig van elkaar afgeschermd, hebben hun eigen besturingssysteemkernel en bieden de voordelen van een volledig gescheiden OS.

Virtuele machines zijn ideaal voor het tegelijk uitvoeren van meerdere applicaties, voor monolithische applicaties, voor afscherming tussen applicaties en voor oude applicaties die op oudere besturingssystemen draaien. Containers en virtuele machines kunnen ook samen worden gebruikt.

Containers in de cloud en bare-metal servers

Containers in de cloud zijn de standaard geworden voor implementatie en beheer van applicaties. Ze bieden afscherming van applicaties, automatisch opschalen en eenvoudige implementatie, waardoor ze een interessante keuze zijn voor veel workloads.

Anderzijds verwijst de term "bare-metal" naar niet-gevirtualiseerde fysieke servers. In tegenstelling tot VM's, die op een hypervisorlaag worden uitgevoerd, worden applicaties in een bare-metal omgeving direct op de hardware uitgevoerd.

Door cloudcontainers en bare-metal servers te integreren kunt u van de voordelen van beide systemen profiteren. Containers maken het beheer van toepassingen eenvoudiger, terwijl bare-metal optimale prestaties en afscherming voor gevoelige workloads biedt.

OVHcloud en virtuele machines

VMware

VMware-virtualisatie gemanaged en onderhouden door OVHcloud

Een ​ virtuele infrastructuur 100% dedicated, gehost en onder toezicht gehouden, ​ beschikbaar in een paar klikken.

Met de reeksManaged Bare Metal Essentials kiest u voor VMware-virtualisatie met hoge beschikbaarheid en blijft u gefocust op uw vakgebied.

database

Beschik over een concurrentievoordeel met onze managed databases

Benut de kracht van uw gegevens en houd uw budget onder controle. Met onze managed database-services zorgen we voor de infrastructuur en het beheer van uw database. Hieronder vallen configuratie, back-ups, schaalbaarheid en beveiliging. Zo bespaart u tijd en geld. Uw team en u kunnen zich dus concentreren op het maken en implementeren van applicaties in de cloud. Maak uw keuze uit een breed scala aan populaire engines en implementeer nu uw database in Public Cloud.

managed private registry

Een Managed Private Registry-service die compatibel is met het native ecosysteem van de cloud

De Managed Private Registry-service van OVHcloud maakt het opslaan, beheren en gebruiken van uw containerimages en Helmcharts gemakkelijk. De dienst biedt professionele functies en tarieven zonder verrassingen.