Virtual Desktop Infrastructure begrijpen
VDI (oftewel Virtual Desktop Infrastructure) is de afgelopen jaren razend populair geweest in IT-kringen. Toen de virtualisatie van servers eenmaal de norm was geworden, was het vanzelfsprekend om naar desktops te kijken als de volgende grens van virtualisatie. Anders dan servers worden desktops echter beïnvloed door verschillende belangrijke factoren die aandacht en overweging behoeven voordat we zomaar op de VDI-trein springen. VDI is een geweldige en wonderbaarlijke technologie, maar heeft, zoals elke technologie, haar plaats en moet zorgvuldig worden overwogen.
Eerst moeten we kijken naar een belangrijk concept dat VDI beïnvloedt – het idee van gedeeld computergebruik. Bij servers gaan we er vanzelfsprekend van uit dat de servers en de diensten die zij leveren niet voor een-op-eengebruik bestemd zijn, maar door meerdere gebruikers worden benut. Dit concept bestaat, en heeft altijd bestaan, in de wereld van desktops en wordt vaak aangeduid als terminaldiensten. Terminalservers zijn het antwoord van de serverwereld op de behoefte aan gecentraliseerde desktopbronnen en zijn standaard sinds letterlijk voordat desktops überhaupt bestonden.
Het is een interessant stukje computergeschiedenis dat ons brengt bij de manier waarop de Windows-wereld omgaat met het concept van terminalservers. De meeste besturingssystemen, en vrijwel alle die vandaag de dag nog in gebruik zijn, zijn van de grond af aan ontworpen, en zijn dat altijd geweest, als systemen voor meerdere gebruikers. Het idee dat één gebruiker als de “hoofdgebruiker” voor de computer zou zitten en dat anderen ofwel tweederangs zouden zijn ofwel helemaal niet zouden bestaan, bestond eigenlijk niet en alle gebruikers werden als gelijkwaardig beschouwd. Windows, anders dan bijvoorbeeld de UNIX-familie, kwam voort uit een wereld van systemen voor één gebruiker, met als oorsprong DOS en DOS/Windows, die niet voor meerdere gebruikers waren, en toen Windows NT als systeem voor meerdere gebruikers werd ontwikkeld, behandelden zeer veel softwareontwikkelaars het zoals zij dat altijd hadden gedaan en maakten software die in een modus voor meerdere gebruikers niet goed of vaak zelfs helemaal niet zou functioneren.
Dit software-ecosysteem dat uniek is voor Windows (het zou bijvoorbeeld in feite nooit op Linux kunnen bestaan, omdat dergelijke software simpelweg als kapot zou worden beschouwd vanwege de manier waarop het ecosysteem en de implementaties bestaan) heeft een interessant probleem doen ontstaan, waardoor sommige software en sommige taken eenvoudig kunnen worden aangepakt door het gebruik van terminalservers, op identieke wijze als bij elk UNIX-besturingssysteem, terwijl veel andere toepassingen niet met een terminalserver kunnen worden aangepakt en voor elke gebruiker een eigen instantie van het besturingssysteem vereisen.
Het is vanwege deze historische factor, die heeft geleid tot een aanzienlijk verschil in software-ecosystemen, dat de fundamentele behoefte aan VDI is ontstaan, en die verklaart waarom VDI als een uniek verschijnsel binnen de Windows-wereld is opgekomen en, in alle opzichten, exclusief daarvoor blijft. Het is dus heel belangrijk om te begrijpen dat VDI conceptueel is ontstaan als een manier om tegemoet te komen aan een behoefte die alleen bestond door een tekortkoming in toepassingen van derden, en niet vanwege een intrinsieke aard van Windows zelf in zijn huidige vorm, of omdat VDI een betere benadering zou zijn voor het virtualiseren of hosten van desktopdiensten voor eindgebruikers. Sterker nog, we zouden VDI zelfs kunnen beschouwen als een ongelukkige noodgreep die alleen nodig is in situaties waarin we desktopbronnen willen virtualiseren of centraliseren en waarin een deel van de software die op die systemen moet draaien niet in een modus voor meerdere gebruikers kan draaien. VDI is een terugvalmechanisme voor bijzondere situaties en geen gewenste benadering voor gevirtualiseerde of gecentraliseerde diensten voor eindgebruikers.
Het is belangrijk op te merken dat vanwege het wijdverbreide gebruik van VDI en de noodzaak ervan, de investering in ondersteunende technologieën rondom VDI ertoe heeft geleid dat het in veel gevallen mogelijk is dat VDI daadwerkelijk beter presteert dan terminalservers, ook al lijkt dit architectonisch gezien vrijwel onmogelijk. In wezen gebeurt dit doordat de enorme hoeveelheid onderzoek en ontwikkeling die in de hypervisorlaag wordt gestoken, mogelijk dezelfde componenten in het besturingssysteem zelf voorbijstreeft, wat zorgt voor potentieel beter CPU- en geheugenbeheer en een betere middelendeling. Dit is uiteraard volledig afhankelijk van de unieke situatie, aangezien elk besturingssysteem, elke hypervisor en elke set VDI-tools uniek is, evenals de geteste werklasten, zodat de resultaten aanzienlijk zullen variëren.
Ook van wezenlijk belang is, vanwege de eerder genoemde Windows-gerichte aard van het VDI-concept, de licentieverlening. Als we VDI vanuit het Linux-perspectief zouden bekijken, zouden we weinig tot geen zorgen rondom licenties hebben en zou VDI het uitsluitend op basis van technische verdiensten opnemen tegen traditionele terminaldiensten, maar dit is in feite nooit het geval. De grootste afzonderlijke factor rondom de besluitvorming over VDI is de licentieverlening van Microsoft.
De licentieverlening voor VDI is zowel duur als complex. Bedrijven die de virtualisatie van Windows-desktopbronnen willen overwegen, moeten de voordelen zorgvuldig afwegen tegen zowel de hoge kosten van de juiste licenties als de mogelijk grote overhead van licentiebeheer. De overstap naar VDI zal waarschijnlijk veel kostbare IT-tijd vergen die wordt besteed aan licentieonderzoek, monitoring en training, een vaak over het hoofd gezien aspect van de licentiekosten.
VDI is een enigszins lastig concept om in algemeenheden te bespreken, omdat het een ietwat amorf onderwerp is. Als we een desktop virtualiseren, wordt het dan niet een server? Als we een besturingssysteem gebruiken dat voor servergebruik bedoeld is, verandert dat dan wat wel en niet VDI is? Draait VDI om toepassingsgevallen, licenties of productcategorieën?
Het echte antwoord ligt in het feit dat VDI voor de branche technisch gezien één ding is, maar in praktische zin voor Microsoft, de enige belangrijke licentiespeler in dit domein, iets enigszins anders betekent. VDI is technisch gezien de virtualisatie van een-op-een “grafische eindgebruiker”-instanties – oftewel één virtuele machine die door één gebruiker wordt gebruikt, ongeveer zoals een traditionele, fysieke desktop of laptop zou worden gebruikt. Voor Microsoft, wiens belangen enigszins afwijken van die van de branche, verwijst de term naar de virtualisatie van Windows-besturingssystemen van de “desktopklasse”. Als u Windows-besturingssystemen van de “serverklasse” virtualiseert, beschouwt Microsoft u niet als iemand die VDI doet. We moeten deze twee opvattingen van het concept dus begrijpen om verwarring te voorkomen. Sterker nog, het gebruik van Windows Server-besturingssystemen om de VDI-licentiebehoeften voor Windows-desktops te omzeilen is zeer standaard en gangbaar geworden. We moeten echter de noodgreep-aard van VDI in gedachten houden, en hoewel dit het verzuim om software van nature voor meerdere gebruikers te schrijven oplost, ondervangt het niet de zeer reële mogelijkheid dat software is geschreven met verwachtingen omtrent als desktop gemerkte besturingssystemen, en is de kans enigszins aanwezig dat we eindgebruikerssoftware aantreffen die ofwel (opzettelijk of onopzettelijk) uitsluitend aan desktopbesturingssystemen is gekoppeld, ofwel mogelijk alleen op die platforms is gelicentieerd.
De laatste belangrijke overweging rondom de besluitvorming over VDI is dat, anders dan servers die wanneer ze gevirtualiseerd worden volledig gevirtualiseerd zijn, een desktop niet op dezelfde manier behandeld kan worden, omdat er altijd een fysieke component aan verbonden is. De eindgebruiker zal altijd een monitor nodig hebben om naar te kijken, een toetsenbord om op te typen, luidsprekers om naar te luisteren, enzovoort. Dus wanneer we de overstap naar VDI willen maken, moeten we ervoor waken het feit over het hoofd te zien dat we de noodzaak om desktops aan te schaffen en te onderhouden niet wegnemen; we verplaatsen alleen waar het besturingssysteem zal staan. We kunnen oudere hardware opnieuw inzetten voor toegang op afstand, overstappen op thin clients of de nieuw benoemde en grotendeels betekenisloze zero clients, of overigens in gebruik zijnde “fat clients” een dubbele functie laten vervullen, waarbij ze zowel als client voor toegang op afstand fungeren als hun eigen desktopdiensten leveren.
Het virtualiseren van de desktop biedt ons zeker veel mooie kansen en veel waarde, mits we het om de juiste redenen doen en het hoe, waarom en wanneer van VDI begrijpen. Het is helaas, zoals zovele technologietrends, een reflexmatige reactie geworden om naar VDI te willen overstappen zonder de juiste evaluaties uit te voeren en een helder beeld te vormen van hoe VDI in onze eigen omgevingen zal passen. Als we geen heldere reden hebben om voor VDI te kiezen, is het zeer onwaarschijnlijk dat we het op een positieve manier zullen implementeren.
Tot slot is het zeer belangrijk dat we de noodzakelijke vaardigheden in overweging nemen die vereist zullen zijn om op de juiste manier naar VDI over te stappen. Vanuit een puur technisch oogpunt vormt het neerzetten van een Windows 10-VM op Hyper-V een vorm van VDI, maar vanuit een praktisch perspectief is dit niet hoe effectieve VDI wordt ontworpen. VDI vereist niet alleen de bijzondere licentiekennis die ik hierboven noemde, maar zal doorgaans nogal specifieke kennis vergen van moderne en zeer gespecialiseerde VDI-toolsets en -producten, gedeelde opslag voor zover die op VDI van toepassing is, protocollen voor toegang op afstand, thin clients of zero clients, en meer. VDI-implementaties behoren doorgaans tot de technische en unieke componenten van een infrastructuur, wat voor elke organisatie tot een groot aantal onbekenden en uitdagingen leidt.