Woord vooraf Deze bachelorproef is tot stand gekomen naar aanleiding van mijn stage in de Arteveldehogeschool. Mijn belangrijkste opdracht was een onderzoek te voeren naar de mogelijkheden van virtualisatie van software in deze hogeschool, meer bepaald in de opleiding Podologie. Ondertussen heb ik mij ook verdiept in de verschillende mogelijkheden van virtualisatie. Dit werk is bedoeld voor mensen die snel willen te weten komen wat virtualisatie van software is. Ook het aanbod ervan wordt besproken. Het is een korte inleiding om bedrijfsleiders een houvast te bieden tijdens het implementeren van virtualisatie van software. In het laatste hoofdstuk van dit werk deel ik mijn bevindingen uit het onderzoek mee aan de medewerkers van de ICT-dienst van de Arteveldehogeschool. Zo kunnen ze de virtualisatie in deze hogeschool verder uitbouwen. Ik wil van de gelegenheid gebruik maken om mijn stagementor, de heer Hans David, en mijn stagebegeleider en promotor, de heer Tijl Deneut, te bedanken. Ze hebben door hun steun en opbouwende kritiek bijgedragen tot het resultaat van deze bachelorproef.
Abstract Het doel van deze bachelorproef is dat ik een proefopstelling i.v.m. virtualisatie van software zou voorstellen voor de opleiding Podologie van de Arteveldehogeschool. Vooraleer ik daaraan kon beginnen, was het noodzakelijk dat ik eerst op zoek ging naar de betekenis van virtualisatie van software en het gebruik ervan in andere Vlaamse hogescholen en universiteiten. Via een enquête kwam ik te weten welke applicatievirtualisatie- en desktopvirtualisatietechnologieën in deze instellingen gebruikt worden. Ik heb deze technologieën uitgebreid onderzocht. Vooraleer de testopstelling te maken heb ik nagegaan wat de doelstellingen voor de eindgebruiker en de IT-dienst zijn. Met deze doelen en de soorten virtualisatie van software in het achterhoofd, heb ik een succesvolle proefopstelling voor de opleiding Podologie kunnen maken.
Inhoudsopgave Lijst met figuren........................................................................................................................................ i Lijst met grafieken .................................................................................................................................... i Lijst met tabellen ...................................................................................................................................... i Lijst met afkortingen ................................................................................................................................ii Lijst met woorden....................................................................................................................................iii 1
Virtualisatie ..................................................................................................................................... 1 1.1
Wat is virtualisatie? ................................................................................................................. 1
1.2
Drijfveer van virtualisatie ........................................................................................................ 1
1.2.1
Hardware niet optimaal benut ........................................................................................ 1
1.2.2
Ruimte in datacenters wordt beperkter.......................................................................... 1
1.2.3
Energieverbruik ............................................................................................................... 2
1.2.4
Efficiëntie voor beheerder............................................................................................... 2
1.3
Soorten virtualisatie ................................................................................................................ 3
1.4
Cloud en cloudcomputing ....................................................................................................... 3
1.4.1
Karakteristieken van cloudcomputing ............................................................................. 4
1.4.2
Type clouds ...................................................................................................................... 5
1.4.3
Service models................................................................................................................. 6
1.5
2
Virtualisatie van software........................................................................................................ 7
1.5.1
Wat is virtualisatie van software? ................................................................................... 7
1.5.2
Waarom virtualisatie van software? ............................................................................... 8
1.5.2.1
BYOD ............................................................................................................................ 8
1.5.2.2
Centraal beheer ........................................................................................................... 8
1.5.2.3
Licentieproblematiek ................................................................................................... 8
1.5.2.4
Minder en kleinere beelden ........................................................................................ 9
Applicatievirtualisatie .................................................................................................................... 10 2.1
Wat is applicatievirtualisatie? ............................................................................................... 10
2.2
Verschillende soorten applicatievirtualisatie ........................................................................ 12
2.2.1
Portable application ...................................................................................................... 12
2.2.2
Applicatiestreaming....................................................................................................... 12
2.2.3
Applicatiehosting / sessievirtualisatie ........................................................................... 12
2.3
Welke technologieën zijn er op de markt? ........................................................................... 13
2.3.1
Citrix XenApp ................................................................................................................. 13
2.3.1.1
Hoe werkt XenApp? ................................................................................................... 14
2.3.1.2
HDX-protocol ............................................................................................................. 14
2.3.1.3
Wat is er nieuw in XenApp 7.5 .................................................................................. 15
2.3.1.4
Policies ....................................................................................................................... 15
2.3.2 2.3.2.1
Hoe werkt VMware ThinApp? ................................................................................... 15
2.3.2.2
Verspreiding van de applicaties................................................................................. 16
2.3.2.3
Nadelen aan VMware ThinApp ................................................................................. 16
2.3.3 2.3.3.1
3
Configureerbare virtualisatie..................................................................................... 17 Novell ZENworks Application Virtualization .................................................................. 17
2.3.5
Spoon.net ...................................................................................................................... 18
2.3.5.1
Spoon Virtual Application Studio .............................................................................. 19
2.3.5.2
Spoon Server ............................................................................................................. 19
2.3.5.3
Eindgebruiker ............................................................................................................ 19
2.3.6
Microsoft App‐V 5.0 ...................................................................................................... 19
2.3.7
Microsoft RemoteApp ................................................................................................... 20
Desktopvirtualisate........................................................................................................................ 21 3.1
Wat is desktopvirtualisatie? .................................................................................................. 21
3.2
Verschillende soorten desktopvirtualisatie ........................................................................... 22
3.2.1
Sessievirtualisatie .......................................................................................................... 22
3.2.2
Virtual Desktop Infrastructure (VDI) ............................................................................. 22
3.2.3
Streamed VHD ............................................................................................................... 22
3.2.4
Client-VDI / local VM ..................................................................................................... 23
Welke technologieën zijn er op de markt? ........................................................................... 23
3.3.1
Citrix VDI-in-a-box ......................................................................................................... 23
3.3.2
Citrix XenDesktop .......................................................................................................... 24
3.3.2.1
5
Numecent Application Jukebox ..................................................................................... 16
2.3.4
3.3
4
VMware ThinApp ........................................................................................................... 15
FlexCast en VDA ......................................................................................................... 25
3.3.3
Microsoft RDVH - Virtual Desktop Infrastructure.......................................................... 26
3.3.4
VMware Horizon Suite (VMware Horizon View) ........................................................... 27
3.3.5
Windows To Go ............................................................................................................. 27
Onderzoek in Vlaamse hogescholen en universiteiten ................................................................. 29 4.1
Vaststellingen ........................................................................................................................ 29
4.2
Applicatievirtualisatie ............................................................................................................ 31
4.3
Desktopvirtualisatie............................................................................................................... 34
4.4
Conclusies .............................................................................................................................. 36
4.4.1
Applicatievirtualisatie .................................................................................................... 36
4.4.2
Desktopvirtualisatie....................................................................................................... 36
Virtualisatie van software in de Arteveldehogeschool ................................................................. 37 5.1
Waarom? ............................................................................................................................... 37
5.2
Case: virtualisatie van software voor de opleiding Podologie .............................................. 37
5.2.1
Omschrijving .................................................................................................................. 37
5.2.1.1
Doelstellingen voor eindgebruiker ............................................................................ 37
5.2.1.2
Doelstellingen voor IT-dienst .................................................................................... 37
5.2.2
Uitwerking ..................................................................................................................... 37
5.2.3
Testopstelling ................................................................................................................ 38
5.2.4
Microsoft App-V ............................................................................................................ 39
5.2.4.1
App-V Sequencer ....................................................................................................... 40
5.2.4.2
App-V Server .............................................................................................................. 40
5.2.4.3
App-V Client ............................................................................................................... 40
5.2.5
Microsoft RDS/RDVH ..................................................................................................... 41
5.2.6
Citrix XenApp / XenDesktop .......................................................................................... 41
5.2.7
Troubleshooting ............................................................................................................ 41
5.2.7.1
App-V pakket niet zichtbaar in applicatie-lijst........................................................... 41
5.2.7.2
App-V pakket start niet in de Windows Server omgeving......................................... 43
5.2.7.3
Veilig software installeren op een server .................................................................. 43
Besluit .................................................................................................................................................... 45 Referenties ............................................................................................................................................ 46 Bijlagen .................................................................................................................................................. 50
Lijst met figuren Figuur 1: Schematische voorstelling van cloudcomputing volgens NIST (Cloudcontrols.org) ................ 4 Figuur 2: Service models, zichtbaarheid naar eindgebruiker (ShuttleCloud, 2013) ................................ 6 Figuur 3: Service models, welk doel heeft welke model? (Server Cloud Canada, 2013) ........................ 7 Figuur 4: Overzicht hiërarchie applicatievirtualisatie ........................................................................... 11 Figuur 5: Communicatie tussen user mode en kernel mode componenten (Microsoft Corporation, sd) ............................................................................................................................................................... 11 Figuur 6: Grafische voorstelling isolatiemodi VMware ThinApp (VMware, Inc., 2013) ........................ 16 Figuur 7: Spoon VM (Spoon, 2014) ....................................................................................................... 18 Figuur 8: Overzicht hiërarchie desktopvirtualisatie .............................................................................. 22 Figuur 9: Citrix VDI-in-a-box architecture (van Kaam, 2013)................................................................. 24 Figuur 10: Vergelijking Citrix XenApp en Citrix XenDesktop features ................................................... 25 Figuur 11: FlexCast architectuur (ITON, 2014) ...................................................................................... 26 Figuur 12: Testopstelling ....................................................................................................................... 38 Figuur 13: Testopstelling inclusief VDI .................................................................................................. 39 Figuur 14: Troubleshooting - Gegevens pakket Kinovea ....................................................................... 42 Figuur 15: Troubleshooting - App-V pakket zichtbaar in applicatielijst ................................................ 43 Figuur 16: Enquête - Contactgegevens ................................................................................................. 50 Figuur 17: Enquête - Oplossingen ......................................................................................................... 50 Figuur 18: Enquête - Applicatievirtualisatie .......................................................................................... 51 Figuur 19: Enquête - Desktopvirtualisatie ............................................................................................. 52 Figuur 20: Enquête - Toekomstplannen ................................................................................................ 53 Figuur 21: Enquête - Details .................................................................................................................. 54
Lijst met grafieken Grafiek 1: Verhouding applicatie-/desktopvirtualisatie universiteiten ................................................. 29 Grafiek 2: Verhouding applicatie-/desktopvirtualisatie hogescholen................................................... 29 Grafiek 3: Verdeling applicatie- of desktopvirtualisatie ........................................................................ 30 Grafiek 4: Applicatievirtualisatietechnologieën .................................................................................... 31 Grafiek 5: Applicatievirtualisatietechnologieën bij administratief personeel ...................................... 32 Grafiek 6: Applicatievirtualisatietechnologieën bij lesgevend personeel ............................................. 32 Grafiek 7: Applicatievirtualisatietechnologieën bij studenten.............................................................. 33 Grafiek 8: Verdeling applicatievirtualisatietechnologieën over aantal studenten ............................... 33 Grafiek 9: Gebruikte desktopvirtualisatietechnologieën ...................................................................... 34 Grafiek 10: Gebruikte desktopvirtualisatietechnologieën bij administratief personeel....................... 34 Grafiek 11: Gebruikte desktopvirtualisatietechnologieën bij lesgevend personeel ............................. 35 Grafiek 12: Gebruikte desktopvirtualisatietechnologieën bij studenten .............................................. 35 Grafiek 13: Verdeling desktopvirtualisatietechnologieën over aantal studenten ................................ 36
Lijst met tabellen Tabel 1: Gebruikte applicatievirtualisatietechnologieën per doelgroep en per instelling.................... 30 Tabel 2: Gebruikte desktopvirtualisatietechnologieën per doelgroep en per instelling ...................... 31
Lijst met afkortingen AD
Active Directory; centraal beheer van gebruikers, groepen, computers, e.d.m.
API
Application Programming Interface; bibliotheek die zorgt voor de communcitatie tussen verschillende applicaties of tussen lagen in een applicatie.
BYOD
Bring Your Own Device
CmdLet
Een .NET classe die in staat is bepaalde operaties te doen in PowerShell.
HD
High Definition
HTTP
Hypertext Transfer Protocol; Protocol gebruikt tussen webclients en webservers.
ICA
Independent Computing Architecture; ICA is een protocol ontworpen door Citrix voor hun application server. Het ICA protocol stuurt de beelden naar de eindgebruiker in barre omstandigheden: een lange bandbreedte en relatief lage snelheid.
RTP/UDP
Real-time Transport Protocol/User Datagram Protocol; Protocol om snel real-time pakketten te verzenden. Er is geen zekerheid dat de pakketten toegekomen zijn.
SCCM
System Center Configuration Manager; een system managementproduct van Microsoft. SCCM maakt het beheer van vele toestellen gemakkelijk. Een brede waaier aan besturingssystemen worden ondersteund: Windows als Windows Embedded, OS X, Linux en Unix, Windows Phone, Android, iOS en Symbian. Door gebruik te maken van SCCM kunnen software patches eenvoudig verspreid worden, software beheerd worden, besturingssystemen uitgerold worden e.d.m.
TCP/IP
Transmission Control Protocol/internetprotocol; Betrouwbaardere manier om pakketjes over het internet te sturen. Er wordt gecontroleerd of het pakketje al dan niet is aangekomen. Dit mechanisme neemt tijd in beslag. Hierdoor is dit protocol trager dan RTP/UDP.
VM
Zie “Virtual machine” in lijst met woorden.
Lijst met woorden Bring your own device
Zie 1.5.2.1 BYOD.
Cached credentials
Het geheel van gebruikersnaam en wachtwoord die opgeslagen zijn op het toestel voor een bepaalde periode. Hierdoor hoeft niet telkens opnieuw ingelogd te worden.
Cloud
Cloud is een netwerk van computers waarvan de eindgebruiker niet weet welke server hij benadert of waar de servers staan.
Cloudcomputing
Technologie om het datacenter modulair te maken. De componenten in het datacenter kunnen dynamisch aangemaakt worden zodat ze schaalbaar, flexibel en beheersbaar zijn.
Datacenter
Een faciliteit waar IT-apparatuur kan worden geplaatst, vaak servers. Deze datacenters zijn vaak uitgerust met diverse voorzieningen zoals airconditioning, brandblussysteem e.d.m. Datacenters nemen ook maatregelen tegen stroomuitval. Hiervoor zijn noodgeneratoren aanwezig.
End-to-end solution
De aanbieder van software of een systeem levert ook alle nodige hardware of software aan om te voldoen aan de vereisten van de klant, zonder dat een andere leverancier tussen moet komen.
Farm
Synoniem: cluster. Een groep van servers.
Group policy
Group Policy biedt de mogelijkheid om configuratie van besturingsystemen, applicaties en gebruikersinstellingen centraal te beheren in een Active Directory (AD) omgeving.
Hibernation
Slaapstand; hierbij wordt het toestel afgesloten maar houdt de huidige staat van het toestel bij. Wanneer het toestel terug opstart, staan alle programma’s en vensters nog steeds open.
Host
Een computer die verbonden is met het internet of netwerk. Soms wordt hier ook server mee bedoeld.
Hypervisor
Een stuk software of hardware dat het mogelijk maakt om virtuele machines te draaien op het systeem.
Kernel mode
Applicaties in kernel mode kunnen hardware aanspreken. Fouten in deze programma’s zijn catastrofaal omdat het volledige systeem kan vast lopen.
Kernel
De kern van het besturingssysteem. Deze laag voert vaak de communicatie met de hardware.
Latency
Synoniem voor vertraging. De tijd dat een bepaald pakketje nodig heeft om van punt a naar punt b vervoerd te worden.
Load balancing
Proces bij computernetwerken waarbij verschillende computers/servers het werk verdelen.
Non-persistent
De data wordt verwijderd wanneer de sessie beëindigd wordt.
Outsourcen
Uitbesteden.
PCoIP
Protocol dat ontworpen werd door VMware en Teradici om het beeld van een programma of desktop over het netwerk te versturen. Dit beeld wordt gecomprimeerd en geëncrypteerd verzonden.
Persistent
De data blijft behouden wanneer de sessie beëindigd wordt.
Round-trip latency
De duur van het verzenden van een signaal en de tijd hoelang het duurt dat er bevestiging van ontvangst.
Server
Is een computer of programma dat dienst verleent aan een client.
Single sign-on
Stelt de eindgebruiker in staat één keer aan te melden voor gebruik te maken van verschillende software.
Snapshot
Een staat van evirtuele machine. Hier kan altijd naar terug gegaan worden.
Sourcecodecontract
Een contract dat vastlegt dat de code mag gewijzigd en doorverkocht mag worden.
System-tray
Het deel rechts in de taakbalk. Hier staan enkele icoontjes van applicaties en de klok.
Thin client
“Een domme computer”. Maakt gebruik van de computerkracht van een server. Deze toestellen hebben een heel laag verbruik.
User mode
Een mode waar veel applicaties in draaien. Hierbij kan de hardware niet rechtstreeks worden aangesproken.
Virtual address space
Een groep van virtual addresses dat beschikbaar gemaakt is door het besturingssysteem voor een bepaald proces.
Virtual address
Een adres in de virtual address space.
Virtual machine
Is een software gebaseerde emulatie van een computer.
Inleiding In de lessen van het opleidingsonderdeel “Virtualisatie en Cloudcomputing” maakte ik uitgebreid kennis met virtualisatie. Het werd mij vlug duidelijk dat ik tijdens mijn stageperiode iets met dat thema wou doen. Tijdens mijn zoektocht naar een geschikte stageplaats kwam ik terecht bij de IT-dienst van de Arteveldehogeschool. Deze dienst was op zoek naar een onderzoek over virtualisatie van software. Vanuit de opleiding Podologie kwam immers de vraag om software en data centraal beschikbaar te stellen. Dit was meteen de onderzoeksvraag die mij werd voorgelegd. In deze bachelorproef leest u het antwoord. Het eerste hoofdstuk gaat over virtualisatie in het algemeen, cloudcomputing en een introductie van virtualisatie van software. Ook de verschillende soorten clouds en de belangrijkste redenen van virtualisatie van software komen aan bod. In het tweede hoofdstuk wordt applicatievirtualisatie aangepakt. Naast een korte introductie over de verschillende soorten, komen de verschillende technologieën aan bod. Desktopvirtualisatie is de kern van hoofdstuk drie. Ook hier worden de verschillende technologieën besproken. In het vierde hoofdstuk behandel ik de resultaten van een door mij gevoerde enquête i.v.m. het gebruik van virtualisatie van software in de Vlaamse hogescholen en universiteiten. Het antwoord op de onderzoeksvraag leest u in het vijfde hoofdstuk. Hierin wordt de testopstelling voor de opleiding Podologie uitgewerkt en worden de technologieën uitgelegd die momenteel het meest geschikt zijn voor de Arteveldehogeschool.
1 Virtualisatie 1.1 Wat is virtualisatie? Zonder dat veel mensen het beseffen is er een grote verandering bezig op het vlak van IT. Veel mensen surfen op het internet via hun smartphone, streamen video’s van de cloud, houden bestanden centraal bij in de cloud, enz. In de kern van deze activiteiten ligt virtualisatie van servers: de mogelijkheid om een fysieke server om te zetten in een virtuele omgeving, namelijk een virtuele machine (virtual machine, VM). Tijdens de laatste decennia zijn er veel fundamentele wijzigingen geweest i.v.m. hoe computing services worden aangeboden. In de jaren 60 regeerde de mainframe. Tijdens de jaren 80 en 90 waren vooral de personal computer en de client/server technologie populair. De laatste jaren zagen we en enorme groei van het internet. Deze beweging is nog steeds bezig. Achter de schermen is er een enorme verandering aan het voltrekken: de virtualisatie. In de IT wereld kom je vaak het woord “virtualisatie” tegen en ook al heb je geen IT kennis, je zal in de toekomst meer en meer geconfronteerd worden met virtualisatie. Maar wat is virtualisatie nu precies? Virtualisatie is de mogelijkheid om een fysiek component om te zetten naar een logisch object, iets wat de computer begrijpt. De drijfveer achter virtualisatie is hoe fysieke computers/servers worden behandeld, services worden aangeleverd en de toewijzing van budgetten. Om virtualisatie goed te kunnen begrijpen, moet je het verleden onder de loep nemen. Door de jaren heen is het woord “virtualisatie” gewijzigd van betekenis. Deze wijziging was te wijten aan de groei van het gebruik van smartphones en het internet. Nu zijn we in staat om via online applicaties te shoppen in een virtuele winkel, contact te houden met onze virtuele vrienden, rond te lopen in een virtuele wereld, e.d.m. Heel wat mensen spenderen zelfs veel uren en geld om een wereld te verkennen, een wereld dat enkel bestaat in iemands hoofd en op een gameserver.
1.2 Drijfveer van virtualisatie Er zijn verschillende redenen – zoals het niet optimaal benutten van de processor, te groot energieverbruik, mechanismes die heel moeilijk te realiseren zijn bij fysieke toestellen, e.d.m. – waarom er gekozen wordt om aan virtualisatie te doen. Niet alle redenen zijn toepasbaar op alle soorten van virtualisatie, wat duidelijk zal worden tijdens het lezen over de verschillende soorten van virtualisatie.
1.2.1 Hardware niet optimaal benut Eén van de redenen waarom er gekozen wordt om aan virtualisatie te doen is het optimaal benutten van de hardware. Zo wordt bijvoorbeeld de processor van een mailserver maar voor 10 % gebruikt van wat hij werkelijk kan. Wanneer dan blijkt dat er de mogelijkheid is om meerdere “servers” (wat is deze context virtual machines wordt genoemd, VM) te plaatsen op één server – zodat de hardware optimaal gebruikt wordt – en waardoor er vijf fysieke servers uitgespaard kunnen worden, dan is de keuze waarschijnlijk snel gemaakt. Dit betekent een daling van de kosten voor hardware. Houd er wel rekening mee dat de technologie om dit te realiseren ook geld kost, wat misschien niet zal opwegen tegen de hardware- en energiebesparing.
1.2.2 Ruimte in datacenters wordt beperkter Doordat er voor elke toepassing (mailserver, fileserver e.d.) een fysiek toestel geplaatst wordt in de datacenters geraakt de ruimte waar deze datacenters staan vol. Indien het hier gaat over een datacenter in het bedrijf zelf, zal het waarschijnlijk moeilijk zijn dit uit te breiden of een nieuwe datacenter te plaatsen. Indien het gaat over gespecialiseerde datacenters – waar zelf een server kan geplaatst worden of een virtuele server kan aangeboden worden – moet deze nieuw geplaatst worden of indien mogelijk uitgebreid worden. Dit alles omdat servers niet optimaal benut worden.
1
1.2.3 Energieverbruik Door meerdere servers op één server te plaatsen bespaart men op energiekosten. Zo kan bijvoorbeeld de energiekosten van vijf servers gereduceerd worden tot praktisch één server. Maar het datacenter op zich verbruikt ook veel energie voor licht, koeling, noodgeneratoren, e.d.m. Een manier om het efficiënt energieverbruik te berekenen is de power usage effectiveness. Dit is een ratio van het totaal energieverbruik van de datacenter ten opzichte van het verbruik door ITonderdelen. 𝑃𝑈𝐸 =
𝑇𝑜𝑡𝑎𝑙 𝐹𝑎𝑐𝑖𝑙𝑖𝑡𝑦 𝐸𝑛𝑒𝑟𝑔𝑦 𝐼𝑇 𝐸𝑞𝑢𝑖𝑝𝑚𝑒𝑛𝑡 𝐸𝑛𝑒𝑟𝑔𝑦
Vergelijking 1: Power usage effectiveness (PUE)
De ideale ratio zou 1,0 zijn. Daar proberen vele datacenters dan ook naar te streven. Maar houd er ook rekening mee dat alles wat niet met computing-device te maken heeft onder faciliteitsenergie, bijvoorbeeld licht, valt. In 2011 was het gemiddelde aan PUE 2,0. Er zijn wel enkele gevallen gekend waarbij datacenters een PUE van ongeveer 1,1 hebben! Google (Google, 2014) probeert hiernaar te streven.
1.2.4 Efficiëntie voor beheerder Doordat het aantal fysieke toestellen vermindert, stijgt de efficiëntie van het beheer van hardware. Naast deze vermindering zijn er – door gebruik te maken van virtualisatie – enkele handige mechanismes beschikbaar die zonder virtualisatie niet mogelijk waren of heel moeilijk te realiseren waren. Hierna volgen enkele voordelen voor de beheerder van de virtuele omgeving. Een voordeel van virtuele instanties van een server is snapshotting. Een snapshot is een beeld van de huidige toestand van een virtuele machine. Aan de hand van verschillende snapshots kan er teruggekeerd worden naar vorige toestanden. Een voorbeeld hiervan is dat na de installatie van de server een snapshot wordt genomen waarnaar altijd kan teruggegrepen worden. Zo hoeft de installatie niet steeds opnieuw uitgevoerd te worden, wat een enorme tijdswinst betekent! Vaak kan een snapshot als beeld gebruikt worden om een andere virtuele machine te maken. Tot op vandaag is het geen sinecure om een (fysieke) server – besturingssysteem en data – over te zetten naar een andere hardware. Door gebruik te maken van een virtuele omgeving die voorzien is van de juiste oplossingen, is deze migratie enkel een muisklik verwijderd. Als de infrastructuur bestaat uit meerdere fysieke toestellen, kan het monitoren van de gebruikte resources moeilijk worden. Er dient telkens ingelogd te worden op de managementsconsole van elk toestel. Wanneer er gebruik gemaakt wordt van een virtuele omgeving, worden de gegevens van de hypervisor-servers en virtuele machines centraal beheerd en weergegeven. Hierdoor kan er gemakkelijker een overzicht verkregen worden zonder te wisselen tussen verschillende managementconsoles. Zijn er meerdere servers die dezelfde functie vervullen, bijvoorbeeld het weergeven van uw website, dan kan het verkeer naar deze servers verdeeld worden door load balancing. Deze oplossing is ook mogelijk bij fysieke toestellen, maar kan zeker niet gerealiseerd worden met enkele muisklikken. Het gebeurt soms wel eens dat een server uitvalt, maar hoe kan dit worden opgevangen? Hiervoor is het failover-mechanisme tot leven geroepen. Dit mechanisme start de virtuele machine terug op, op een andere server, door gebruik te maken van de laatste gekende versie. Wanneer dit niet aan de wensen voldoet, kan er gebruik worden gemaakt van disaster recovery. Hierbij is er zo weinig mogelijk dataverlies aanwezig. Als het bedrijf meer dan één site heeft, kan het interessant zijn dat de ene site de taken overneemt van de andere in geval van een catastrofe, zoals bijvoorbeeld een stroomuitval door een natuurramp. Door het disaster recovery-mechanisme kan de virtuele infrastructuur van de ene site zonder
2
dataverlies overgenomen worden door de andere site. Een combinatie met een public cloud is ook mogelijk indien deze wordt ondersteund door de cloud provider en de virtualisatietechnologie. Dit mechanisme kan ook gebruikt worden zonder dat er minstens twee sites aanwezig zijn. Het lukt perfect om servers op elkaar af te stemmen en elkaars taken over te nemen wanneer de andere uitvalt.
1.3 Soorten virtualisatie Als het virtualiseren van een server wordt aangehaald, gaat het over hardwarevirtualisatie. Deze techniek wijst naar de mogelijkheid om een virtuele machine te maken die werkt als een echte computer of server. Hierbij wordt een fysieke server gebruikt om meerdere virtuele machines op te zetten. Deze server wordt meestal host genoemd en de virtuele machine guest. Virtuele machines kunnen niet gemaakt of gestart worden zonder een soort management, hypervisor genaamd. Er zijn twee types hypervisors: type 1 (bare metal) en type 2 (hosted). Het verschil tussen beide is eenvoudig uit te leggen. Bij type 1 wordt de hypervisor als besturingssysteem geïnstalleerd op de server. Hierdoor is er veel minder overhead aan onnodige resources. Enkele voorbeelden van deze technologie zijn VMware ESXi, Microsoft Hyper-V en Xen Hypervisor. Type 2 is een softwarepakket dat moet geïnstalleerd worden op een bestaand besturingssysteem. Vaak voorkomende hosted hypervisors zijn Virtualbox van Oracle, Parallels, Virtual PC, … Zowel bij type 1 als type 2 simuleert de hypervisor een computeromgeving voor de virtuele machine. Zo wordt er opslagruimte, netwerktoegang, RAM, CPU, … ter beschikking gesteld. Zonder dat veel mensen het door hebben virtualiseert de computer al jaren. Zo wordt het werkgeheugen (RAM) regelmatig gecontroleerd op blokken die niet dikwijls gebruikt worden. Deze blokken worden dan op de harde schijf geplaatst. Het merkwaardige aan dit fenomeen is dat het voor de programma’s lijkt alsof het stukje dat ze willen benaderen – dat ondertussen op de harde schijf staat – op het werkgeheugen staat. Dit fenomeen heeft de naam swapping gekregen. De plaats waar deze data terecht komt heet wisselbestand of swap-ruimte. Het virtueel geheugen is de verzameling van alle blokken op zowel het werkgeheugen als op de harde schijf. Zo is het perfect mogelijk om meer geheugenruimte aan te bieden dan werkelijk beschikbaar is op het werkgeheugen. Het inlezen van blokken op de harde schijf duurt langer dan het inlezen op het werkgeheugen. Doordat BYOD (bring your own device) zijn intrede maakt, is er meer nood aan een desktopomgeving die van overal en vanaf elk (mobiel) toestel kan benaderd worden. Deze vorm van virtualisatie heet desktopvirtualisatie. Hierbij kan een desktop benaderd worden over het netwerk of over het internet om zo het scherm te bekijken en het toetsenbord en de muis te gebruiken. Als het aanbieden van een volledige desktopomgeving niet nodig is, kan er nog overwogen worden om enkel de applicatie te verzenden naar de eindgebruiker. In dit geval gaat het over applicatievirtualisatie. In hoofdstuk 2 en 3 wordt er dieper ingegaan op de applicatie- en dekstopvirtualisatie. Er bestaan nog veel andere soorten virtualisatie zoals data virtualization, network virtualization, service virtualization, enz. Het bespreken van deze soorten valt buiten het doel van deze bachelorproef.
1.4 Cloud en cloudcomputing De term cloud is historisch gegroeid als voorstelling van het internet omdat de gemiddelde computergebruiker niet meer wist welk traject een pakketje aflegde. “Cloud” is een netwerk van computers waarvan de eindgebruiker niet weet welke server hij benadert of waar de servers staan. Er wordt als het ware een “wolk van computers” gevormd. In het verleden is er vaak verwarring geweest over wat nu precies cloud en cloudcomputing betekenden. Als er over cloudcomputing wordt gepraat, gaat het niet meer over welk pad een pakketje volgt maar over het aanbieden van infrastructuren. De bedoeling van cloudcomputing is componenten dynamisch aan te kunnen maken zodat ze schaalbaar, flexibel en beheersbaar zijn. Cloudcomputing is dus als het ware een technologie om het datacenter modulair te maken. Verder 3
kan cloudcomputing ook omschreven worden als een verzamelnaam voor blades, appliances, beheersoftware, virtualisatie van servers, virtualisatie van opslag e.d.m.
Figuur 1: Schematische voorstelling van cloudcomputing volgens NIST (Cloudcontrols.org)
NIST, National Institute of Standards and Technology, heeft i.v.m. cloudcomputing ook een definitie geformuleerd. “Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. This cloud model is composed of five essential characteristics, three service models, and four deployment models.” (NIST; Mell Peter; Grance Timothy, 2011) Deze definitie wordt grafisch voorgesteld in Figuur 1 en zal als basis gebruikt worden om cloudcomputing uit te leggen in de volgende paragrafen.
1.4.1 Karakteristieken van cloudcomputing Cloudcomputing bestaat uit vijf essentiële karakteristieken: on-demand self-service, broad network access, rapid elasticity, resource pooling en measured service. On-demand self-service wil niet meer zeggen dan dat de klant zelf zijn gewenste instanties, data opslag, enz. toevoegt zonder dat de service provider – waar de cloudcomputing wordt aangevraagd – moet tussenkomen. Diensten die toegankelijk zijn voor een brede waaier aan toestellen zoals smartphone, laptop, computer, tablet, enz. en beschikbaar zijn op verschillende plaatsen waar een internetconnectie aanwezig is heet broad network access. Een snelle schaalbaarheid is ook vereist. Dit heet rapid elasticity. Dit mechanisme is in staat snel servers aan te maken wanneer hier nood aan is. Zo kan de klant bepalen extra servers in te zetten wanneer de website te veel belast wordt. Wanneer het internetverkeer vermindert, daalt de nood aan extra servers waardoor deze terug verwijderd kunnen worden. Deze functionaliteit is enkel in publieke datacenters haalbaar. Als dit in een bedrijfsdatacenter zou gedaan worden, zijn er te veel servers nodig die niet gebruikt zullen worden wanneer dit niet nodig is. Door gebruik te maken van resource pooling in het datacenter kunnen de beschikbare resources
4
verdeeld worden over verschillende klanten. Zo worden fysieke en virtuele middelen toegewezen en onttrokken naargelang de vraag van de klant. De klant heeft over het algemeen geen controle meer over de locatie van deze aangeboden middelen. De klant heeft misschien wel de mogelijkheid – afhankelijk van de aanbieder – te bepalen van welke streek de resources moeten komen. De laatste karaktereigenschap van cloudcomputing is measured service. Hierbij is het mogelijk om het verbruik te volgen en te controleren. Dit is nodig voor het in rekening brengen van de gebruikte middelen. Vaak dient er betaald te worden naargelang de verbruikte uren en Gigabytes. Naast deze vijf essentiële karakteristieken zijn er ook nog drie servicemodels en vier deploymentmodels. Deze worden in de volgende paragrafen behandeld.
1.4.2 Type clouds Binnen cloudcomputing zijn er verschillende soorten clouds. Dit wordt ook wel deployment models genoemd. Zo zijn er public, private, hybrid en community clouds. Deze verschillende clouds hebben elk hun doelgroep en doel. Deze worden volgens NIST als volgt gedefinieerd: Private cloud is een ruimte waartoe enkel mensen van de organisatie toegang hebben. Vaak worden deze clouds gemaakt in het datacenter van het bedrijf zelf of worden deze gehuurd. Deze private cloud heeft dezelfde functionaliteit als een public cloud maar is dus enkel beschikbaar binnen de grenzen van het bedrijf. Dit wil niet zeggen dat de infrastructuur in het bedrijf aanwezig moet zijn. Het is perfect mogelijk een private cloud te vragen aan een cloud provider. Community cloud biedt toegang tot de cloud aan een specifieke groep mensen. Deze groep bestaat niet noodzakelijk uit werknemers van één bedrijf maar kan bestaan uit meerdere bedrijven of mensen zijn die samenwerken. Deze cloud kan beheerd worden in de organisatie zelf of door externen en kan zich bevinden binnen een bedrijf of bij een cloud provider. Public cloud stelt de cloud-infrastructuur open voor het grote publiek. De infrastructuur wordt aangeboden door een cloud provider, de cloud-leverancier, zoals Amazon, Google, Rackspace, enz. Het beheer hiervan kan worden gedaan door het bedrijf, school, enz. Hybrid cloud is een samenstelling van twee of meer verschillende cloud-infrastructuren (private, community, or public) die unieke entiteiten blijven, maar zijn met elkaar verbonden door gestandaardiseerde of eigen technologie die gegevens en overdraagbaarheid van toepassingen mogelijk maakt. Vaak komt het er op neer dat wanneer een bedrijf zelf de infrastructuur heeft, dit een private cloud is. Wanneer een bedrijf infrastructuur zou huren bij een cloud provider (cloud-leverancier) gaat het over public cloud. Wat niet mag vergeten worden is dat vaak de keuze tussen private en public cloud afhangt van de performantiecriteria en de budgetten. Zo kan het aansturen van robots niet gebeuren van over het internet omdat het vaak gaat om milliseconden. Een ERP-programma wordt om dezelfde reden – de reactiesnelheid – best ook in een private cloud geplaatst. Waarvoor is een public cloud dan interessant? Public cloud kan interessant zijn voor hosted web applications, CRM’s, e.d.m. Buiten de snelheid (latency) is ook de bandbreedte belangrijk. Het is waarschijnlijk voorspelbaar dat een public cloud een bredere bandbreedte heeft dan een private cloud. Een andere factor waar rekening moet mee gehouden worden is de kennis die al dan niet binnenshuis aanwezig moet zijn en dus moet in geïnvesteerd worden. Maar ook – zoals vermeld in 1.2.4 Efficiëntie voor beheerder – kan een public cloud veel gemakkelijker pieken opvangen dan een private cloud. De taak van de IT-dienst bij het kiezen van een type cloud is vaak louter informatief. De uiteindelijke beslissing wordt bepaald naargelang het beschikbare budget.
5
1.4.3 Service models Zoals hierboven vermeld, bestaat cloudcomputing uit meerdere service models, ook wel lagen genoemd. Ook hiervoor heeft NIST definities. Software as a Service (SaaS). Dit is de mogelijkheid die aan de consument geboden wordt om applicaties van de aanbieder op een cloud-infrastructuur te gebruiken. De toepassingen zijn toegankelijk vanuit verschillende client-toestellen, zowel via een thin client interface, zoals een webbrowser (bijvoorbeeld web-based e-mail), of een programma-interface. De consument kan de onderliggende cloudinfrastructuur niet beheren met uitzondering van beperkte gebruikersspecifieke configuratie-instellingen. Platform as a Service (PaaS). Dit is de mogelijkheid die aan de developper geboden wordt om verworven of zelf gemaakte toepassingen te plaatsen op de cloudinfrastructuur. De consument kan de onderliggende cloudinfrastructuur met inbegrip van netwerk, servers, besturingssystemen of opslag niet beheren, maar heeft controle over de ingezette applicaties en eventuele configuratieinstellingen voor de applicatie-hostingomgeving. Infrastructure as a Service (IaaS). De mogelijkheid die aan de “netwerkarchitecten” geboden wordt om opslag, netwerken en andere fundamentele IT-middelen te implementeren. Hij kan de onderliggende cloudinfrastructuur niet beheren, maar heeft controle over besturingssystemen, opslag en toepassingen en eventueel beperkte controle van netwerkcomponenten, bijvoorbeeld firewall.
Figuur 2: Service models, zichtbaarheid naar eindgebruiker (ShuttleCloud, 2013)
Zoals te zien is in Figuur 2 heeft elke laag (service) een specifieke doelgroep. Zo IaaS bedoeld voor Network Architects, diegene die netwerken van servers samenstelt en opzet. PaaS heeft als doelgroep Application Developers (App developers). Doordat deze doelgroep zich niks meer hoeft aan te trekken van de onderliggende infrastructuur, zoals de installatie van het besturingssysteem, bestaat er een kleinere drempel om hun applicatie online te plaatsen. Software as a service is gemaakt voor de gewone eindgebruiker. Op deze manier kan de eindgebruiker zijn software benaderen en gebruiken op het internet. Vaak is SaaS het eindproduct van de app developer die zijn applicatie laat draaien op een PaaS-
6
omgeving. Zoals ook te zien is in de afbeelding, kan SaaS niet zonder PaaS en PaaS niet zonder IaaS. De figuur geeft ook de beschikbaarheid weer van de verschillende service models. Deze twee aspecten zorgen voor een omgekeerde driehoek omdat de onderste laag het minst beschikbaar is.
Figuur 3: Service models, welk doel heeft welke model? (Server Cloud Canada, 2013)
In Figuur 3 staat een duidelijk overzicht voor wat en voor wie een bepaalde service (laag) dient. Maar wie kan deze lagen nu aanbieden? Amazon webservices, Microsoft Azure, Rackspace en Google Compute Engine zijn enkele voorbeelden van IaaS-aanbieders. Wanneer app developers op zoek zijn naar een PaaS-oplossing om hun applicatie te laten draaien, kunnen deze vaak terecht bij Google App Engine, forece.com of Microsoft Azure. Enkele bekende voorbeelden van SaaS zijn de Google Apps (zoals Google Docs, Gmail, enz.), Salesforce.com, Flickr, Dropbox, Mircosoft Office 365, e.d.m.
1.5 Virtualisatie van software 1.5.1 Wat is virtualisatie van software? Virtualisatie van software kan ruim gezien worden. Het gaat om de vraag “Hoe kan ik software aanbieden aan de eindgebruiker?”. Op deze vraag zijn verschillende antwoorden mogelijk. Zo kan software in een pakketje aangeboden worden. Om dit proces te starten, hoeft de eindgebruiker dit enkel aan te klikken. De software kan ook op een server draaien. Hierbij krijgt de eindgebruiker het venster te zien – wat eigenlijk een reeks van afbeeldingen is – en kan hij door gebruik te maken van zijn muis en toetsenbord in interactie komen met de applicatie. In hoofdstuk 2 wordt dieper ingegaan op applicatievirtualisatie. Naast deze verschillende manieren om software aan te bieden is het ook mogelijk om deze aan te bieden in een desktopomgeving. In deze omgeving zijn alle nodige software beschikbaar voor de eindgebruiker. Op technisch vlak zijn er verschillende mogelijkheden die voor de eindgebruiker hetzelfde uitzien. Zo kan er een sessie gestart worden op een server of een virtuele machine opgestart worden waartoe de eindgebruiker toegang krijgt. Naar de eindgebruiker toe zijn beide oplossingen dezelfde: hij krijgt een beeld toegestuurd en gebruikt de muis en het toetsenbord zoals hij gewoon is. Vaak bieden deze de mogelijkheden ook aan om bestanden, klembord, enz. te delen tussen de client en de host. Het doorsturen van USB devices naar de host is ook een mogelijkheid.
7
Voor de iets mobielere eindgebruiker, die vaak geen netwerk beschikbaar heeft, zijn er ook mogelijkheden om een desktop aan te bieden, een desktop dat niet dezelfde is dan die voor privégebruik. De mogelijkheden rond desktopvirtualisatie worden behandeld in hoofdstuk 3. Virtualisatie van software is dus niet alleen applicatievirtualisatie maar ook desktopvirtualisatie.
1.5.2 Waarom virtualisatie van software? 1.5.2.1 BYOD In steeds meer en meer bedrijven doet BYOD zijn intrede. Hierbij gebruiken de medewerkers hun privétoestellen om hun werk uit te voeren. De werknemer beschikt meestal over een beter toestel dan dat het bedrijf kan aanleveren. Vaak spelen ook fiscale redenen een rol. Wanneer de werknemer zijn toestel meebrengt naar het bedrijf, komt de werkgever vaak tussen in de kosten. Naast BYOD wordt er vaak ook gesproken over BYOT, bring your own technology. Hierdoor kunnen mensen op verschillende plekken werken, met een toestel waar ze graag mee werken. Wanneer een werknemer gebruik maakt van een bedrijfstoestel voor privégebruik, dient deze werknemer een voordeel van alle aard te betalen. Uit een artikel van BELTUG (BELTUG, 2012) zou een werknemer elke maand 15 euro moeten betalen voor zijn laptop. Dit forfait dateert nog van tien jaar geleden en is zeker niet meer up-to-date. De prijzen van laptops zijn sindsdien enorm gezakt! Doorgaans gaat een laptop zo’n drie à vier jaar mee, waardoor dit komt op een bedrag van 540 tot 720 euro. Met dit budget kan een degelijk toestel gekocht worden voor privégebruik. Naast deze fiscale reden blijkt uit een onderzoek van Samsung (Samsung, 2013) dat ongeveer een kwart van de Belgische bedrijven een stijging van productiviteit zien, door gebruik te maken van BYOD. Dit resultaat is volgens Andrew Mills, CEO van B2B voor Samsung Europa, te danken aan het toelaten van mobiel werken. Dit houdt in dat smartphones, tablets en laptops toegelaten worden onder de vorm van BYOD of “Choose Your Own Device” (kies je eigen toestel). Maar voor de IT-dienst is BYOD geen zegen maar eerder een uitdaging. BYOD zorgt voor veiligheidsvoorzieningen die genomen dienen te worden die anders niet nodig waren. Het bedrijf heeft geen controle meer over de geïnstalleerde software. Zo is er ook geen zekerheid over de aanwezigheid van een virusscanner. Voor de IT-dienst betekent BYOD niet bring your own device, maar bring your own disaster. Naast beveiliging moet de IT-dienst ook nadenken hoe de werknemer software kan gebruiken op zijn privétoestel. Dit euvel is niet enkel technisch maar ook juridisch. Zo kan de eindgebruiker niet over software beschikken van het bedrijf op hun privétoestel. Zie 1.5.2.3 Licentieproblematiek. 1.5.2.2 Centraal beheer Vaak worden de softwarepakketten opgenomen in één beeld en verdeeld over de verschillende toestellen. Hierdoor krijgen werknemers software ter beschikking die ze niet nodig hebben. Wanneer aan virtualisatie van software wordt gedaan kunnen de applicaties aangeduid worden tot een bepaalde groep of gebruiker. Hierdoor kunnen problemen met het aantal simultane gebruikers vermeden en verminderd worden. Doordat de softwarepakketten op één plaats staan en de software-aanvragen telkens worden gericht tot bepaalde servers is het heel eenvoudig updates uit te voeren en zeker te zijn dat iedere gebruiker bij het volgende – online – gebruik een nieuwe update ontvangt. Sommige technologieën bieden zelfs een integratie aan met SCCM. 1.5.2.3 Licentieproblematiek Het is vaak niet toegestaan om software te installeren op een privétoestel wanneer het bedrijf daar licenties heeft voor gekocht. Daarom is er een manier nodig waardoor de medewerker toch de gewenste software kan gebruiken zonder deze te installeren op zijn toestel. Door gebruik te maken van virtualisatie van software is er meer controle over welke gebruiker welke software mag
8
gebruiken. Doordat een kleinere groep gebruik mag maken van bepaalde software, kan een specifieker aantal licenties aangekocht worden. 1.5.2.4 Minder en kleinere beelden De beelden voor de toestellen kunnen veel kleiner gemaakt worden omdat applicaties niet meer hoeven opgenomen te worden in het beeld. Hierdoor moet de beheerder minder beelden maken met telkens andere software. Het beeld kan bestaan uit het besturingssysteem, de virusscanner – of andere kernel mode applicaties – en de applicatievirtualisatieclient.
9
2 Applicatievirtualisatie 2.1 Wat is applicatievirtualisatie? Er bestaan verschillende manieren om applicatievirtualisatie te implementeren. Zo zijn kan de ITverantwoordelijke er voor kiezen om de applicatie te laten draaien op het eindtoestel of dit op een server te doen. Elke manier zorgt voor een ander resultaat. Later wordt hier dieper op ingegaan. Als de applicatie op het eindtoestel moet draaien, dan draait deze in een soort van “luchtbel” (bubble). Dit zorgt er voor dat de applicatie geïsoleerd is van het besturingssysteem, waardoor de applicatie geen invloed heeft op het register en het bestandssysteem. Er zijn wel mogelijkheden om waarden in het register of bestanden op een eenvoudige wijze te benaderen en te bewerken. Deze waarden dienen ingesteld te worden tijdens het inpakken van de software. Deze oplossing heet portable application. Bij deze oplossing is meestal een Windows-platform vereist op het eindtoestel omdat de applicatie nog steeds Windows-bibliotheken aanroept. Een voordeel om hier gebruik van te maken is dat de applicatie kan verspreid worden via USB of over het netwerk in een netwerkmap. Wanneer het kopiëren voltooid is, kan de applicatie offline gebruikt worden. Vaak is het wel nodig als er aan authenticatie van gebruikers wordt gedaan, dat er binnen een bepaald aantal dagen een internetconnectie is geweest om de cached credententials te verlengen. Een stap verder dan portable application is applicatiestreaming. Hierbij wordt de gewenste applicatie op een server geplaatst en vaak ook door de software die op de server draait, geanalyseerd. Na analyse weet het systeem welke delen van de software nodig zijn om de opstart en basisfunctionaliteit te voorzien. Deze analyse biedt aan de eindgebruiker een snellere (eerste) opstart. Dit impliceert dat applicaties bij de eerste opstart moeten verbonden zijn met het netwerk en de server die deze applicaties aanbiedt. Nadat de applicatie gedownload is, kan deze offline gebruikt worden. De applicatie kan ook draaien op de server. Bij deze oplossing wordt er bij de eindgebruiker een programmaatje (client) opgestart die een verbinding kan leggen met de server. Zo wordt een sessie gestart. Dit programmaatje doet alsof hij het gewenste programma is, maar in werkelijkheid geeft het enkel de screen updates weer. Deze screen updates zijn wijzigingen in het venster van de applicatie op de server. Het eindtoestel stuurt op zijn beurt toetsaanslagen en muisklikken naar de server. Er kan ook geopteerd worden om een verbinding naar het eindtoestel te openen om het bestandssysteem te benaderen. Deze oplossing heet applicatiehosting of sessievirtualisatie. Door gebruik te maken van zo’n technologie is er nog steeds een Windows-platform op de server vereist. Dit geldt niet voor het eindtoestel. Hierdoor kunnen applicaties “geopend” worden op verschillende besturingssystemen. Bij deze oplossing valt wel een belangrijke opmerking te maken: het netwerk is hier heel belangrijk aangezien er realtime over het netwerk “video” wordt verzonden. De meeste aanbieders proberen hier wel rekening mee te houden en verbeteren zelf het protocol zodanig dat applicaties op mobiele toestellen over het mobiel netwerk kan worden gebruikt. De eindgebruiker moet dus online zijn! Het is heel belangrijk te weten dat niet elke toepassing kan worden gevirtualiseerd. Dit komt vooral voor bij applicatiestreaming. De software-installateur test best de applicatie op de mogelijkheid tot virtualiseren omdat hiervan vaak geen referenties te vinden zijn op het internet. Vaak kunnen applicatiestreaming en applicatiehosting samen worden gebruikt. Zo zijn er twee pistes die kunnen gevolgd worden. Bij de eerste piste analyseert het systeem de applicatie of deze kan geopend worden op het eindtoestel. Indien ja, dan wordt er gebruik gemaakt van applicatiestreaming. Indien neen, maakt de server de applicatie beschikbaar via applicatiehosting. Een andere piste is gebruik maken van applicatiestreaming om applicaties aan te bieden aan servers die op hun beurt de applicaties aanbieden via applicatiehosting.
10
Figuur 4: Overzicht hiërarchie applicatievirtualisatie
Voordat applicaties kunnen gevirtualiseerd worden, is het belangrijk te weten hoe applicaties werken. Zo zijn er twee modi: user en kernel mode. Applicaties in kernel mode kunnen hardware aanspreken. Ze kunnen processorinstructies uitvoeren, het geheugen aanspreken e.d.m. Fouten in deze programmatuur kunnen catastrofaal zijn voor het systeem. Het volledige systeem zal vastzitten. Vaak wordt dit opgelost door het systeem opnieuw te starten. In tegenstelling tot kernel mode dat hardware kan aanspreken moeten user mode applicaties gebruik maken van API’s om hardware te benaderen. Deze API’s werken op hun beurt dan wel in kernel mode. Door gebruik te maken van deze twee modi bevindt er zich een isolatielaag tussen hen. Hierdoor zijn de applicaties die crachen in user mode gemakkelijk terug te starten.
Figuur 5: Communicatie tussen user mode en kernel mode componenten (Microsoft Corporation, sd)
11
In Figuur 5 staat een overzicht dat wordt aangeboden door Microsoft met de verschillende lagen en componenten die nodig zijn om code uit te voeren. Hieruit kan worden afgeleid dat vele drivers in kernel mode draaien, maar lang niet alle. Doordat alle user mode applicaties in Windows als proces worden gestart, is het onmogelijk dat de ene applicatie zou schrijven in de virtual address space van de andere applicatie. Applicaties in kernel mode zijn hiertoe wel in staat. Het schrijven naar een verkeerd virtual address kan dus nare gevolgen hebben zoals eerder vermeld.
2.2 Verschillende soorten applicatievirtualisatie 2.2.1 Portable application Portable applications draaien in een soort van “luchtbell”. Hierdoor wordt het systeem niet aangetast door wijzigingen van deze software. Voor de software lijkt het alsof deze naar het register of het bestandssysteem schrijft, maar in werkelijkheid schrijft deze naar een virtueel equivalent. Voordat deze software in deze luchtbel kan draaien, moet deze eerst ingepakt worden. Eens het pakket is ingepakt, wordt het aangeboden aan de hand van een of meerdere executables. Doordat deze uitvoerbare bestanden nog steeds gebruik maken van de Windows-bibliotheken kunnen deze enkel uitgevoerd worden op een Windows-platform. De portable app’s kunnen gemakkelijk verspreid worden. Dit kan door deze op eender welke opslagmedia te plaatsen zoals CD, USB, netwerkmap, enz. Als het pakket op een netwerkmap staat, is tijdens het downloaden een brede bandbreedte vereist. Als de applicatie op het toestel staat is geen netwerkconnectie meer vereist en start de software onmiddellijk op. Het beveiligen tegen de toegang van ongewenste personen is mogelijk. Vaak bieden portable application creators de mogelijkheid om AD-groepen of -gebruikers toe te voegen. Als dit het geval is, is de kans groot dat op regelmatige basis het toestel moet verbonden worden met bedrijfsnetwerk. Hierdoor kan de applicatie bij het opstarten zich weer identificeren en een token aanmaken voor de gebruiker. Deze token wordt voor enige tijd bewaard.
2.2.2 Applicatiestreaming In tegenstelling tot wat de term doet vermoeden, wordt er hier niet aan streaming van het beeld gedaan. Het streamen in deze technologie zorgt er voor dat de applicatie zo snel mogelijk opstart. Verder wordt de basisfunctionaliteit van het programma gegarandeerd. Door gebruik te maken van applicatiestreaming worden de benodigde stukken afgeleverd aan het eindtoestel om het programma te kunnen opstarten. Wanneer er verdere stukken nodig zijn, om meer functionaliteit van het programma te benutten, worden deze verzonden. De gebruiker mag hier weinig hinder van ondervinden. Door gebruik te maken van deze techniek wordt een snellere opstart gegarandeerd – t.o.v. het volledige pakket te downloaden – en verlaagt de bandbreedte. Enkel de stukken die nodig zijn, gaan over het netwerk. Hoewel deze applicaties vaak zichtbaar worden gesteld via een webinterface is er toch een client vereist om deze te starten. Hoe wordt ervoor gezorgd dat de nodige stukken meegeleverd zijn? Dit wordt meestal gedaan door software, genaamd de profiler. Wanneer het programma wordt opgestart, analyseert de profiler de benodigde “code”. Zo wordt de opstart en basisfunctionaliteit gegarandeerd.
2.2.3 Applicatiehosting / sessievirtualisatie Bij applicatiehosting wordt het programma gestart op een server. Doordat de eindgebruiker gebruik maakt van een client kan het beeld van het programma worden weergeven bij de gebruiker. Hier wordt de last van het programma weggehaald van het eindtoestel. Het gebruik van deze virtualisatietechniek biedt een crossplatformoplossing aan de eindgebruikers. Hierdoor zijn ze niet meer gelimiteerd aan de systeemvereisten van de software en kan het geliefde besturingssysteem gebruikt worden.
12
Als applicatiehosting wordt gebruikt, wordt er een “videostream” verzonden naar het eindtoestel en verzendt het eindtoestel toetsaanslagen en muisklikken naar de server. Een belangrijk voordeel hierbij is dat het eindtoestel niet meer krachtig hoeft te zijn. Dit toestel hoeft de zware taken/lasten niet meer op zich te nemen. Een krachtige server is hier wel vereist! Meerdere gebruikers zullen verbonden worden met een server om daar hun gewenste software te laten uitvoeren. Deze verbindingen worden ook wel sessies genoemd. Vandaar de benaming sessievirtualisatie. Doordat het beeld wordt doorgestuurd naar de eindgebruiker, wordt het netwerk belast. De technologieën proberen de gebruikte bandbreedte zo laag mogelijk te houden. Al is dit wel afhankelijk van hoe grafisch-intensief de applicaties zijn. Vaak slagen de technologieën er in de bandbreedte te beperken door enkel de geüpdatete stukken van het beeld door te sturen. Uit een onderzoek (Citrix Systems, Inc., 2013) die Citrix voerde naar de gebruikte bandbreedte van hun producten XenDesktop en XenApp blijkt dat niet grafische toepassingen die geen gebruik maken van XenApp of XenDesktop ongeveer 50 kbps bandbreedte nodig over een 1.536 Mbps-netwerk. Grafisch-intensieve toepassingen zoals PowerPoint en Adobe-software gebruiken 150 tot 300 kbps! Doorgaans worden applicaties aangeboden aan de hand van een webinterface. Als er op de gekozen applicatie wordt geklikt, zal de client de “videostream” openen. Deze clients zijn vaak crossplatform. De laatste jaren wordt er meer en meer gebruik gemaakt van HTML5. Ook hier spelen de makers van verscheidene technologieën graag op in. Zo is er vaak ook een mogelijkheid om a.d.h.v. een browser die HTML5 ondersteunt de applicaties te openen en besturen. Deze optie biedt echter niet alle functionaliteiten die wel aanwezig zijn als er gebruik gemaakt wordt van de client.
2.3 Welke technologieën zijn er op de markt? De whitepaper (PQR B.V., 2013) van PQR “Application virtualization Smackdown” toont een mooi overzicht van welke technologieën er allemaal op de markt zijn. De recentste versie op dit moment is 4.1 (december 2013).
2.3.1 Citrix XenApp Citrix XenApp heeft al een hele geschiedenis achter de rug. In 1995 lanceerde Citrix WinFrame Server. Deze applicatie zorgde voor een multi-user-platform voor Windows NT. Hiervoor heeft Citrix een sourcecodecontract afgesloten met Microsoft om Windows NT te mogen aanpassen en door te verkopen. Citrix WinFrame Server sprak vele systeembeheerders aan omdat Windows-toepassingen toegankelijk waren vanaf Mac- en UNIX-systemen. Door de jaren heen is de technologie verder ontwikkeld onder de namen Citrix MetaFrame Server (1997) en Citrix Presentation Server (2003). Nog steeds is Citrix XenApp een uitbreiding op de Microsoft Remote Desktop Session Host (vroeger Terminal Services). De huidige Citrix XenAppomgeving (7.5) bestaat uit drie onderdelen. Een multi-user operating system Microsoft Windows Server, waar de Remote Desktop Session Host feature is geactiveerd. Deze feature laat de gebruikers toe om de server te benaderen om een individueel programma te openen of een sessie-gebaseerde desktop te starten. XenApp software Citrix XenApp zorgt er voor dat de eindgebruiker de Remote Desktop Service applicatie en desktop kan ontvangen, over het HDX-protocol. Dit protocol zorgt er voor dat er een lage bandbreedte gebruikt wordt, dat de USB van de gebruiker wordt gelinkt aan de server, dat er kan geprint worden e.d.m. Client device XenApp-sessies worden geopend bij de eindgebruiker door gebruik te maken van de XenApp Receiver software. Deze software is beschikbaar op heel wat besturingssystemen.
13
2.3.1.1 Hoe werkt XenApp? XenApp biedt twee mogelijkheden om een applicatie aan te bieden: accessed from a server en streamed to client. Streamed to client wil zeggen dat er een pakketje van de applicatie is gemaakt en dit wordt verzonden naar de eindgebruiker. Hierbij voert de eindgebruiker de software uit. Accessed from a server betekent dat de applicatie wordt uitgevoerd op de server en dat het beeld wordt verzonden naar het eindtoestel. Een combinatie van beiden is ook mogelijk. Hierbij wordt er gekeken of het al dan niet mogelijk is om de applicatie op het eindtoestel te laten draaien. Hoewel Citrix een andere terminologie hanteert, gaat het hier nog altijd om respectievelijk application hosting en application streaming. Hoe werkt XenApp nu precies? De Citrix virtualisatietechnologie isoleert de applicatie van het onderliggend besturingssysteem om compatibiliteit en beheerbaarheid te verhogen. Wanneer de eindgebruiker een applicatie aanvraagt om te openen, wordt er beslist of het eindtoestel de applicatie kan laten draaien op het toestel. Indien het eindtoestel in staat is om de applicatie te draaien, dan wordt deze gestreamd naar het toestel. Indien er op voorhand gekozen wordt om de applicatie op de server te laten draaien, kan deze op traditionele wijze geïnstalleerd worden. Vanaf XenApp 7.5 kan er ook gebruik gemaakt worden van Microsoft App-V om applicaties aan de server aan te bieden. Later meer over Microsoft App-V. Voordat applicaties gestreamed kunnen worden, moeten deze eerst gemaakt worden met de Citrix Streaming Profiler. Eens het profiel voor een bepaald besturingssysteem gemaakt is, kan het profiel geopend worden op een ander toestel met een ander OS om deze installatie er ook aan toe te voegen. Om gebruik te kunnen maken van streamed to client moet de Citrix Offline Plugin geïnstalleerd worden. Indien de applicatie via accessed from a server wordt aangeboden, dient de eindgebruiker gebruik te maken van de Citrix Receiver (crossplatform). Sinds Citrix XenApp 7.5 (of vanaf het gebruik van StoreFront 1.2) is er integratie mogelijk met HTML5. Dit wil zeggen dat enkel een browser die HTML5 ondersteunt gebruikt kan worden. Hierbij is geen connectie mogelijk naar het bestandssysteem van de eindgebruiker. De gebruikers kunnen de applicaties benaderen via een webinterface. Wanneer de gebruikers zijn ingelogd – wat kan via de Active Directory – worden de voor hen toegankelijke applicaties weergegeven. Na het klikken op de gewenste applicatie, wordt er aan de hand van de Citrix Receiver een connectie gemaakt met de server om de applicatie te starten. 2.3.1.2 HDX-protocol De HDX-technologie zorgt ervoor dat de eindgebruiker een High Definition-ervaring krijgt. Dit protocol maakt gebruik van het ICA-protocol dat werd ontworpen door Citrix. Het ICA-protocol is gebaseerd op TCP/IP en RTP/UDP en is speciaal ontworpen om een groot aantal verschillende netwerken te ondersteunen, zoals het mobile netwerk. Door gebruik te maken van dit protocol is er een lage bandbreedte en een relatief lage latency nodig. Verder zorgt het HDX-protocol er voor, in samenwerking met het ICA-protocol, dat de eindgebruiker gebruik kan maken van o.a. de lokale printer, de netwerkprinter, het lokale bestandsysteem en verschillende USB-devices. Omdat de gebruiker dezelfde geluids- en beeldkwaliteit verwacht dan indien hij met een systeem zonder virtualisatie zou werken, levert het HDX-protocol high definition video en audio. Door HDX 3D Pro probeert Citrix de 3D performance af te leveren over het netwerk naar de eindgebruiker. Idealiter moet de gebruiker een snelheid van minstens 2 Mbps kunnen halen met maar een round-trip latency van 200 ms. Als er een snelheid kan behaald worden van minstens 3 Mbps, kan er CPU-gebaseerde compressie gebruikt worden. Dit zorgt er voor dat goedkopere grafische kaarten kunnen gebruikt worden.
14
2.3.1.3 Wat is er nieuw in XenApp 7.5 Vanaf XenApp 7.5 is Windows Server 2012 R2 vereist want ook Microsoft staat niet stil met het vernieuwen van de technologieën. Door Windows Server 2012 R2 te gebruiken, kan Citrix gebruik maken van de laatste technologieën en hierop verder bouwen. Door gebruik te maken van XenApp 7.5 (t.o.v. XenApp 6.5) kan het aantal servers verkleind worden. Zo is er geen nood meer aan specifieke servers voor één bepaalde taak (zoals zone data collectors). XenApp 7.5 FlexCast management architectuur installeert een virtual delivery agent (VDA) op iedere Windows Server. HDX Mobile is geoptimaliseerd voor het gebruik van touch devices. Zo is er een optimalisatie van de schermgrootte, oriëntatie, knopgrootte, gebruik maken van camera, GPS, e.d.m. Meer uitleg over FlexCast en VDA is terug te vinden in 3.3.2.1 FlexCast en VDA. 2.3.1.4 Policies Citrix XenApp maakt gebruik van policies. Aan de hand hiervan kan de verantwoordelijke instellen welke gebruikers of groepen welke rechten hebben. Zo kan hij instellen vanaf welk IP de gebruiker mag inloggen, of er al dan niet een verbinding mag zijn naar het bestandssysteem van het eindtoestel, het al dan niet delen van het klembord, het printen via de eindgebruiker, enz.
2.3.2 VMware ThinApp VMware ThinApp, wat vroeger Thinstall heette, is een applicatievirtualisatie-oplossing en portable application maker van VMware. VMware ThinApp is in staat 32- en 64-bit applicaties in te pakken tot één of meer EXE-bestand(en). Oorspronkelijk werd Thinstall ontwikkeld door Jitit Inc. maar werd op 15 januari 2008 overgekocht door VMware. Na de overname ging Thinstall door het leven als VMware Project North Star, toen het nog in ontwikkeling was. Op 10 juni 2008 kondigde VMware de finale versie aan: VMware ThinApp. Tot 15 december 2013 kon VMware ThinApp aangekocht worden als een individueel pakket. Wie na deze datum nog van VMware ThinApp wil genieten, moet VMware Horizon View, Mirage, Workspace of Suite aanschaffen. Ondanks het feit dat VMware ThinApp niet meer te verkrijgen is, loont het wel nog de moeite hier aandacht aan te besteden. ThinApp is nog steeds beschikbaar in andere pakketten die worden aangeboden door VMware. 2.3.2.1 Hoe werkt VMware ThinApp? VMware ThinApp is in staat het system voor en na een installatie te scannen. Hierdoor weet ThinApp welke wijzigingen de installatie aanbrengt in zowel het bestandssysteem als in het register. Al deze wijzigingen worden bijgehouden in een mappen- en bestandsstructuur, die later wordt omgezet tot één of meerdere EXE-bestand(en). Deze uitvoerbare toepassing heeft geen extra tools nodig om te werken. Dit zorgt er voor dat de toepassing op bijvoorbeeld een USB-stick kan staan en op elk Windows-toestel direct kan gestart worden. Verder biedt de wizard ook nog aan dat er een MSIbestand gemaakt kan worden. Dit is een installatiepakket voor Windows. Op deze wijze wordt het verspreiden van installaties gemakkelijker, zeker wanneer de juiste instellingen reeds zijn ingesteld! Zoals eerder vermeld, is bij het uitvoeren van een ThinApp-applicatie een Windows-platform vereist. Als er gewerkt wordt met een UNIX-besturingssysteem (zoals Linux, OS X, enz.) kan er gebruik worden gemaakt van Wine. De resultaten zijn niet altijd positief. Maar hoe reageren de bestanden en de registersleutels binnen de ThinApp-applicatie met die van het huidig besturingssysteem? Dit wordt gedaan aan de hand van drie isolatiemodi. Deze kunnen worden ingesteld per map en per registratiesleutel: Merged De ThinApp-applicatie kan aan gegevens van het fysieke toestel. Indien hetzelfde bestand/registersleutel voorkomt in de virtuele omgeving, wordt deze van de virtuele omgeving gebruikt. Het bewerken of het maken van nieuwe bestanden/registersleutels op de fysieke 15
omgeving is toegestaan. Indien er een bestand bewerkt wordt van de virtuele applicatie, wordt deze opgeslagen in de omgeving waar de applicatie draait (sandbox). WriteCopy De ThinApp-applicatie kan aan gegevens van het fysieke toestel. Indien hetzelfde bestand/registersleutel voorkomt in de virtuele omgeving, dan wordt deze van de virtuele omgeving gebruikt. Het bewerken of maken van nieuwe bestanden/registersleutels wordt opgeslagen in de sandbox. Full De bestanden en registersleutels van het fysieke toestel kunnen niet benaderd worden door de ThinApp-applicatie. Alle wijzigingen en nieuwe bestanden/registersleutels worden opgeslagen in de sandbox.
Figuur 6: Grafische voorstelling isolatiemodi VMware ThinApp (VMware, Inc., 2013)
2.3.2.2 Verspreiding van de applicaties Eens de ThinApp-applicatie gemaakt is, kan het gemaakte EXE-bestand verspreid worden. Door deze toepassing te starten, wordt de gevirtualiseerde applicatie geopend. Doordat er tijdens het opmaken van de gevirtualiseerde applicatie Active Directory-gebruikers en -groepen kunnen worden meegegeven, wordt er voor gezorgd dat enkel die gebruikers deze applicatie kunnen openen. Indien de gebruiker offline de applicatie wilt openen, wordt er gebruik gemaakt van cached credentials. Deze credentials worden dus maar voor een bepaalde duur opgeslagen. 2.3.2.3 Nadelen aan VMware ThinApp Een centraal beheer van de applicaties is er niet. Dit maakt het heel moeilijk om een geüpdatet pakket door te sturen naar eindgebruikers wanneer deze verbonden zijn met het internet. Er zijn mogelijkheden om updates uit te voeren van ThinApp-pakketten aan de hand van andere systemen. Verder is er ook geen enkele mogelijkheid om simultane gebruikers te limiteren. Wie de applicatie wil gebruiken, kan ze gewoon opstarten en gebruiken. Concreet houdt dit in dat het niet mogelijk is om elk programma in te pakken met VMware ThinApp omdat er vaak eisen zijn bij volumeovereenkomsten naar hoeveel gebruikers gelijktijdig actief zijn. Verder kan nogmaals benadrukt worden dat ThinApp-toepassingen heel gemakkelijk te verspreiden zijn. Het is daarom aan te raden beveiligingsmaatregelen toe te passen op de ThinApp-applicatie. Deze applicaties werken enkel op het Windows-platform. Het is mogelijk enkele ThinApp-applicaties te gebruiken op een UNIX-systeem aan de hand van Wine maar de slaagkansen van werken liggen niet hoog.
2.3.3 Numecent Application Jukebox Numecent Application Jukebox (of vroeger Endeavours Application Jukebox) is een oplossing voor applicatievirtualisatie. Application Jukebox is gemaakt om elk Windows programma naar elke computer, op welk moment dan ook te sturen zonder het programma te hoeven downloaden of te installeren. Dit programma is een out-of-the-box oplossing om bestaande Windows-applicaties direct beschikbaar te maken voor iedereen die hiertoe rechten heeft.
16
Application Jukebox Studio is in staat om streamable en gevirtualiseerde applicatiesets te maken van de originele installer. Deze sets worden aangeleverd en gecontroleerd door de Application Jukebox Server en kan worden geopend door Application Jukebox Player, die draait op de client machine en een virtuele omgeving maakt. Als er een applicatie wordt aangevraagd om te openen, maakt Application Jukebox gebruik van een technologie genaamd “Cloudpaging”. De applicatie is opgedeeld in verschillende stukken (pages) en bij de initiële start van het programma wordt er bekeken welke pages er nu precies nodig zijn voor de start van het programma. Zo kan Application Jukebox Server er voor zorgen dat enkel zo’n 5 à 10 % van het volledige pakket verstuurd wordt naar de client. De rest van de pages wordt on-demand verstuurd naar de client of wordt verder afgehandeld op de achtergrond. Zo kan Application Jukebox er voor zorgen dat de applicatie snel is opgestart. Dit gebeurt zelfs nog sneller bij de tweede opstart van de applicatie omdat er al een stuk gecached is. 2.3.3.1 Configureerbare virtualisatie De applicaties die binnen Application Jukebox draaien kunnen volledig geïntegreerd worden met de omgeving van de eindgebruiker, volledig geïsoleerd of een combinatie van beiden. De vier lagen van virtualisatie zijn als volgt:
Laag 1: permanent geïnstalleerd. De Jukebox Player kopieert een bestand naar een specifieke locatie. Het bestand bevat registersleutels en data die nodig zijn om de applicatie te laten werken. Na het verwijderen van het programma blijft dit bestand aanwezig op het systeem. Dit zorgt er voor dat als de software later opnieuw wordt gebruikt, de instellingen nog steeds aanwezig zijn. Laag 2: tijdelijk geïnstalleerd. De Jukebox Player kopieert een bestand naar een specifieke locatie. Het bestand wordt verwijderd wanneer de applicatie wordt verwijderd uit de Jukebox Player. Dit bestand kan gebruikt worden als er data op het toestel moet staan, maar niet buiten de controle van de Jokebox. Wanneer verwijderd, blijft het toestel in een clean state. Laag 3: virtueel geïntegreerd. Dit zijn virtuele bestanden of sleutels die zichtbaar zijn voor de rest van het systeem. Deze bestanden en sleutels zijn als het ware lokaal geïnstalleerd, maar gecontroleerd door Jukebox Laag 4: virtueel geïsoleerd. Deze bestanden en sleutels zijn geïsoleerd en enkel zichtbaar voor de applicatie.
2.3.4 Novell ZENworks Application Virtualization Novell bracht op 2 september 2008 de eerste versie van ZENworks Application Virtualization, in het kort ZAV, uit. De meest recente versie is 10.1. ZAV biedt portable applications aan d.m.v. een webinterface en zijn client. Naast portable applications bestaat ook de mogelijkheid om applicatiestreaming aan te bieden. Op deze manier dient de eindgebruiker niet het volledige pakket te downloaden alvorens van start te kunnen gaan. De nodige onderdelen worden real-time aangeboden. ZENworks Application Virtualization biedt enkel Windows programma’s aan. Dit om de simpele reden dat de programma’s nog steeds worden uitgevoerd op het toestel van de eindgebruiker. De uitgevoerde applicaties draaien in een bubble, waardoor de applicaties geïsoleerd zijn van het systeem en geen sporen achterlaten. ZAV 10 biedt een volledige licensing control aan. Hierdoor kan er per applicatie de gewenste instelling vastgelegd worden: oneindig aantal instanties, het aantal unieke gebruikers, het aantal simultane gebruikers, het aantal unieke toestellen en het aantal simultane toestellen. Verder geeft ZAV een mooi overzicht van wie wat gebruikt en hoeveel keer een applicatie wordt gebruikt e.d.m. Deze informatie is ook te verkrijgen in een rapportweergave.
17
Sinds ZAV 10 is er ook ondersteuning voor Windows 8. Verder valt af te leiden uit een blogpost (Spoon, 2013) van Spoon.net dat deze versie van ZAV gebaseerd is op hun product. Novell heeft wel aanpassingen aangebracht waardoor het publiceren naar de server vanuit de Studio – het sequence programma – veel eenvoudiger gaat, namelijk met één muisklik. Meer uitleg rond Spoon.net is te vinden in het volgend stukje 2.3.5 Spoon.net.
2.3.5 Spoon.net Spoon, wat vroeger XenoCode heette, was al actief op de applicatievirtualisatiemarkt sinds 2002 maar legde vooral de focus om .NET applicaties aan te bieden en te beveiligen. Dit product heette Xenocode Postbuild en beveiligde de .NET code van reverse engineering. Postbuild bood de mogelijkheid aan bestanden en registersleutels op te nemen binnen de executable. Naast de beveiliging maakte deze tool de binaries sneller en opslag en geheugen efficiënter. In 2008 zorgde de update er voor dat elke applicatie, Windows-binary of .NET/Java code, kon worden ingepakt. Spoon.net is een web-based desktop dat applicaties en documenten beschikbaar maakt voor elk toestel. Deze applicaties kunnen gestart worden aan de hand van een kleine plugin. Spoon maakt gebruik van hun Spoon virtual machine. Dit is een user mode applicatievirtualisatieoplossing. Hierdoor kunnen applicaties gestart worden zonder dat deze eerst geïnstalleerd moeten worden en zonder administratorrechten. De kernel van deze virtuele machine bevat de implementatie van Windows OS API’s (bestandssysteem, register, processen, enz.). De technologie werkt aan de hand van streaming. Dit gebeurt op de achtergrond en over het HTTP.
Figuur 7: Spoon VM (Spoon, 2014)
18
2.3.5.1 Spoon Virtual Application Studio Spoon Studio wordt gebruikt om Windows-applicaties te virtualiseren. De Studio maakt het mogelijk om de virtuele applicatie beschikbaar te maken a.d.h.v. één executable. Deze kan tevens geoptimaliseerd worden voor streaming. Er is een waaier aan mogelijkheden om een applicatie te virtualiseren: snapshotting, templates en scannen op reeds geïnstalleerde applicaties. Templates maken gebruik van voorgedefiniëerde locaties van bestanden en sleutels die worden opgenomen in de virtuele applicatie. Bij het scannen wordt er gebruik gemaakt van deze templates om de informatie te verzamelen. Het snapshot-mechanisme maakt gebruik van een beeld voor en na de installatie om de verschillen op te nemen in de applicatie. 2.3.5.2 Spoon Server Streamen van Spoon applicaties wordt mogelijk gemaakt door Spoon Server. Deze server maakt gebruik van HTTP(S). De eindgebruiker kan de gewenste applicatie starten aan de hand van een webinterface. Aan de hand van een stukje code is integratie mogelijk met een reeds bestaande portaal. 2.3.5.3 Eindgebruiker Voor de eindgebruiker zijn er twee manieren om de applicatie te starten. Aan de hand van een plugin is het mogelijk een applicatie te openen via de webinterface. Deze plugin is heel klein en installeert heel snel, zonder administratorrechten. Door gebruik te maken van Spoon Console worden alle virtuele applicaties en documenten gesynchroniseerd met de Spoon Server. De applicatie wordt gevisualiseerd als een icoontje in de system tray. De documenten worden beschikbaar gesteld in een map. Hierdoor zijn deze eenvoudig bereikbaar.
2.3.6 Microsoft App‐V 5.0 Microsoft Application virtualization (App-V) – beschikbaar als onderdeel van MDOP (Microsoft Desktop Optimization Pack) – transformeert Windows-applicaties in een centraal beheerbare virtuele applicatie die nooit geïnstalleerd wordt. App-V streamt on-demand de applicaties naar desktops, servers en laptops. Alle applicaties zijn direct beschikbaar op elk toestel. De applicaties zijn zelf offline beschikbaar. Doordat App-V het beheer centraliseert, is het mogelijk enkel de gebruikers die recht hebben op de applicatie toegang te verschaffen. Het centraal beheer biedt ook de mogelijkheid om op eenvoudige wijze updates uit te voeren. Deze updates worden op het toestel ingeladen wanneer de gebruiker verbonden is met het netwerk. App-V maakt de applicaties beschikbaar op verschillende manieren: over HTTP(S), file streaming en standalone. Hierdoor is offline gebruik mogelijk. App-V werkt volledig samen met Microsoft System Center Management producten. Hierdoor kan de IT-afdeling de applicaties centraal beheren in hun huidig systeem. App-V maakt gebruik van PowerShell 3.0. Zowel App-V Client als App-V Sequencer is volledig CmdLet gestuurd. Verder moet het .NET Framework 4.0 geïnstalleerd zijn. Tijdens het sequence-proces kan de applicatie geoptimaliseerd worden voor streaming. Hierdoor wordt niet het volledig pakket met de applicatie verstuurd voor de opstart maar enkel de onderdelen die nodig zijn. Als andere onderdelen nodig zijn om de applicatie ten volle te kunnen gebruiken, wordt de rest verstuurd naar de client. Als de eindgebruiker aanmeldt op een toestel binnen het domein, vraagt de App-V Client aan de Publishing server welke software beschikbaar is voor deze gebruiker. Doordat de Client gebruik maakt van PowerShell worden de login credentials gebruikt die actief zijn in de Windows-sessie. Concreet wil dit zeggen dat enkel gebruikers binnen het domein gebruik kunnen maken van App-V. De eindgebruiker merkt niets van de aanwezigheid van App-V. Alle icoontjes en snelkoppelingen zijn aanwezig alsof de applicatie geïnstalleerd zou zijn op het toestel. Als een snelkoppeling wordt aangeklikt, start de App-V Client het opstartproces. Dit proces houdt in dat het downloadproces
19
wordt ingezet wanneer de applicatie voor de eerste keer start of een update beschikbaar heeft. Wanneer voldoende data op het toestel staat, start de applicatie.
2.3.7 Microsoft RemoteApp Microsoft RemoteApp werd geïntroduceerd in Windows Server 2008 en is een update van Terminal Services RemoteApp. Dit maakt het mogelijk applicaties te weer te geven alsof ze draaien op het eindtoestel zelf maar in werkelijkheid op een server draaien. Met de Windows Server 2008 R2 kunnen zowel applicaties en als sessiedesktops worden aangeleverd. De applicaties worden ook beschikbaar gemaakt in het startmenu van de eindgebruiker wanneer het toestel verbonden is met het lokale netwerk. Sinds de Windows Server 2008 R2 update is het mogelijk de applicaties te filteren die beschikbaar zijn voor de eindgebruiker wanneer deze inlogt op de webinterface (RD Web Access). Ook is het mogelijk om gebruikers te koppelen aan hun persoonlijke virtuele desktops of een pool van virtual desktops. Vanaf deze update kreeg Terminal Services ook een nieuwe naam: Remote Desktop Services De laatste jaren werkt Microsoft ook aan RemoteApp-applicaties voor mobile devices en andere besturingssystemen dan Windows. Hierdoor wordt RemoteApp een crossplatform-oplossing. Verder zorgde RemoteFX (in de update Windows Server 2008 R2 SP1) voor een betere gebruikservaring, HDvideo e.d.m. Vanaf Windows Server 2012 is RemoteFX geoptimaliseerd voor gebruik over WAN en voor touch devices. RemoteApp biedt niet enkel applicaties aan die geïnstalleerd zijn op het toestel, maar ook Microsoft App-V pakketten. Door de App-V RDS Client te gebruiken worden de beschikbare applicaties zichtbaar. Hierdoor kunnen App-V applicaties voor de eindgebruiker beschikbaar gemaakt worden op toestellen die niet tot het domein behoren.
20
3 Desktopvirtualisate 3.1 Wat is desktopvirtualisatie? Desktopvirtualisatie bestaat doorgaans uit vier verschillende types: streamed VHD, server hosted destop virtualization (VDI), session virtualization (Terminal Services) en client-side virtualization. Elk van deze oplossingen levert aan de eindgebruiker een desktopomgeving maar biedt een verschil in performance en mobiliteit (offline/online). Buiten deze verschillende types bestaat er nog één ander type: remote access. Hierbij kan de eindgebruiker een toestel van op afstand benaderen. Vaak zijn er voor alle desktopvirtualisatieoplossingen crossplatform clients voorzien. Het oudste en waarschijnlijk meest gekende voorbeeld van desktopvirtualisatie is session virtualization (sessievirtualisatie). Dit wordt vaak ook hosted desktop genoemd. Deze desktopvirtualisatietechniek staat meer gekend als Terminal Services, wat een onderdeel is van Windows Server 2008 en vroegere versies. Vanaf Windows Server 2012 kreeg deze technologie een andere naam van Microsoft: Remote Desktop Services. Deze techniek houdt in dat eindgebruikers aan de hand van een remote desktop sessie een desktop kan benaderen. De aangeboden desktop is een sessie die gestart wordt op een Remote Desktop Services host. De eindgebruiker heeft hierdoor mogelijkheid om applicaties, die geïnstalleerd zijn op de server, te gebruiken. Wanneer er gekozen wordt om de eindgebruikers een apart toestel aan te bieden kan er gekozen worden voor Virtual Desktop Infrastructure (VDI). Bij deze technologie wordt voor elke eindgebruiker, die op dat moment toegang wil krijgen tot een desktop, een virtuele machine opgestart in de datacenter. Door gebruik te maken van virtuele machines kan er gekozen worden voor bepaalde gebruikers meer of minder hardware toe te kennen naargelang de uitvoerende functie binnen het bedrijf. De eindgebruiker is ook de enige gebruiker die op dat moment verbinding heeft met die ene virtuele machine. Ook streamed VHD (virtual hard disk) wordt gezien als desktopvirtualisatie. Deze techniek zorgt er voor dat bij elke opstart van een fysiek toestel een beeld (image) wordt gedownload en opgestart. Zo kan er bij elke opstart gegarandeerd worden dat de desktop zich in een clean state bevindt. Als het besturingssysteem opstart, zit er geen virtuele laag tussen het toestel en het besturingssysteem. Hierdoor dienen dus specifieke drivers aanwezig te zijn in het beeld om gebruik te kunnen maken van de aanwezige hardware. Als er gekozen wordt voor een hardware onafhankelijke oplossing (hardware-independent) en offline beschikbaarheid, dient er gebruik gemaakt te worden van een hypervisor op het eindtoestel. Deze oplossing wordt vaak client-VDI of local VM genoemd. Zoals eerder vermeld (in 1.3 Soorten virtualisatie) zijn er twee soorten hypervisors: type 1 (bare metal) en type 2 (hosted). Naast deze oplossingen bestaat er ook nog DaaS, Desktop as a Service. In feite is DaaS niet meer dan VDI waarvoor je betaalt. Hierdoor wordt de hardware en de opzet geoutsourced. Het al dan niet maken van de golden image door het externe bedrijf wordt vaak vastgelegd in het contract. DaaS is vooral handig wanneer het extern verkeer uit de datacenter van het bedrijf wil gehouden worden.
21
Figuur 8: Overzicht hiërarchie desktopvirtualisatie
3.2 Verschillende soorten desktopvirtualisatie 3.2.1 Sessievirtualisatie Wanneer gebruik wordt gemaakt van sessievirtualisatie start de eindgebruiker een sessie met de Remote Desktop Services host. Wanneer deze sessie tot stand komt, krijgt de eindgebruiker toegang tot een desktop op de server. Hierdoor is de performance enkel gelimiteerd tot de beschikbare hardware van de server. Het gebruik van sessievirtualisatie zorgt voor het snel beschikbaar stellen van een desktop met een lage TCO. Het instellen van hardware limieten – beschikbare CPU en geheugen – per gebruiker is mogelijk (zie Windows System Resource Manager voor Windows en ulimit voor Linux). Deze oplossing zorgt er voor dat de eindgebruiker niet meer gebonden is aan een bepaalde locatie of type toestel dat gebruikt wordt.
3.2.2 Virtual Desktop Infrastructure (VDI) VDI ofwel server hosted VDI is in staat om het even welk type desktop aan te bieden aan de eindgebruiker. Het is dus perfect mogelijk buiten de standaard Windows 7 en Windows 8 besturingssystemen ook een Linux desktop aan te leveren. VDI maakt gebruik van virtuele machines die aangestuurd kunnen worden door de eindgebruiker. Deze virtuele machines maken gebruik van een golden image waar het besturingssysteem en allerlei applicaties op staan. Als er gekozen wordt voor VDI kan de keuze gemaakt worden of deze virtuele machines al dan niet persistent (vasthoudend/blijvend) zijn. Dit wil zeggen dat er al dan niet bij het verbreken van de verbinding door de eindgebruiker de virtuele machine naar zijn originele staat wordt terug gezet. Wanneer de virtuele machine zijn data blijft behouden, gaat dit over persistent. Indien dit het geval is zal enkel die specifieke eindgebruiker toegang krijgen tot die desktop. Dit heet “static”. Ook bij non-persistent kan er gekozen worden voor static. Hierbij zal de eindgebruiker elke keer een “nieuwe” desktop voorgeschoteld krijgen, maar telkens dezelfde virtuele machine. Wanneer het niet om het even is welke gebruiker met welke virtuele machine verbinding maakt, kan er gekozen worden voor random. De VDI-technologieën zorgen er vaak voor dat de systeembeheerder niet telkens virtuele machines moet aanmaken als er een te kort aan is. De technologie regelt dit zelf. Hiervoor dient enkel toegang tot de virtualisatie-infrastructuur gegeven te worden aan de technologie waardoor deze controle krijgt over de virtuele machines. Het beheer is niet enkel nodig voor het aanmaken van virtuele machines, maar ook voor het terug zetten naar de golden image.
3.2.3 Streamed VHD Door gebruik te maken van streamed VHD start het toestel telkens weer op in de originele staat. Wanneer het toestel opstart, downloadt hij stukken van de golden image waarmee hij kan opstarten.
22
Bij deze techniek wordt er geen gebruik gemaakt van een virtualisatielaag. Dit heeft als nadeel dat om hardware te ondersteunen verscheidene drivers in de golden image moeten opgenomen worden. In feite kan bij streamed VHD niet echt gesproken worden over golden image. Het beeld zal verschillen van chipset tot chipset. In dit geval wordt er gesproken over common image. Een beeld dat gebruikt kan worden voor een bepaalde chipset. Buiten het feit dat er verscheidene common images aanwezig moeten zijn, is de factor netwerk een aspect dat zeker niet mag vergeten worden. Aangezien bij elke opstart een beeld wordt gedownload over het netwerk, is er een heel goed en snel netwerk vereist. Buiten een snel netwerk is er zeker ook een stabiel netwerk nodig. Streamed VHD download real-time wat hij nodig heeft. Het duurt langer tot wanneer dat het toestel verder kan als er pakketten verloren gaan.
3.2.4 Client-VDI / local VM Desktopvirtualisatie kan ook offline aangeboden worden. Deze technologie heet client-VDI of local VM. Op deze manier wordt een virtuele machine verstuurd naar de eindgebruiker. Deze virtuele machine kan zowel het “enige” besturingssysteem zijn, in dit geval gaat het over type 1 virtualisatie, of een virtuele machine naast het huidige besturingssysteem, type 2 virtualisatie. Doordat deze technologie gebruik maakt van virtuele machines zijn de golden images die gebruikt worden voor deze virtuele machines hardware-independent. De virtualisatielaag zorgt voor de vertaalslag tussen de virtuele hardware en de fysieke hardware. Hierdoor is dus maar één golden image nodig voor honderden verschillende toestellen – met elk andere hardware – te voorzien van een desktop. Deze dekstopomgeving kan offline gebruikt worden. Wanneer het toestel terug online komt, wordt deze gesynchroniseerd met een centrale server. Zo is er altijd een backup beschikbaar.
3.3 Welke technologieën zijn er op de markt? PQR biedt een mooi overzicht van de verschillende mogelijkheden in hun whitepaper “VDI Smackdown”. Op het moment van schrijven is de recentste versie 2.3 (november 2013).
3.3.1 Citrix VDI-in-a-box Citrix VDI-in-a-box is een all-in-one oplossing. Alle onderdelen om een VDI omgeving op te zetten zitten in één pakket, de vdiManager. Naast de manager wordt er gebruik gemaakt van de Citrix Receiver om de desktopomgeving te gebruiken. VDI-in-a-box is oorspronkelijk een product van Kaviza. Dit bedrijf was opgericht door virtualisatiespecialisten van HP en IMB. In 2011 kocht Citrix Kaviza op. De kern van VDI-in-a-box is easy to use en is vooral bedoeld voor kleine bedrijven. Deze technologie is heel gemakkelijk te installeren als een groep van virtuele machines (OVA, open virtual appliance). Deze groep kan in één keer toegevoegd worden aan de virtuele omgeving. Naast gebruik te maken van de Citrix Receiver, biedt VDI-in-a-box ook HTML5 ondersteuning aan. De VDI-in-a-box-infrastructuur is eenvoudig uit te breiden: voeg de OVA toe aan een nieuwe hypervisor. De vdiManager’s ontdekken elkaar en breiden zo de farm uit. VDI-in-a-box is bedoeld voor kleine bedrijven die op een eenvoudige wijze van start kunnen gaan met VDI.
23
Figuur 9: Citrix VDI-in-a-box architecture (van Kaam, 2013)
3.3.2 Citrix XenDesktop Nadat Citrix al jaren met Citrix XenApp oplossingen - onder andere namen - ontwikkelde, zie 2.3.1 Citrix XenApp, vond Citrix het tijd om een end-to-end oplossing aan te bieden. Hierdoor kan Citrix zowel applicaties als desktopomgevingen aanbieden. Door dit totaalpakket aan te bieden, bereikt Citrix een breder publiek. In 2008, hetzelfde jaar dat Citrix de nieuwe naam XenApp lanceerde, kwam Citrix uit met een nieuw product: Citrix XenDesktop. Deze Citrix oplossing maakt het mogelijk om zowel personal, pooled als dedicated virtual machines beschikbaar te stellen. Naast het aanbieden van deze desktopomgevingen, is met Citrix XenDesktop ook mogelijk hosted desktops en applicaties aan te leveren. Zo biedt XenDesktop dezelfde functionaliteit aan als XenApp, maar met de desktophostingfeatures.
24
Figuur 10: Vergelijking Citrix XenApp en Citrix XenDesktop features
Om gebruik te maken van een desktopomgeving die wordt aangeleverd door Citrix XenDesktop kan hier ook – zie andere Citrix technologieën – gebruik gemaakt worden van Citrix Receiver. Een HTML5 integratie is ook mogelijk, al is er een groot verlies van functionaliteit. Zo kan de eindgebruiker zijn USB apparaten, lokale printer(s), bestandssysteem niet meer benaderen vanop de aangeleverde desktop. Net zoals Citrix XenApp maakt XenDesktop ook gebruik van de HDX-technologie. Meer uitleg rond de HDX-technologie is te vinden in 2.3.1.2 HDX-protocol. Naast de traditionele VDI-voorzieningen (zoals personal, pooled en dedicated virtuele machines) en hosted desktops biedt XenDesktop ook lokaal uitgevoerde desktops (locally executed desktops) en streamed VHD aan. Deze lokaal uitgevoerde desktops dienen gebruikt te worden in samenwerking met Citrix XenClient (een type-1 hypervisor). Streamed VHD biedt een beeld van een harde schijf aan waarmee het toestel kan opstarten. De gegevens van het beeld worden geanalyseerd om zo snel mogelijk te kunnen opstarten waardoor er niet hoeft gewacht te worden tot het volledige beeld gedownload is. 3.3.2.1 FlexCast en VDA Door gebruik te maken van het FlexCast Managment Architecture is XenDesktop in staat goede en kwaliteitsvolle 3D graphics aan te leveren. Andere voordelen van het gebruik van FlexCast zijn: de mogelijkheid om een hybrid cloud te vormen, een infrastructuur bouwen tot meer dan 100.000 gebruikers met 1000 servers, integratie met Microsoft System Center, Microsoft App-V integratie, enz. FlexCast is geen product, noch een protocol. FlexCast is een werkset om verschillende virtuele desktops aan te bieden, elk afgestemd op de prestaties, beveiliging en flexibiliteit. De FlexCast architectuur bestaat uit een manager, een Delivery Controller en een Delivery Agent. Vroeger diende voor elke type besturingssysteem een andere farm gebruikt worden, wat het gebruik en het beheren van XenApp en XenDesktop moeilijker maakte. Doordat de Delivery Controller onttrokken wordt en op één server wordt geplaatst – in tegenstelling tot vroeger, waar deze op elke server geïnstalleerd diende te worden – kan een farm bestaan uit verschillende soorten Windows besturingssystemen. Dit maakt het beheren makkelijker. De Delivery Controller werkt zoals elke connection broker. Deze wordt voor de verbinding tussen Citrix StoreFront – de catalogus voor alle beschikbare applicaties en desktops voor een bepaalde gebruiker – en de Virtual Delivery Agent op toestel waarmee verbinding gemaakt zal worden.
25
Figuur 11: FlexCast architectuur (ITON, 2014)
Om gebruik te kunnen maken van dekstops – zowel in virtuele machines als op servers – moet de VDA geïnstalleerd zijn. De Virtual Delivery Agent zorgt voor de communicatie tussen de Delivery Controller en de desktop. Naast de communicatie met en registratie in de Delivery Controller zorgt VDA voor Hight Definition eXperience (HDX) connectie met het eindtoestel. VDA bestaat uit twee versies. Eén voor Server OS machines en één voor Deskop OS machines.
3.3.3 Microsoft RDVH - Virtual Desktop Infrastructure Remote Desktop Virtualization Host is een nieuwe rol sinds Windows Server 2008 R2. Door deze rol samen te gebruiken met de Hyper-V hypervisor kan de Remote Desktop Services host ook toegewijde virtuele desktops met het Windows client besturingssysteem aanbieden. Deze desktops zien er voor de eindgebruiker hetzelfde uit als sessie gebaseerde desktops. Na de Windows Server 2008 R2 SP1 update voegde Microsoft RemoteFX aan de Remote Desktop Services toe. RemoteFX zorgt voor een betere gebruikerservaring: USB redirection, HD video en gebruik van 3D applicaties over het Remote Desktop protocol. Deze vernieuwde technologie werkt zowel voor sessie gebaseerde desktops als virtual desktops. Sinds Windows Server 2012 is de Remote Desktop Services opnieuw ontworpen. Hierdoor is de Remote Desktop omgeving veel eenvoudiger te beheren en te installeren. Ook RemoteFX werd geüpdatet waardoor de nieuwe Windows 8 ondersteund wordt. RemoteFX is geoptimaliseerd voor gebruik over WAN en touch devices. Verder is ook standaard een profile management-oplossing aanwezig. Hierdoor heeft de gebruiker een stuk opslag die bij elke aangeleverde desktop aangeroepen kan worden. De architectuur van Microsoft RDVH – Virtual Desktop bestaat uit vijf onderdelen. Remote Desktop Gateway Deze optionele rol zorgt voor een veilige verbinding tussen Microsoft VDI en eindgebruikers over het internet.
26
Remote Desktop Connection Broker De connection broker laat de webinterface weten welke applicaties en desktops beschikbaar zijn voor de eindgebruiker. Verder bezit deze rol ook de Remote Desktop Management Service. Deze rol onderhoudt een database met statische informatie over de andere roles die nodig zijn in de RDVH-infrastructuur en dynamische sessie-informatie van de RDSH en RDVH. Remote Desktop Session Host Remote Desktop Session Host was vroeger gekend onder Terminal Services. Deze rol biedt server hosted desktops en remote applications aan. Deze rol is niet noodzakelijk voor het aanbieden van VDI maar kan een hybird-oplossing aanbieden. Remote Desktop Virtualization Host Dit is een virtualisatieserver die gebruik maakt van Hyper-V. Op deze server is de Virtualization Host agent service geïnstalleerd. Deze agent zorgt voor het opstarten van een virtuele machine of applicatie in de virtuele machine wanneer de gebruiker verbinding wilt maken. Remote Desktop Web Access Hosts Deze rol bezorgt de ingelogde gebruiker de beschikbare applicaties en desktops a.d.h.v. een webinterface.
3.3.4 VMware Horizon Suite (VMware Horizon View) In 2008 trad VMware toe in de wereld van desktop virtualisatie. Het product heette VMware VDM. Deze naam bleef niet lang bestaan want in hetzelfde jaar kwam VMware Horizon View op de markt. Zes jaar later, op 6 april 2014, werd beslist VMware View stop te zetten en uit te brengen onder een groter pakket: Horizon 6. In dit pakket kreeg VMware View de naam “VMware Horizon (with View)”. De huidige versie van VMware Horizon 6 heeft als doel om zowel applicaties als desktops aan te bieden op één platform. Deze applicaties zijn hosted applications (hosted RDS), VMware ThinApp applicaties en SaaS applicaties. De aangeboden desktops moeten ofwel hosted desktops zijn (hosted RDS) of een virtual desktop. De eindgebruiker kan gebruik maken van de VMware Horizon View Client of van de webbrowser (HTML5) om de gewenste applicatie of desktop te gebruiken. VMware maakt in hun Horizon 6 gebruik van Blast, PCoIP en Microsoft RDP. Het PCoIP protocol werd in 2009 ontworpen in samenwerking met Teradici. Dit protocol is in staat het beeld van het programma, dat draait op de server, te versturen naar elke PCoIP-ready end-client. Het beeld wordt gecomprimeerd en geëncrypteerd verzonden naar de client, die op zijn beurt het ontvangen pakket decrypteert en decomprimeert. PCoIP garandeert een hoge resolutie, full frame-rate 3D graphics, HD streaming media, gebruik van USB apparaten en het verzenden en ontvangen van HD audio. Het Blast protocol is een heel recent protocol. Dit protocol werd in 2013 ontwikkeld om gebruik via de webbrowser toe te laten. Dit protocol werkt samen met de HTML Access Agent dat geïnstalleerd is op de benaderde desktop. Het volledige pakket biedt een Single Sign-on aan. Dit wil zeggen dat er enkel één keer hoeft ingelogd te worden. Het inloggen op elke aangeboden SaaS-applicaties, Office 365, virtuele desktops en Horizon-based applications is dus niet meer nodig! VMware Horizon (with View) is ontworpen om op de vSphere-infrastructuur te werken en maakt het ook mogelijk om een hybrid cloud-infrastructuur uit te bouwen.
3.3.5 Windows To Go Windows To Go is een nieuwe feature dat beschikbaar is vanaf Windows 8. Hiermee kunnen usbsticks omgevormd worden tot een draagbare desktop. Om de desktopomgeving te starten dient het toestel, dat voldoet aan de minimum hardwarevereisten (minstens 1 Ghz processor en 2 GB RAMgeheugen), opgestart te worden van op de usb-stick. Eens ingelogd kan de eindgebruiker werken met een volwaardige Windows 8 desktop. Er zijn enkele features uitgeschakeld. Zo is er geen Windows Store beschikbaar en kan het toestel niet in hibernation gaan. De usb-stick op zich is niet zomaar in te lezen. Alles wat er op de stick staat is geëncrypteerd door Bitlocker. Ook staan lokale schijven
27
standaard offline voor de Windows To Go-omgeving. Deze schijven zijn online te zetten via schijfbeheer. De software in de Windows To Go-omgeving kan geïnstalleerd worden zoals elke Windows applicatie of kan aangeboden worden a.d.h.v. App-V. Doordat de usb-stick op elk toestel kan gebruikt worden kunnen sommige applicaties problemen geven i.v.m. licenties. Dit is vaak omdat deze licenties hardwaregebonden zijn. De Windows To Go-omgeving kan beheerd worden via SCCM. Ook kunnen Group Policies hierop toegepast worden. Microsoft heeft usb-sticks getest en raadt een usb-stick van minimum 32 GB aan (Microsoft, 2014).
28
4 Onderzoek in Vlaamse hogescholen en universiteiten Om een beter zicht te krijgen op het virtualiseren van software in de Vlaamse hogescholen en universiteiten werd een enquête verstuurd. Hierop hebben dertien hogescholen of universiteiten geantwoord. De enquête polste of er al dan niet aan applicatie- en/of desktopvirtualisatie werd gedaan. Bij een positief antwoord werden detailvragen gesteld zoals welk type applicatie- of desktopvirtualisatie, welke technologie, doelgroep en/of dit van thuis af benaderd kan worden e.d.m. Indien er niet aan virtualisatie van software werd gedaan, kregen ze de vraag of er op dat vlak al dan niet verandering zou komen. 4.1 Vaststellingen Tien van de dertien reacties kwamen uit hogescholen. De rest kwam van de universiteiten. Besluiten over het al dan niet gebruik maken van applicatie- of desktopvirtualisatie kan je hier niet trekken. Alle ondervraagden zijn tevreden met de huidige infrastructuur. De helft is wel van plan om wijzigingen in de bestaande infrastructuur aan te brengen.
Verhouding applicatie-/desktopvirtualisatie bij universiteiten
1 applicatievirtualisatie beide 2
Grafiek 1: Verhouding applicatie-/desktopvirtualisatie universiteiten
Verhouding applicatie-/desktopvirtualisatie bij hogescholen 1 1 4
applicatievirtualisatie beide desktopvirtualisatie Neen
4
Grafiek 2: Verhouding applicatie-/desktopvirtualisatie hogescholen
29
Verdeling applicatie- of desktopvirtualisatie 1 1 applicatievirtualisatie 5
beide desktopvirtualisatie Neen 6
Grafiek 3: Verdeling applicatie- of desktopvirtualisatie
Zoals in Grafiek 3 te zien is, wordt er in één geval gekozen om geen applicatie- of desktopvirtualisatie oplossing te voorzien. Deze instelling - een kunstschool - is niet van plan hierin verandering te brengen. Bijna de helft biedt zowel applicatie- als desktopvirtualisatie aan. Vijf instellingen op de dertien bieden enkel applicatievirtualisatie aan. Eén hogeschool biedt enkel desktopvirtualisatie aan. Om de gebruikte technologieën te bekijken, wordt er gebruik gemaakt van een matrix. In deze matrix wordt er per instelling en per doelgroep – administratief personeel, lesgevend personeel en studenten – de gebruikte technologie uitgezet. Naam Artesis Plantijn Hogeschool Arteveldehogeschool Erasmushogeschool Brussel Hogeschool Gent Hogeschool West-Vlaanderen HUB-KAHO Karel de GroteHogeschool Katholieke Hogeschool Leuven Katholieke Universiteit Leuven LUCA School of Arts Universiteit Gent VIVES Vrije Universiteit Brussel
Administratief personeel
Lesgevend personeel
Studenten
Citrix XenApp
Citrix XenApp
Citrix XenApp
Citrix XenApp
Citrix XenApp
Geen
2X ApplicationServer
2X ApplicationServer
Geen
Citrix XenApp
Citrix XenApp
Citrix XenApp
Citrix XenApp
Citrix XenApp
Geen
Geen
Geen
Geen
Microsoft App-V
Microsoft App-V
Citrix XenApp
Novell ZAV
Novell ZAV
Novell ZAV
Microsoft App-V
Microsoft App-V
Microsoft App-V
Geen Citrix XenApp Microsoft App-V
Geen Citrix XenApp Microsoft App-V
Geen Citrix XenApp Microsoft App-V
VMware ThinApp
Geen
Geen
Tabel 1: Gebruikte applicatievirtualisatietechnologieën per doelgroep en per instelling
30
Administratief personeel
Lesgevend personeel
Studenten
Citrix XenApp
Citrix XenApp
Citrix XenApp
Geen
Geen
Geen
Geen
Geen
Geen
Geen
Geen
Geen
Geen
Geen
Geen
Geen
Geen
Geen
Geen
VMware Horizon View
VMware Horizon View
Geen
Geen
Geen Geen
Geen Geen
VIVES
VMware Horizon View
Citrix XenDesktop
Vrije Universiteit Brussel
VMware Horizon View
Geen
Naam Artesis Plantijn Hogeschool Arteveldehogeschool Erasmushogeschool Brussel Hogeschool Gent Hogeschool WestVlaanderen HUB-KAHO Karel de GroteHogeschool Katholieke Hogeschool Leuven Katholieke Universiteit Leuven LUCA School of Arts Universiteit Gent
Citrix XenDesktop Citrix XenDesktop VMware Horizon View Citrix XenDesktop Geen Geen Citrix XenDesktop Geen
Tabel 2: Gebruikte desktopvirtualisatietechnologieën per doelgroep en per instelling
4.2 Applicatievirtualisatie Uit het onderzoek blijkt dat elf van de dertien organisaties kiezen om aan applicatievirtualisatie te doen. Dit wordt al dan niet in combinatie met desktopvirtualisatie gedaan. Voor het administratief personeel is er in alle organisaties altijd een oplossing voorzien. Drie scholen gebruiken geen applicatievirtualisatie voor het lesgevend personeel. Voor de studenten wordt er enkel in zeven op de dertien gevallen een oplossing voor applicatievirtualisatie voorzien.
Applicatievirtualisatietechnologieën 2 11
2X ApplicationServer
8
Microsoft App-V VMware ThinApp 1
Citrix XenApp Novell ZAV
3
Geen
14
Grafiek 4: Applicatievirtualisatietechnologieën
31
In bijna 40 %, vijf van de dertien, van de gevallen wordt er gekozen voor Citrix XenApp. In ongeveer een vijfde van de gevallen wordt er voor Microsoft App-V gekozen. Bijna een derde kiest er voor om geen technologie te implementeren omdat niet voor elke doelgroep een oplossing wordt voorzien. De minderheid kiest voor 2X ApplicationServer, Novell ZAV (ZENworks Application Virtualization) en VMware ThinApp.
Applicatievirtualisatietechnologieën Administratief personeel 1
2
2X ApplicationServer
1
3
Microsoft App-V VMware ThinApp Citrix XenApp Novell ZAV
1
Geen
5
Grafiek 5: Applicatievirtualisatietechnologieën bij administratief personeel
Applicatievirtualisatietechnologieën Lesgevend personeel 1 3
2X ApplicationServer 3
Microsoft App-V Citrix XenApp
1
Novell ZAV Geen 5
Grafiek 6: Applicatievirtualisatietechnologieën bij lesgevend personeel
32
Applicatievirtualisatietechnologieën Studenten 2
Microsoft App-V Citrix XenApp
6
Novell ZAV 4
Geen
1
Grafiek 7: Applicatievirtualisatietechnologieën bij studenten
Als deze resultaten worden bekeken tegenover de verschillende doelgroepen blijkt dat de verhouding van de gebruikte technologieën voor administratief en lesgevend personeel ongeveer dezelfde is. Er wordt in het algemeen minder applicatievirtualisatie aangeboden voor studenten dan voor medewerkers. Als organisaties applicatievirtualisatie voorzien is deze ook van buiten de instelling bereikbaar. De grote meerderheid van de ondervraagden die aan applicatievirtualisatie doen, kiest er voor om dit van thuis te laten benaderen. De rest kan deze optie niet overwegen omdat de gebruikte technologie Microsoft App-V dit niet toelaat.
Verdeling applicatievirtualisatietechnologieën over aantal studenten (per 1000) 10,19 Microsoft App-V 7,69
29,10
Citrix XenApp Novell ZAV Geen
17,27
Grafiek 8: Verdeling applicatievirtualisatietechnologieën over aantal studenten
Uit Grafiek 8 blijkt dat Microsoft App-V de technologie is die het meest voor de studenten gebruikt wordt. Een vierde gaat naar Citrix XenApp en het andere deel wordt verdeeld over Novell ZAV en geen applicatievirtualisatieoplossing. De voorziene technologieën kunnen van thuis uit benaderd worden.
33
4.3 Desktopvirtualisatie Uit de resultaten kan je concluderen dat er in de helft van de gevallen desktopvirtualisatie wordt voorzien. Dit resultaat is te danken aan vijf van de twaalf instellingen die zowel applicatie- als desktopvirtualisatie aanbieden. Eén op de twaalf biedt enkel desktopvirtualisatie aan. Zoals zal blijken uit de volgende resultaten, wordt er niet voor elke doelgroep gekozen voor desktopvirtualisatie.
Desktopvirtualisatietechnologieën 5 3
VMware Horizon View Citrix XenApp 5
Citrix XenDesktop Geen
26
Grafiek 9: Gebruikte desktopvirtualisatietechnologieën
Als de technologieën per doelgroep worden bekeken, blijkt dat er heel weinig aan desktopvirtualisatie wordt gedaan voor elke doelgroep. In 26 van de 42 gevallen, ongeveer 65 %, wordt er geen technologie gebruikt. Het aandeel van Citrix XenDesktop en VMware Horizon View is hetzelfde: vijf van de 42 gebruikte technologieën. Het overige deel is voor Citrix XenApp. Een interessant patroon is te zien als de gebruikte technologieën worden vergeleken voor elke doelgroep. In tegenstelling tot wat vele mensen zouden denken, wordt er minder aan desktopvirtualisatie gedaan voor administratief en lesgevend personeel dan voor studenten. In ongeveer de helft van de gevallen wordt er een oplossing voorzien voor de studenten. Bij het administratief personeel wordt er in negen van de twaalf gevallen (ongeveer 70 %) niet aan desktopvirtualisatie gedaan. Voor het lesgevend personeel gaat het over tien van de dertien, ongeveer 75 %.
Desktopvirtualisatietechnologieën Administratief personeel 3 VMware Horizon View 1
Citrix XenApp Geen
9
Grafiek 10: Gebruikte desktopvirtualisatietechnologieën bij administratief personeel
34
Uit de grafiek van de desktopvirtualisatietechnologieën bij het administratief personeel kan je afleiden dat er vooral gekozen wordt voor VMware Horizon View. Het aandeel van Horizon View bedraagt bijna een vierde van de gebruikte technologieën dan bij het administratief personeel. In één geval wordt er gekozen om Citrix XenApp te gebruiken.
Desktopvirtualisatietechnologieën Lesgevend personeel 1 1 1
VMware Horizon View Citrix XenApp Citrix XenDesktop Geen
10
Grafiek 11: Gebruikte desktopvirtualisatietechnologieën bij lesgevend personeel
Het aanbod van desktopvirtualisatie bij lesgevend personeel ligt nog lager dan bij administratief personeel. Zo wordt er in driekwart van de gevallen geen oplossing voorzien. Het overige kwart wordt verdeeld door Citrix XenApp, Citrix XenDesktop en VMware Horizon View. De technologie VMware Horizon View wordt minder voor het lesgevend personeel dan voor het administratief personeel gebruikt.
Desktopvirtualisatietechnologieën Studenten 1 1 VMware Horizon View Citrix XenApp 7
Citrix XenDesktop 4
Geen
Grafiek 12: Gebruikte desktopvirtualisatietechnologieën bij studenten
Uit het onderzoek blijkt dat voor studenten vooral Citrix XenDesktop wordt gebruikt als oplossing voor desktopvirtualisatie. Zoals reeds eerder vermeld, wordt er meer desktopvirtualisatie voor studenten gebruikt. Zo is voor zes op de dertien gevallen een oplossing voorzien. Het aandeel van XenDesktop hierin is vier op zes.
35
Verdeling desktopvirtualisatietechnologieën over aantal studenten (per duizend) 7,692
VMware Horizon View
12,047
Citrix XenApp 8,41 16,006
Citrix XenDesktop Geen
Grafiek 13: Verdeling desktopvirtualisatietechnologieën over aantal studenten
Uit bovenstaande grafiek blijkt dat het aandeel van Citrix XenDesktop 36 % bedraagt, 16 000 op 44 000. Dit stemt ongeveer overeen met het resultaat van de gebruikte desktopvirtualisatietechnologie bij studenten. De verhouding van Citrix XenApp en VMware Horizon View is ook ongeveer gelijk. Beide technologieën voor studenten komen in de enquête één maal voor. Citrix XenDesktop komt vier keer voor. Als het aantal gebruikers in beschouwing wordt genomen, blijkt dat het aantal gebruikers van Citrix XenApp en VMware Horizon View samen ongeveer even groot is als het aantal gebruikers van Citrix XenDesktop.
4.4 Conclusies 4.4.1 Applicatievirtualisatie Hogescholen en universiteiten stellen applicatievirtualisatie ter beschikking van het personeel. In de helft van de gevallen wordt dit ook aangeboden aan studenten. Niet alle technologieën kunnen hetzelfde aanbieden. Dit heeft als resultaat dat het voor een kwart van de gebruikers niet mogelijk is om de technologie van een toestel dat geen eigendom is van de organisatie te benaderen. Citrix heeft het grootste aantal gebruikers. Microsoft blijft nog even uit beeld bij de hogescholen en universiteiten wat application hosting betreft. Er zal blijkbaar nog even moeten gewacht worden vooraleer Microsoft RemoteApp in beeld zal komen. In ieder geval is één school in de nabije toekomst van plan 2X ApplicationServer te vervangen door Microsoft RemoteApp. Microsoft App-V wordt nog relatief veel gebruikt. Of het aandeel van Microsoft App-V zo sterk zal blijven, valt te betwijfelen. Op dit moment neemt het belang van het concept “bring your own device” toe, waardoor het aantal toestellen in bezit van de hogescholen en universiteiten zal dalen, tenzij ze ter compensatie een vast toestel voorzien. Sommige application hosting-technologieën bieden wel al een integratie met Microsoft App-V aan, waardoor deze applicaties kunnen aangesproken worden. Een voorbeeld hiervan is Citrix XenApp 7.5 – en Citrix XenDesktop.
4.4.2 Desktopvirtualisatie In driekwart van de gevallen wordt er bij hogescholen en universiteiten gekozen om niet aan desktopvirtualisatie te doen bij administratief en lesgevend personeel. Bij studenten is dit slechts voor de helft van de gevallen waar. Eén universiteit is wel van plan hier verandering in te brengen. De gebruikte technologie bij desktopvirtualisatie in hogescholen en universiteiten is afhankelijk van de doelgroep. Zo blijkt dat voor administratief personeel vooral VMware Horizon View wordt gebruikt en voor studenten vooral Citrix XenApp. Wat lesgevend personeel betreft zijn de meningen verdeeld. Het is een ex aequo met VMware Horizon View, Citrix XenApp en Citrix XenDesktop.
36
5 Virtualisatie van software in de Arteveldehogeschool 5.1 Waarom? De ICT-dienst van de Arteveldehogeschool wil virtualisatie van software invoeren. De belangrijkste drijfveren zijn:
centraal beheer van software; in het kader van BYOD software beschikbaar stellen voor “vreemde” toestellen; software beschikbaar maken voor thuisgebruikers; kleinere beelden hanteren en meer efficiënt educatieve toestellen installeren; flexibiliteit en schaalbaarheid van het software-aanbod; vraag voor software op een klantvriendelijke manier aanbieden.
5.2 Case: virtualisatie van software voor de opleiding Podologie 5.2.1 Omschrijving Het doel van deze case is een kleinschalige opstelling te maken. Hierin wordt bekeken in hoeverre het mogelijk is om aan virtualisatie van software te doen binnen de Arteveldehogeschool. Aangezien de opleiding Podologie reeds vragende partij was, leek het logisch om deze opleiding als proefkonijn te gebruiken. 5.2.1.1 Doelstellingen voor eindgebruiker De eindgebruiker wil de mogelijkheid om de software te gebruiken die nodig is om zijn taken uit te voeren. Naast het gebruik maken van de software, moet de eindgebruiker ook de mogelijkheid hebben om aan data te kunnen die aanwezig is op de servers. De opleiding staat ook open om data te downloaden en te gebruiken op het toestel wanneer de software op het toestel zou draaien. 5.2.1.2 Doelstellingen voor IT-dienst De IT-dienst moet in staat zijn om op een eenvoudige wijze eindgebruikers software aan te leveren. De aangeboden oplossing moet eenvoudig schaalbaar zijn. Naast het aanbieden van software wordt er ook gekeken naar het efficiënt verspreiden van nieuwe software en updates. Doordat de software eigendom is van de Arteveldehogeschool moet de software kunnen aangeboden worden met het oog op de licentieproblematiek. De aangeboden oplossing moet de IT-dienst nog steeds in staat stellen om veiligheidsmaatregelen te gebruiken.
5.2.2 Uitwerking De brainstorm bestaat uit verschillende vragen: Hoe kan software op een eenvoudige wijze verspreid worden? Hoe kan de eindgebruiker gebruik maken van deze software, ook op privétoestellen? Hoe kan de IT-dienst de gebruikers de juiste software bezorgen? Is er een mogelijkheid om op een eenvoudige en vlugge manier extra desktops aan te bieden? Is het mogelijk om samen te werken met een public cloud om trafiek van het netwerk te houden? Na de brainstorm was het tijd om na te denken welke technologie het best gebruikt wordt. Met oog op de toekomst zou hybrid cloud ondersteund moeten zijn. Op deze manier kan het verkeer dat gegenereerd wordt door thuisgebruikers van het AHS-netwerk gehouden worden. Bovendien wordt er ook bespaard op hardware. Cloudproviders zoals Amazon en Azure bieden de mogelijkheid enkel te betalen voor de gebruikte resources. Tijdens het nadenken rond het aanleveren van desktops kon de keuze gemaakt worden tussen sessievirtualisatie of VDI. De meeste technologieën zorgen er voor dat deze keuze niet meer hoeft gemaakt te worden. Zo is het mogelijk om zowel sessievirtualisatie als VDI aan te bieden. In de testopstelling werd er gebruik gemaakt van sessievirtualisatie. Wanneer er gebruik zou gemaakt worden van een VDI-oplossing zou de technologie toegang moeten krijgen tot de virtualisatieserver. Desalniettemin is het wel mogelijk met de gebruikte technologieën gebruik te maken van VDI.
37
Doordat de mogelijkheid tot gebruik van VDI open blijft, kan in de toekomst desktops a.d.h.v. thin clients bestuurd worden. De applicaties zullen worden aangeboden aan de hand van Microsoft App-V. Hierdoor kunnen softwarepakketten eenvoudig beheerd en geüpdatet worden zonder dat de eindgebruikers hier problemen van ondervinden. Door de software beschikbaar te stellen aan de correcte gebruikers, krijgen ze een kortere keuzelijst om de software te zoeken. Dit verhoogt de productiviteit. Voor de ITdienst is App-V handig omdat dit samen werkt met SCCM. System Center Configuration Manager wordt reeds gebruikt om de computers binnen de hogeschool te beheren. Omdat App-V enkel pakketten beschikbaar maakt op toestellen die verbonden zijn met het domein is een andere oplossing nodig om applicaties aan te bieden aan gebruikers met een eigen toestel. Hiervoor werd gekozen om ook aan sessievirtualisatie te doen. Doordat de vensters van de applicatie worden gestreamd naar het toestel kan de gebruiker gebruik maken van de software zonder dat deze geïnstalleerd is. In de testopstelling werd zowel Microsoft RemoteApp als Citrix XenApp getest. Beiden bieden de mogelijkheid om VDI te ondersteunen, al is een licentie upgrade vereist voor XenApp naar XenDesktop. Naast RemoteApp en XenApp zijn ook andere technologieën getest. Deze werken niet samen met SCCM om de applicaties eenvoudig te verspreiden en te beheren. Naast deze praktische reden kan ook gesteld worden dat Microsoft-producten voor scholen goedkoper worden aangeboden. Deze factor mag dus zeker niet uit het oog verloren worden.
5.2.3 Testopstelling
(192.168.50.131) WS2012 Domain Controller
(192.168.50.132) WS2012 RDS Host App-V Server
(192.168.50.137) WS2008 SQL-Server
(192.168.50.133) Windows 7 x86 Sequencer
(192.168.50.134) Windows 7 x86 Test client
(192.168.50.135) Windows 7 x86 Client
(192.168.50.136) Windows 8 x86 Client
Figuur 12: Testopstelling
38
De gebruikte testopstelling bevat drie servers en vier clients:
Windows Server 2012: Domain controller en fileserver Windows Server 2012: RDS host en App-V server Windows Server 2008 R2: SQL-server Windows 7: App-V Sequencer Windows 7: Test client, waar software wordt geïnstalleerd om te vergelijken met het resultaat. Windows 7: Client. Een toestel die de eindgebruiker nabootst. Windows 8: Client. Een toestel die de eindgebruiker nabootst.
De verscheidenheid tussen servers is ontstaan door het testen van verschillende technologieën. Zo werkt Citrix XenApp 6.5 – getest voor de nieuwe versie verscheen – enkel met Windows Server 2008 R2. Verder ontbreekt in de testopstelling een connectie met een virtualization host. Deze uitbreiding is wel mogelijk maar werd in de testopstelling niet gedaan. Hiervoor moet toegang tot het beheer van de server gegeven worden. In Figuur 13 is deze server wel opgenomen.
(192.168.50.131) WS2012 Domain Controller
(192.168.50.135) Windows 7 x86 Client
(192.168.50.132) WS2012 RDS Host App-V Server
(192.168.50.137) WS2008 SQL-Server
Virtualization host Hyper-V
(192.168.50.136) Windows 8 x86 Client
Figuur 13: Testopstelling inclusief VDI
Software voor de opleiding Podologie: RSscan, Kinovea, FootMill + Rhinoceros 5.0, MicroFET (Biometricsmotions), Biomechanics Toolbar.
5.2.4
Microsoft App-V
Door gebruik te maken van Microsoft App-V kan de IT-dienst de software beheren in SCCM. App-V biedt enkel ondersteuning voor het Windows-platform. De App-V softwarepakketten kunnen zowel verspreid worden over fysieke toestellen op de campussen als op de servers en virtuele machines. Doordat de gebruikte toestellen zich in het domein moeten bevinden om de pakketten automatisch te verspreiden, kan de software niet voor privédoeleinden gebruikt worden. De software kan op deze manier niet aanwezig zijn op privétoestellen tenzij ze manueel toegevoegd zijn. De eindgebruiker 39
moet dan wel kennis hebben van PowerShell, de App-V Client-software bezitten en de softwarepakketten weten staan. De App-V pakketten kunnen worden aangeboden via Microsoft Remote App, Citrix XenApp en XenDesktop, VMware Horizon (Workspace). Op deze wijze kunnen eindgebruikers toegang krijgen tot de software zonder lid te zijn van het domein. Naast het aanbieden voor sessievirtualisatie van applicaties kan App-V op elke virtuele machine met Windows gebruikt worden. Hierdoor wordt VDI ook ondersteund. Als er gebruikt wordt gemaakt van een hybrid cloud, kunnen de App-V pakketten aan de hand van een Site-To-Site VPN aangeboden worden bij de cloudprovider. Microsoft App-V bestaat uit 3 onderdelen: Client, Sequencer en Server. Een vierde onderdeel, RDS Client, is ook te verkrijgen maar is niet aanwezig in MDOP. 5.2.4.1 App-V Sequencer De App-V Sequencer wordt best op een virtuele machine geïnstalleerd omdat telkens een clean state vereist is. Voordat de Sequencer geïnstalleerd kan worden, moeten zowel PowerShell 3.0 als het .NET Framework aanwezig zijn op het systeem. Nadat de App-V Sequencer geïnstalleerd is, kan een pakketje ingepakt worden. Vaak zal de Sequencer de melding geven dat Windows Defender en de Windows Search service nog steeds actief zijn. Zet beide elementen uit voordat er een snapshot wordt genomen. Het sequence proces verloopt heel vlot en is heel duidelijk. Op het einde van dit proces kan worden aangegeven voor welk besturingssysteem het pakketje bedoeld is. Deze instelling is ook te wijzigen tijdens het bewerken van een pakket. In het bewerken-venster is naast de keuze van besturingssysteem ook het bestandssysteem en register terug te vinden. Deze kunnen beiden gewijzigd worden. 5.2.4.2 App-V Server De App-V Server bestaat uit 3 onderdelen: Publishing Server, Management Server en Reporting Server. De installatie van de App-V server gaat heel vlot. Tijdens de installatie wordt er vermeld welke componenten aanwezig moeten zijn voordat de installer verder kan. Eens geïnstalleerd kunnen App-V pakketten aan het systeem toegevoegd worden a.d.h.v. de Management Server. Deze pakketten moeten beschikbaar zijn voor om het even welke client en voor het toestel waarop het management console wordt op gebruikt. Stel hiervoor de juiste rechten in. Via de console kunnen ook de juiste AD-groepen en AD-gebruikers aangeduid worden. Het toevoegen van snelkoppelingen binnen de applicatie is hier ook mogelijk, al wordt dit beter gedaan tijdens het sequencen of bij het bewerken van het App-V pakket. Om het testen te versnellen in een testlabo is het aangeraden de refresh rate op een lagere waarde in te stellen. Standaard staat deze op 10 minuten. Deze instelling is aan te passen in het register: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AppV\Server\PublishingService\ PUBLISHING_MGT_SERVER_REFRESH_INTERVAL. 5.2.4.3 App-V Client Om de installatie van de client te starten moet zowel PowerShell 3.0 als het .NET Framework 4.0 aanwezig zijn. Bij Windows 8 zijn beiden reeds aanwezig. Nadat de installatie is afgerond, moet de App-V Client geconfigureerd worden. Deze configuratie is nodig om connectie te maken met de Publishing Server. Deze configuratie kan gebeuren via GPO’s of manueel. Indien er gekozen wordt om dit a.d.h.v. GPO’s in te stellen dient een template gebruikt te worden. Deze template heet App-V 5.0 ADMX. De instellingen zijn vervolgens te vinden onder: Computer Configuration > Policies > Administrative Templates > System > App-V > Publishing. Bij manuele configuratie moeten enkele commando’s (als administrator) uitgevoerd te worden in PowerShell. Een voorbeeld: deze commando’s stellen de Publishing Server virtsrv.kasper.be in en geeft de poort 81 mee.
40
Set-ExecutionPolicy RemoteSigned -Scope Process –Force Import-Module AppVClient Add-AppvPublishingServer -URL http://virtsrv.kasper.be:81 -Name virtsrv Eens de Publishing Server is ingesteld, kan de App-V Client de beschikbare pakketten vinden. De update van de App-V Client kan automatisch en manueel gebeuren. Door op de knop “Update” te klikken, wordt de inhoud vernieuwd in de App-V Client. Door het commando Get-AppvPublishingServer | Sync-AppvPublishingServer in te geven wordt de client m.b.v. PowerShell geüpdatet, wat ook gebeurt op de achtergrond bij het klikken van de knop. Naast de mogelijkheid om App-V pakketten automatisch toe te voegen bestaat ook de mogelijkheid om deze manueel toe te voegen. Hiervoor is de volgende PowerShell nodig: Add-AppvClientPackage -Path “\\DC\Packages\Chrome\Chrome.appv”
5.2.5 Microsoft RDS/RDVH De Microsoft RDS-server maakt het mogelijk applicaties en desktops aan te bieden aan de hand van sessies. Om App-V applicaties beschikbaar te maken voor de eindgebruiker dient de App-V RDS Client geïnstalleerd te worden. Wanneer gekozen wordt om een dekstop aan te bieden – zowel RDS als RDVH – met de beschikbare software, dient de App-V Client geïnstalleerd te worden. Elke desktop gedraagt zich als een gewone client waardoor geen speciale versie van de App-V Client vereist is. Als dekstops worden aangeboden via een RDS-host moet tijdens de installatieprocedure rekening gehouden worden met de volgorde waarin de software en de rollen geïnstalleerd worden. Zo moet eerst de App-V Client geïnstalleerd worden op de server, dan gepromoveerd worden tot RDS-host en dan de App-V RDS Client. Wanneer de App-V Client achteraf op een RDS-host geïnstalleerd dient te worden zal deze fouten geven omdat er een speciale licentie voor nodig is. Echter biedt de App-V RDS Client enkel applicaties aan om de sessies te starten en niet op de desktops zelf. De Microsoft App-V RDS Client is te vinden via de Volume Licencing Center van Microsoft onder de naam Application Virtualization.
5.2.6 Citrix XenApp / XenDesktop Citrix XenApp werd ook getest in de testopstelling. Om App-V applicaties beschikbaar te maken voor zowel de aangeboden desktops als applicaties geldt dezelfde opmerking als in 5.2.5 Microsoft RDS/RDVH. XenApp biedt de mogelijkheid om gebruik te maken van HTML5, zonder extra software te installeren. Doordat de policies ingesteld kunnen worden per gebruiker of per groep heeft de ITdienst meer controle over de verschillende mogelijkheden die een bepaalde gebruiker of groep beschikbaar heeft. Hierdoor staat de instelling niet voor iedereen aan of uit.
5.2.7 Troubleshooting 5.2.7.1 App-V pakket niet zichtbaar in applicatie-lijst Wanneer pakketten niet zichtbaar zijn in de applicatielijst, kan dit manueel gedaan worden door het pakket te publiceren als “global”. Dit proces bestaat uit twee stappen. Stap 1: Onderzoeken welke naam of packageId en versionId een pakket heeft Dit kan aan de hand van volgende PowerShell comando’s: Set-ExecutionPolicy RemoteSigned -Force -Scope Process Import-Module AppvClient Get-AppvClientPackage
41
Hierbij worden de pakketten die beschikbaar zijn voor de specifieke gebruiker weergegeven. Alle pakketten kunnen zichtbaar gemaakt worden door gebruik te maken van Get-AppvClientPackage All.
Figuur 14: Troubleshooting - Gegevens pakket Kinovea
Stap 2: Pakket zichtbaar maken Nu de gegevens van een specifiek pakket geweten zijn, kunnen deze globaal gepubliceerd worden. Voor het Kinovea-pakket zou dit commando moeten gebruikt worden (enkele mogelijkheden): 1. A.d.h.v. de naam: Publish-AppvClientPackage –Name “Kinovea” –Global 2. A.d.h.v. pakket en version ID: Publish-AppvClientPackage -PackageId cf959a39-ed4c-4a68-84f5-499a86461ca7 -VersionId 07c0bd94-f7e9-4d92-b25f-e5e6901c2be2 3. A.d.h.v. invoervelden: PS> Publish-AppvClientPackage cmdlet Publish-AppvClientPackage at command pipeline position 1 Supply values for the following parameters: PackageId: cf959a39-ed4c-4a68-84f5-499a86461ca7 VersionId: 07c0bd94-f7e9-4d92-b25f-e5e6901c2be2 Wanneer alle pakketten globaal gepubliceerd dienen te worden, kan gebruik gemaakt worden van: Get-AppvClientPackage | Publish-AppvClientPackage -Global
42
Figuur 15: Troubleshooting - App-V pakket zichtbaar in applicatielijst
5.2.7.2 App-V pakket start niet in de Windows Server omgeving Niet alle applicaties zijn gemaakt om te werken op Windows Server. Deze pakketten zijn vaak correct ingepakt maar kunnen niet starten door een gebrek aan binaries e.d.m. Zelfs onder compatibility mode wou de software niet starten. Een manier om dit probleem op te lossen kan zijn dat de software gestart wordt in een virtuele machine waar Windows 7 of Windows 8 draait. Hierdoor zal slechts één gebruiker verbinding kunnen maken met die ene virtuele machine. Dit komt door gebrek aan licenties. Windows laat slechts één simultane gebruiker toe. 5.2.7.3 Veilig software installeren op een server Wanneer er software geïnstalleerd moet worden op een server gebeurt dit best wanneer er geen eindgebruikers op de server aanwezig zijn. Aan de hand van volgende commando’s wordt een veilige installatie ingeleid. Opmerking: dit is niet nodig voor App-V pakketten. Deze pakketten hoeven niet geïnstalleerd te worden. Volgende commando’s kunnen zowel in Command-Line als PowerShell uitgevoerd worden. 1. Opvragen welke gebruikers aangemeld zijn op het systeem query sessions 2. Toekomstige aanmelding vermijden change logon /disable 3. Server in installatiemodus plaatsen change user /install
43
4. Server in uitvoermodus plaatsen change user /execute 5. Aanmelden weer beschikbaar stellen change logon /enable
44
Besluit Tijdens mijn stageperiode heb ik een zeer goed overzicht gekregen op de virtualisatie. De drijfveren, soorten visualisatie, cloud en cloudcomputing hebben voor mij geen geheimen meer. Ik heb een zeer goed zicht gekregen op de markt van applicatie- en desktopvirtualisatie. Voor elk van deze elementen heb ik de soorten en de technologieën grondig bestudeerd. Deze kennis heb ik gekoppeld aan een onderzoek over applicatie- en desktopvirtualisatie in de Vlaamse hogescholen en universiteiten. Zo heb ik het antwoord kunnen geven op de onderzoeksvraag uit de inleiding: welke zijn de mogelijkheden van de virtualisatie van software in de Arteveldehogeschool. Ik hoop dat deze bachelorproef kan bijgedragen tot het verder uitwerken van de virtualisatie van software binnen de Arteveldehogeschool. In het vijfde hoofdstuk leest u dat de virtualisatie van software in de Arteveldehogeschool heel wat voordelen kan opleveren. Ik ben ervan overtuigd dat de voorgestelde technologieën de software op een efficiënte manier kunnen verspreiden en beheren, rekening houdend met de huidige infrastructuur. Dit wordt bewezen door de proefopstelling die ik met succes voor de opleiding Podologie heb gemaakt.
45
Referenties Atwood, J. (2008, 1 3). Understanding User and Kernel Mode. Opgehaald van CODING HORROR: http://blog.codinghorror.com/understanding-user-and-kernel-mode/ Azure. (2014). Load Balancing Virtual Machines. Opgehaald van Azure: http://azure.microsoft.com/en-us/documentation/articles/load-balance-virtual-machines/ Beelen, M. (2010). Virtualisatie van servers, werkplekken en applicaties / 1 een introductie in virtualisatieconcepten. Brinkman Uitgeverij. BELTUG. (2012, 7 6). Belgische bedrijven onderzoeken ‘Bring Your Own Device’, het aansluiten van privésmartphones en tablets op het bedrijfsnetwerk. BELTUG bundelt kennis. Opgehaald van BELTUG: http://www.beltug.be/news/2587/Belgische_bedrijven_onderzoeken_Bring_Your_Own_Dev ice_het_aansluiten_van/ Citrix Systems, Inc. (2010). Frequently Asked Questions (Technical): Citrix XenDesktop with HDX 3D Pro Graphics. Opgehaald van Citrix: http://www.citrix.com/wsdm/restServe/skb/attachments/RDY2465/HDX_3D_Pro_Graphics_ Technical_FAQ_v1.1.pdf Citrix Systems, Inc. (2013). About StoreFront. Opgehaald van Citirx eDocs: http://support.citrix.com/proddocs/topic/dws-storefront-12/dws-about.html Citrix Systems, Inc. (2013). Citrix HDX technologies. Opgehaald van Citrix: http://www.citrix.com/content/dam/citrix/en_us/documents/products-solutions/citrix-hdxtechnologies.pdf?accessmode=direct Citrix Systems, Inc. (2013, 10 10). XenApp and XenDesktop: Bandwidth Showdown. Opgehaald van Citrix Blogs: http://blogs.citrix.com/2013/10/10/xenapp-and-xendesktop-bandwidthshowdown/ Citrix Systems, Inc. (2014). 5 for 7.5. Opgehaald van Citrix: http://www.citrix.com/content/dam/citrix/en_us/documents/products-solutions/5-reasonsto-move-up-to-xenapp-75-en.pdf Citrix Systems, Inc. (2014). Citrix Product Documentation - Manage Citrix policies - Quick reference table. Opgehaald van Citrix: http://support.citrix.com/proddocs/topic/xenapp-xendesktop75/cds-policies-rules-quick-ref-rho.html Citrix Systems, Inc. (2014). XenApp - Mobilize Windows apps for ultimate security,. Opgehaald van Citrix: http://www.citrix.com/content/dam/citrix/en_us/documents/productssolutions/xenapp-datasheet.pdf?accessmode=direct Citrix Systems, Inc. (2014). XenApp - Understanding How Session Virtualization Works. Opgehaald van Citrix: http://www.citrix.com/products/xenapp/how-it-works/application-virtualization.html Citrix Systems, Inc. (214). Citrix XenApp and XenDesktop. Opgehaald van Citrix: http://support.citrix.com/proddocs/topic/xenapp-xendesktop/xa-xd-library-wrapper.html Citrix Systems, Inc. (sd). XenApp and Microsoft. Opgehaald van Citrix: http://www.citrix.nl/products/xenapp/features/microsoft-integration.html Cloudcontrols.org. (sd). Taxonomy. Opgehaald van Cloudcontrols - Cloud assurance compliance: http://www.cloudcontrols.org/cloud-standard-information/cloud-definitions/ CREANDO cvba. (sd). Bring your own device (BYOD). Opgehaald van Craendo: http://www.creando.be/nl/intro-nieuw/byod/
46
ENERGY STAR. (2010). ENERGY STAR for Data Centers. Opgehaald van ENERGY STAR: http://www.energystar.gov/ia/partners/prod_development/downloads/DataCenters_Green Grid02042010.pdf Google. (2014). Efficiëntie: onze aanpak. Opgehaald van Google Datacenters: https://www.google.com/about/datacenters/efficiency/internal/ ITON. (2014, 4 16). Nu beschikbaar: XenApp 7.5 en XenDesktop 7.5. Opgehaald van ITON: http://iton.nl/nu-beschikbaar-xenapp-7.5-en-xendesktop-7.5#.U2yM5Pl_vTo Madden, B., & Knuth, G. (2014). Desktops as a Service: Everything You Need to Know About DaaS & Hosted VDI. Burning Troll Productions, LLC. Microsoft. (2014). Windows To Go. Opgehaald van Windows: http://www.microsoft.com/enus/windows/enterprise/products-andtechnologies/devices/windowstogo.aspx#deviceListwtg Microsoft. (2014, 3 7). Windows To Go: Feature Overview. Opgehaald van Microsoft Technet: http://technet.microsoft.com/en-us/library/hh831833.aspx Microsoft Corporation. (sd). User mode and kernel mode. Opgehaald van Microsoft Dev Center Hardware: http://msdn.microsoft.com/enus/library/windows/hardware/ff554836(v=vs.85).aspx NIST; Mell Peter; Grance Timothy. (2011). The NIST Definition of Cloud. Opgehaald van NIST: http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf PQR B.V. (2013, 12). Application Virtualization Smackdown. Opgehaald van PQR: http://www.pqr.com/application-virtualization-smackdown PQR B.V. (2013, 11). VDI Smackdown. Opgehaald van PQR: http://pqr.com/vdi-smackdown Samsung. (2013, 12 5). BYOD verhoogt risico op dataverlies bij Belgische bedrijven. Opgehaald van Samsung: http://www.samsungmedia.be/byod-verhoogt-risico-op-dataverlies-bij-belgischebedrijven/ Sawers, P. (2012, 3 5). Numecent launches its patented ‘cloudpaging’ technology, hailed as the successor to streaming. Opgehaald van The Next Web: http://thenextweb.com/insider/2012/03/05/numecent-launches-its-patented-cloudpagingtechnology-hailed-as-the-successor-to-streaming/#!xvAtm Server Cloud Canada. (2013, Oktober 24). Server Cloud Canada. Opgehaald van Defining the Cloud: http://www.servercloudcanada.com/2013/10/defining-the-cloud/ ShuttleCloud. (2013, Maart 4). The Cloud Ecosystem for Dummies. Opgehaald van ShuttleCloud: http://blog.shuttlecloud.com/cloud-ecosystem-for-dummies/ Spoon. (2013, 12 20). ZENworks Application Virtualization 10 Released. Opgehaald van Inside Spoon: http://blog.spoon.net/zenworks-application-virtualization-10-released/ Spoon. (2014). Technology. Opgehaald van Spoon: http://spoon.net/technology Strom, D. (2010, 5 10). How to Use Microsoft’s RemoteApp: An Inexpensive Alternative to Managing Remote Desktop Applications. Opgehaald van IT Expert Voice: http://itexpertvoice.com/home/how-to-use-microsofts-remoteapp-an-inexpensivealternative-to-managing-remote-desktop-applications/ TechTarget. (2011). Citrix XenApp. Opgehaald van SearchVirtualDesktop: http://searchvirtualdesktop.techtarget.com/definition/Citrix-XenApp
47
U.S. Department of Energy. (2011, Maart). Best Practices Guide for Energy-Efficient Data Center Design. Opgehaald van Department of Energy: http://www1.eere.energy.gov/femp/pdfs/eedatacenterbestpractices.pdf van Kaam, B. (2013, 5 14). Project Curacao complete overview. Opgehaald van Bas van Kaam: http://basvankaam.com/2013/05/14/project-curacao-complete-overview/ virtualfeller. (2011, 4 15). Streamed VHD. Opgehaald van Ask The Architect: http://virtualfeller.com/2011/04/08/streamed-vhd/ Virtualization.info. (2008, 6 17). Release: Xenocode Virtual Application Studio 2008. Opgehaald van Virtualization.info: http://virtualization.info/en/news/2008/06/release-xenocode-virtualapplication-2.html Vlaamse overheid. (sd). Hoger onderwijs in cijfers. Aantal inschrijvingen op 31 oktober 2013. Academiejaar 2013-2014 | Vlaanderen.be. Opgehaald van Vlaanderen.be: http://www.vlaanderen.be/nl/publicaties/detail/hoger-onderwijs-in-cijfers-aantalinschrijvingen-op-31-oktober-2013-academiejaar-2013-2014 VMware, Inc. (2009). VMware ThinApp User’s Manual - VMware ThinApp 4.0.2. Opgehaald van VMware: http://www.vmware.com/pdf/thinapp402_manual.pdf VMware, Inc. (2010). VMware ThinApp: A Guide for Enterprise VMware ThinApp Deployments REFERENCE ARCHITECTURE. Opgehaald van VMware: http://www.vmware.com/files/pdf/thinapp-ref-arch.pdf VMware, Inc. (2011). VMware® ThinApp™ - REVIEWER’S GUIDE. Opgehaald van VMware: http://www.vmware.com/files/pdf/VMware-ThinApp-Reviewers-Guide.pdf VMware, Inc. (2013). ThinApp EOA – Where is it going? Nowhere! Opgehaald van VMware Blogs: http://blogs.vmware.com/euc/2013/02/thinapp-eoa-where-is-it-going-nowhere.html VMware, Inc. (2013, 3 19). VMware KB: Understanding the ThinApp sandbox and isolation modes (1030224). Opgehaald van VMware: http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC& externalId=1030224 VMwareKB. (2011). Understanding Isolation Modes in VMware ThinApp. Opgehaald van Youtube: https://www.youtube.com/watch?v=Ti4zz0MpRLo Wikipedia. (2013). Power usage effectiveness. Opgehaald van Wikipedia: http://en.wikipedia.org/wiki/Power_usage_effectiveness Wikipedia. (2014). Application virtualization. Opgehaald van Wikipedia: http://en.wikipedia.org/wiki/Application_virtualization Wikipedia. (2014). Citrix. Opgehaald van Wikipadia: http://nl.wikipedia.org/wiki/Citrix Wikipedia. (2014). Citrix XenApp. Opgehaald van Wikipedia: http://en.wikipedia.org/wiki/Citrix_XenApp Wikipedia. (2014). Novell ZENworks Application VIrtualization. Opgehaald van Wikipedia: http://en.wikipedia.org/wiki/Novell_ZENworks_Application_VIrtualization Wikipedia. (2014). Numecent. Opgehaald van Wikipedia: http://en.wikipedia.org/wiki/Numecent Wikipedia. (2014). Portable application. Opgehaald van Wikipedia: http://en.wikipedia.org/wiki/Portable_application
48
Wikipedia. (2014). Virtualization. Opgehaald van Wikipedia: http://en.wikipedia.org/wiki/Virtualization Wikipedia. (2014). VMware ThinApp. Opgehaald van Wikipedia: http://en.wikipedia.org/wiki/VMware_ThinApp Wood, A. (2012, 3 22). Numecent’s CloudPaging: Polished App Streaming or a Brand New Outfit? Opgehaald van The Virtualization Practice: http://www.virtualizationpractice.com/numecents-cloudpaging-polished-app-streaming-ora-brand-new-outfit-15101/ ZENworks Application Virtualization . (2014). Opgehaald van Novell: https://www.novell.com/products/zenworks/applicationvirtualization/?ref=h
49
Bijlagen Vragen enquête
Figuur 16: Enquête - Contactgegevens
Figuur 17: Enquête - Oplossingen
50
Figuur 18: Enquête - Applicatievirtualisatie
51
Figuur 19: Enquête - Desktopvirtualisatie
52
Figuur 20: Enquête - Toekomstplannen
53
Figuur 21: Enquête - Details
54