Beslutningspunkt: VDI og terminalservices
To grunnleggende konsepter konkurrerer om fremtredende plass, om teknologier bryr seg om det, når det gjelder grafiske fjernskrivebordsgrensesnitt: VDI (virtuell skrivebordsinfrastruktur) og terminalservices. Ideen med begge er enkel: plassere ressurser og prosessering på en server og la sluttbrukere få tilgang til det grafiske grensesnittet eksternt over et nettverk. Det som fundamentalt skiller VDI og TS er forskjellen mellom at den eksterne serveren er en én-til-mange-opplevelse der mange brukere får sine skrivebord fra ett enkelt operativsystembilde (TS), og at hver bruker får en dedikert server for seg selv (antatt virtualisert og kalt VDI) der det ikke er noen deling av de individuelle operativsystemressursene.
Det er en viss antakelse, delvis fra navnekonvensjonene, om at VDI innebærer et skrivebordsoperativsystem fremfor et server-operativsystem, men dette bør ikke ses som en implikasjon. Faktisk, utenfor Windows-verdenen, er det virkelig ingen separasjon mellom skrivebords- og serveroperativsystemer, så å ha en slik distinksjon på teknologinivå ville ikke gi mening. Det er imidlertid viktig å huske at Microsoft definerer VDI-lisensiering gjennom bruk av forskjellige OS-lisensalternativer, og de fleste VDI-installasjoner er for Windows-operativsystemer, så selv om VDI ikke nødvendigvis innebærer dette, er det i praksis generelt viktig å huske på at teknisk sett er det ingen distinksjon, mens det på Microsoft-lisenssiden er store distinksjoner.
Av de to er VDI det nyere konseptet. Terminalservices har eksistert i tiår og er godt kjent – de er alt annet enn spennende eller prangende i dag. Terminalservices kom før Windows og er vanlig for nesten alle operativsystemfamilier, og er så vanlig i UNIX-verdenen at de ofte brukes uten særlig oppmerksomhet. Terminalservices er den grafiske videreføringen av de gamle “grønnskjerm”-terminalene som ble brukt siden datamaskinenes “gamle dager”. I de gamle dager var terminalene ofte seriellt tilkoblede VT100-terminaler, og i dag bruker vi TCP/IP-nettverk og protokoller som er i stand til å bære grafikk, men konseptet er det samme: mange brukere på én server.
Med VDI oppnår vi de samme målene, men gjør det ved å gi hver bruker alle sine egne ressurser. Operativsystemet deres er fullstendig deres eget, ikke delt med noen. Dette betyr at det er all overhead fra minnehåndtering, CPU-håndtering, prosesstabeller, kopier av biblioteker og slikt for hver enkelt bruker. Det er mye overhead. Tenk på alle ressursene et inaktivt grafisk skrivebord krever bare for å starte opp og vente på brukeren – det kan være ganske mye. Nyere Windows-operativsystemer har blitt slankere og mer effektive, sannsynligvis for å gjøre dem mer levedyktige på VDI-infrastrukturer, men overheaden forblir en betydelig faktor. VDI var egentlig ikke mulig før virtualisering gjorde det til en realitet, så i enhver praktisk forstand er det en ny bruk av teknologi og er ofte misforstått.
Det vi nå står overfor er, når vi bestemmer oss for en fjern beregningsinfrastruktur, å velge mellom disse to arkitekturideene. Det bør selvfølgelig bemerkes at disse to kan sameksistere svært enkelt, og det ville ofte være hensiktsmessig å gjøre dette. I mindre virksomheter ville det faktisk være svært enkelt for de to å sameksistere på den samme fysiske plattformen. Det er mange faktorer her vi må vurdere, og denne beslutningsprosessen kan faktisk være ganske komplisert.
En av de største faktorene vi må vurdere er programvarekompatibilitet. Dette er den største driveren for overgangen til VDI fremfor terminalservices. I Windows-verdenen er det ikke uvanlig at applikasjoner krever ting som et skrivebordsoperativsystem-signatur (nekter å kjøre på server-OS-varianter), enkeltbrukermiljøer, at brukere har administratornivå-rettigheter, at brukere kjører med spesifikke kontoer, eller bibliotekskrav som ofte vil komme i konflikt med andre pakker. På grunn av disse problemene ser mange selskaper til VDI for å etterligne måten individuelle skrivebord fungerer på, der disse problemene lett ble oversett fordi hver bruker kjørte i et diskret miljø. VDI bringer den samme funksjonaliteten til fjernaksessverdenen og lar problematiske applikasjoner imøtekommes etter behov. Isolasjon av operativsystemet legger til et beskyttelseslag.
Denne drivende faktoren eksisterer i realiteten ikke utenfor Windows-verdenen, og er primært grunnen til at VDI aldri har fått fotfeste i noe annet miljø. Selv om det lett kan oppnås med Linux eller FreeBSD, for eksempel, har VDI lite formål eller verdi i disse tilfellene.
En stor bekymring med VDI er den ekstreme overheaden som er nødvendig for å administrere mange redundante operativsystemer, hvert med sine egne dupliserte prosesser, lagring og minne. I de tidlige dagene gjorde dette VDI utrolig ineffektivt. Mer nylig har imidlertid avanserte VDI-systemer, primært sentrert rundt virtualiseringsplattformer og lagring, adressert mange av disse problemene ved å deduplisere minne og lagring, bruke vanlige master-oppstartsfiler og andre teknikker. Faktisk, i motsetning til de fleste antakelser, kan det til og med hende at VDI overgår tradisjonelle terminalservices for Windows, på grunn av at hypervisor-plattformen kan håndtere minnehåndtering og oppgavebytte enda mer effektivt enn Windows selv (et fenomen som først ble observert tidlig på 2000-tallet da Windows i noen tilfeller kjørte raskere når det var virtualisert på toppen av Linux, slik at minnehåndtering delvis kunne overleveres til Linux-systemet under, som var mer effektivt). Dette er definitivt ikke alltid tilfelle, men forbedringene i VDI-håndtering har kommet så langt at de to ofte er ganske nære hverandre. Igjen er dette imidlertid en faktor som gjør VDI mer attraktivt i Windows-verdenen, men ikke like dramatisk i ikke-Windows-verdenen der native OS-oppgavehåndtering typisk er mer effektiv og VDI ville forbli unødvendig overhead.
Et annet område der VDI konsekvent har vist seg å være mer kapabelt enn terminalservices er innen grafisk rike renderte miljøer som CAD og videoredigering. De samme områdene som fortsatt lener seg tungt mot dedikert maskinvare, tenderer til å bevege seg mot VDI fremfor terminalservices på grunn av en tung investering i GPU-kapabiliteter innenfor VDI-løsningene. Dette er ikke et universelt scenario, men for situasjoner der tung grafisk rendering må finne sted er det verdt å undersøke muligheten for at VDI vil prestere betydelig bedre.
På grunn av hvordan VDI administreres er det ofte forbeholdt bare svært store distribusjoner der skalaen, i antall sluttbrukere inkludert i løsningen, kan brukes til å overvinne noen av implementeringskostnadene. Terminalservices, på grunn av sin mer skalerbare kostnad, er imidlertid ofte i stand til å implementeres for mindre miljøer eller undergrupper av brukere mer kostnadseffektivt. Ingen av dem er vanlig for et svært lite miljø med bare noen få brukere, selv om et merkelig fenomen med manuelt administrert VDI ville gjøre VDI sannsynligvis mer effektivt enn terminalservices for et unntaksvis lite antall brukere, kanskje færre enn ti, der VDI behandles mer som individuelle servere fremfor som et samlet VDI-miljø.
Med bare de sjeldneste unntak, primært på grunn av lisensieringsoverheaden skapt av Windows-skrivebordsøkosystemet i et virtualisert miljø, er det en de facto utgangspunkt for fjernaksess-sluttbrukersystemer å anta et startpunkt med terminalserver-teknologier og kun vende seg til de mer kompliserte og mer kostbare VDI-løsningene når terminalservices viser seg å være ute av stand til å møte de tekniske kravene i scenariet. For alle praktiske formål er VDI en brute force-reserve-metode for å få sluttbrukervirtuaisering til å fungere der de foretrukne metodene har kommet til kort.