Het wat en waarom van virtualisatie

Een computer, een netwerk, een server…: als het onderdeel uitmaakt van je IT-infrastructuur, dan kan je het vandaag virtualiseren. Wat is virtualisatie precies, en waarom is het zo alomtegenwoordig?

Van virtuele machine tot virtueel netwerk: in de hedendaagse IT-wereld verdwijnt fysieke hardware steeds meer naar de achtergrond. Virtualisatie is al een tijdje hip, maar waarom precies? Erg nieuw is het concept immers niet. In de jaren ’60 experimenteerde IBM al met virtualisatie voor zijn mainframes, met ondersteunde software voor klanten in de rekken in 1970. Om echt door te breken, moest de technologie echter nog 30 jaar rijpen. Vandaag is virtualisatie niet meer weg te denken uit een moderne IT-omgeving en met rede.

Verspilde systeembronnen

In de basis lost virtualisatie een oud efficiëntieprobleem op. Zonder virtualisatie draaien specifieke toepassingen op hun eigen servers. Denk aan een server voor mail, één voor het CRM-systeem van de onderneming en één voor een specifieke zelfgebouwde legacy-toepassing. Iedere server heeft een CPU, RAM en opslag om zich van die taak te kwijten. In de meeste gevallen zal de server in kwestie te krachtig zijn voor de toepassing die er op draait. Zo draait de mailserver misschien op 30 procent van de totale capaciteit, haalt de CRM-server 40 procent en heeft de legacy-toepassing maar 20 procent nodig.

Virtualisatie lost een oud efficiëntieprobleem op.

Alle toepassingen samen op één hoop gooien, is geen optie. De mailserver draait misschien bovenop Windows Server, de CRM-toepassing op één versie Linux en de legacy-toepassing op een andere. Virtualisatie lost dat probleem op.

Virtuele servers

Door te virtualiseren splits je één enkele server op in drie digitale virtuele servers. Op iedere virtuele server zet je dan het besturingssysteem en de toepassing die je wil. De toepassingen zelf denken nog steeds dat ze op hun eigen hardware draaien, maar niets is minder waar. In ons voorbeeld kunnen we drie servers virtualiseren in één fysieke server. Zo draaien de mailserver, de CRM-toepassing en de legacy-applicatie ieder in hun eigen omgeving op dezelfde hardware, die nu voor 90 procent wordt benut. De andere twee fysieke servers worden zo overbodig.

De hypervisor

Om virtuele computers te maken in een fysieke server (of pc), heb je een speciale softwarelaag nodig: de hypervisor. Een hypervisor verzamelt alle fysieke systeembronnen van een server (CPU, opslag, RAM, netwerk) en verdeelt die onder de virtuele computers. Iedere virtuele machine krijgt via de hypervisor toegang tot een stukje van de onderliggende fysieke hardware. In een servercontext draait de hypervisor vaak rechtstreeks op de hardware, zonder extra besturingssysteem. Zoiets noemen we een bare metal-hypervisor. Je kan echter perfect een besturingssysteem zoals Windows of Linux op je server of pc installeren en daarop een hypervisor draaien. VirtualBox van Oracle is een mooi voorbeeld voor een Windows-oplossing.

Een hypervisor werkt nauw samen met de processor van een systeem. Die moet daarom compatibel zijn met virtualisatie, maar dat is meestal het geval. Wanneer een toepassing in een virtuele machine een bewerking wil uitvoeren, geeft de hypervisor de instructies heel efficiënt door aan de onderliggende hardware. Voor de toepassing in de virtuele machine zelf is er weinig tot geen verschil in snelheid of efficiëntie vergeleken met dezelfde toepassing die rechtstreeks op de hardware draait.

Efficiëntiewinst

Gevirtualiseerde systemen hebben veel gemeen met fysieke systemen. Zodra een toepassing of mens toegang heeft tot een virtueel systeem, is de gebruikservaring gelijkaardig. Bovendien zijn gevirtualiseerde systemen van elkaar gescheiden, ook al draaien ze op dezelfde fysieke hardware. De virtuele mailserver kan dus niet zien wat de virtuele server voor de legacy-toepassingen uitspookt, en vice versa.

Virtualisatie verlaagt de lat om toepassingen te bouwen en te draaien. Waar een organisatie vroeger een nieuwe server moest bestellen om een nieuwe applicatie uit te rollen, volstaat het nu om een virtuele machine toe te voegen op een bestaande server. Zo kan je meteen aan de slag gaan.

In zijn meest elementaire vorm zorgt virtualisatie er dus voor dat verschillende toepassingen met de hulp van virtuele computers samen op dezelfde fysieke server kunnen draaien, met een flinke efficiëntiewinst tot gevolg.

Veilig en flexibel

Virtualisatie brengt ook veiligheid en flexibiliteit mee. Draai je een virtuele Windowscomputer via VirtualBox op je eigen systeem, dan zal je zien dat de virtuele computer op de fysieke computer de vorm aanneemt van een groot bestand. Dat bestand kan je eenvoudig kopiëren. Zo maakt virtualisatie zogenaamde snapshots eenvoudig: op verschillende momenten in de tijd kan je een kopie nemen van het bestand waarin de gevirtualiseerde computer woont, zodat je uitgebreide back-ups hebt.

Loopt er iets mis? Dan vervang je de defecte virtuele machine door een iets oudere versie van zichzelf die nog wel perfect werkt. Omdat virtuele machines niet afhankelijk zijn van virtuele hardware, kan je ze overal draaien. Sneuvelt een fysieke server? Dan draai je de VM’s gewoon op een ander exemplaar.

Ook vanuit een IT-standpunt zijn er argumenten voor virtualisatie te bedenken. Het beheer van virtuele machines valt veel eenvoudiger te centraliseren dan het onderhouden van meerdere fysieke servers. Virtuele machines kan je onderhouden, troubleshooten en updaten vanaf één centrale console.

Aangezien virtuele machines zich gedragen als computers en servers, is hun functionaliteit bijna grenzeloos. Je kan naar believen VM’s aanmaken, aanpassen en verwijderen, zolang de onderliggende fysieke hardware voldoende pk’s aan boord heeft. Veel bedrijfstoepassingen draaien daarom in VM’s. Containers zijn een moderner alternatief met belangrijke gelijkenissen maar ook grote verschillen. We gingen eerder al in detail in op het onderscheid tussen VM’s en containers.

Pc’s in een server

De flexibiliteit van virtualisatie zorgde voor de opkomst van virtuele desktopmachines. Je hoeft je immers niet te beperken tot de virtualisatie van servers voor specifieke toepassingen. Op één krachtige server kan je heel wat Windows 10/11-computers virtualiseren die genoeg pk’s hebben voor kantoorwerk. Werknemers kunnen die virtuele computers gebruiken in de plaats van fysieke desktops of laptops. Met het Virtual Machine Platform in Windows 11 kan je bijvoorbeeld Android- en Linux-apps draaien op je oc.

Dat heeft voordelen: de virtuele computer is in theorie van overal toegankelijk. Je kan er mee verbinden via je laptop thuis of een zogenaamde thin client op het werk. Dat is een heel lichte en goedkope computer die net sterk genoeg is om met een virtuele machine (VM) te verbinden. Invoer van je muis en toetsenbord gaat via de thin client naar de virtuele computer, output komt terug en verschijnt op je scherm. Zonder thin client verbind je met een VM via een agent. Citrix, VMware en Red Hat zijn bekende bedrijven die desktopvirtualisatie aanbieden op Windows, Linux en macOS.

De flexibiliteit van virtualisatie zorgde voor de opkomst van virtuele desktopmachines.

Desktopvirtualisatie vond aanvankelijk vooral plaats op on-premises bedrijfsservers. Vandaag zien we echter een verschuiving naar de cloud. Windows 365 en de Cloud PC zijn een mooi voorbeeld van virtuele Windows-pc’s die op cloudservers leven. Een goede verbinding met de server waarop de virtuele machine draait, is ten allen tijde essentieel.

Opslag- en netwerkvirtualisatie

We kunnen nog een stapje verder gaan en opslag of het netwerk virtualiseren. Opslagvirtualisatie vertrouwt op een hypervisor om data die op verschillende locaties staat te aggregeren tot een enkele databron. Dat is handig voor toepassingen die van alle data gebruik maken. Applicaties krijgen zo toegang tot alle data, ongeacht de bron, locatie of format.

Netwerkvirtualisatie is een beetje complexer. Voor netwerkvirtualisatie worden alle onderliggende netwerkcomponenten in één pot gesmeten. Een hypervisor bekijkt de servers, switches en firewalls als systeembronnen. Bovenop de hypervisor kan je dan virtuele gesegmenteerde netwerken aanleggen, zonder dat je kabels hoeft te versteken. De onderliggende fysieke infrastructuur blijft één netwerk, maar de netwerken daarboven zijn gescheiden. Dat is handig om bijvoorbeeld een IoT-netwerk en een gastnetwerk van het gewone bedrijfsnetwerk te scheiden.

Virtualisatie vormt zo de basis van het cloud computing-model. De provider stelt zijn infrastructuur ter beschikking en de klant kan die draaien zonder eigen fysieke servers nodig te hebben. Dit neemt verschillende gradaties aan, afhankelijk van hoe ver de klant op de pyramide wil gaan.

Van virtualisatie naar HCI

De essentie van virtualisatie is éénvoudig. Alle fysieke hardware van een toestel wordt op één hoop gesmeten, waarna een hypervisor de beschikbare fysieke hardware verdeelt onder virtuele machines. Op die virtuele machines zet je verder wat je wil.

Wat nu als je nog efficiënter wil worden? Kan je de hardware van verschillende servers samenvoegen en daar virtuele machines op draaien? Absoluut, maar die oefening brengt extra complexiteit met zich mee. Traditionele virtualisatie vindt plaats op één fysiek toestel waar de hardware netjes met elkaar praat. Wil je de rekenkracht van één server combineren met de opslag van een tweede en daarop een virtuele machine draaien, dan heb je andere technologie nodig. Dat knip- en plakwerk van systeembronnen noemen we hyperconverged infrastructuur (HCI) en is een logische opvolging van klassieke servervirtualisatie.


Dit artikel verscheen origineel op 16 augustus 2021. De tekst kteeg een update met de recentste informatie.

nieuwsbrief

Abonneer je gratis op ITdaily !

  • This field is for validation purposes and should be left unchanged.