Virtualisatie rukt op naar de desktop. Doordat iedere applicatie kan worden gevirtualiseerd, bestaat geen direct contact meer tussen toepassing en besturingssysteem. Het gevolg? Eindelijk een stabiele desktop.
De pc mag dan een ware revolutie in het bedrijfsleven hebben ontketend, het heeft ons tegelijkertijd met een aantal fikse problemen opgezadeld. De stabiliteit van de werkomgeving bijvoorbeeld. Conflicterende register-instellingen en de beruchte ‘dll hell’ gooien op vooraf nauwelijks te voorspellen momenten roet in het eten. Het testen van nieuwe applicaties die op desktopsystemen geplaatst worden, neemt dan ook veel tijd in beslag. Net als het daarna controleren van de gevolgen van patches en nieuwe versies van die applicaties.
Isoleren
Kijk ook naar de problemen rond beveiliging. Windows is dermate omvangrijk dat het onvermijdelijk is dat er op tal van plaatsen fouten in de code zitten. De beveiligingsapplicaties die moeten voorkomen dat deze problemen worden uitgebuit, zijn voor hun functioneren echter eveneens afhankelijk van Windows. Hierdoor slaagt malware er regelmatig in om beveiligingsmaatregelen te ontdekken en aan te vallen, waardoor de gehele security onderuit gaat.
Ict-leveranciers proberen nu op meerdere manieren verbetering in deze situatie te brengen. Zo is Intel in de weer met onder andere ‘Trusted Execution Technology’ (TXT). Deze technologie verifieert iedere keer dat Windows opstart of deze ‘launch environment’ voldoet aan een aantal eisen. Op basis hiervan kunnen stap voor stap alle componenten tussen processor en applicatie worden gecontroleerd wat een vertrouwde verwerkingsomgeving moet opleveren.
Dit is niet alleen belangrijk in de huidige situatie waarbij toepassingen rechtstreeks op het besturingssysteem worden geïnstalleerd, maar wordt zo mogelijk nog crucialer nu we aan de vooravond staan van de volgende fase van desktop computing: het virtualiseren van applicaties.
Zandbak
Virtualisatie wordt tot nu toe eigenlijk alleen toegepast op het niveau van besturingssystemen of opslagomgevingen. Aanbieders als Altiris, LanDesk, Microsoft/Softricity en Thinstall voegen daar nu ook het virtualiseren van desktoptoepassingen aan toe. Hoewel de technologie van de diverse aanbieders nogal van elkaar verschilt, is het principe iedere keer hetzelfde. Applicaties worden niet langer direct op de Windows-desktop geïnstalleerd.
In plaats daarvan wordt iedere toepassing in een eigen virtuele schil geplaatst. Deze schil vormt de werkomgeving waarbinnen een applicatie functioneert, compleet met eigen dll’s, registry settings en instellingen. In feite gaat het om een geïsoleerde map die bovenop Windows draait en die simpelweg iedere keer dat een applicatie start opnieuw wordt aangemaakt. Bij een probleem met zo’n applicatie gooien we simpelweg de map weg en beginnen we opnieuw. Die virtuele schil heeft benamingen als sandbox, virtual software package of envelop.
Deze aanpak wijkt sterk af van de terminal services die aanbieders als Citrix bieden. Bij die aanpak gaat het om centraal op een server geplaatste toepassingen die vanaf een pc worden benaderd. Terwijl de toepassing op de centrale server draait, wordt alleen die data over het netwerk heen en weer gestuurd die nodig is om met de applicatie te kunnen werken. Denk aan scherminformatie en de data die de gebruiker met muis en toetsenbord ingeeft. Lokaal gebeurt er verder vrijwel niets.
Het grote voordeel is uiteraard dat er slechts één kopie van de applicatie onderhouden en gepatched hoeft te worden. Uiteraard is ook geen beheer van lokaal geplaatste toepassingen meer nodig. Deze aanpak geeft echter problemen als de gebruiker niet met het netwerk verbonden is of veelvuldig van applicatie wil wisselen. In zo’n geval kan applicatievirtualisatie in combinatie met bijvoorbeeld streaming een oplossing bieden.
Streaming
De applicaties worden met behulp van producten als Altiris Software Virtualization Solution, LanDesk Application Virtualization, Microsoft SoftGrid of Thinstall Virtualization Suite gevirtualiseerd en klaargezet. Ook bij streaming wordt de applicatie niet langer lokaal geïnstalleerd. Op de client staat alleen een besturingssysteem en een zogeheten virtualisatie client. Op het moment dat een applicatie nodig is, wordt de complete gevirtualiseerde toepassing via het netwerk naar de client gestuurd.
De volgorde waarin de data wordt verstuurd, wijkt in principe niet af van de volgorde waarin bij een normaal geïnstalleerde toepassing bestanden worden opgehaald. Zodra de eerste bestanden op de client binnen zijn, kan de applicatie alvast opstarten.
Bijzonder aan deze aanpak is dat streaming op tal van manieren kan worden opgezet. Het kan bijvoorbeeld gebeuren vanaf een centrale server in het datacenter. In dat geval wordt de applicatie via het bedrijfsnetwerk verstuurd. In andere gevallen zal een mobiele werker een gevirtualiseerde toepassing via internet over laten komen. Dat zal in veel gevallen dus wat trager gaan dan in een bedrijfsomgeving.
Daarnaast zijn er nog heel wat andere vormen van streaming denkbaar. Zo is het mogelijk een reeks applicaties op cd te branden en die mee te geven. Leveranciers van dit soort software noemen bijvoorbeeld ook een usb-stick als potentieel medium. In beide laatste gevallen zal het starten van toepassingen uiteraard veel sneller verlopen dan bij een relatief trage internet-verbinding, als we mobiel werken.
Overigens is streaming maar een van de methoden om een gevirtualiseerde applicatie op een desktop te plaatsen. Het is ook mogelijk om een dergelijke toepassing gewoon in de vorm van een kant-en-klare map op een client-pc te plaatsen.
Verschillen
Er zitten aanzienlijke verschillen in de manieren waarop aanbieders deze virtualisering mogelijk maken. Bij de aanpak van Altiris kunnen toepassingen bijvoorbeeld worden gevirtualiseerd via een meegeleverd programma, maar ook via de Wise Package Studio-software van het bedrijf. Het gaat dus in feite om packaging waarbij niet naar een systeem maar naar de package wordt geïnstalleerd. Worden deze applicaties vervolgens op een client geplaatst, dan zorgt de lokale virtualisatieclient ervoor dat deze toepassingen – net als bij lokaal geïnstalleerde applicaties – in het startmenu verschijnen.
Interessant is dat de gebruiker verder geen verschillen ziet, behalve dan dat hij bijvoorbeeld Microsoft Office 2003 en Office 2007 nu ineens wél naast elkaar op een en dezelfde pc kan draaien. Bestanden en data kunnen hierbij simpelweg heen en weer worden gekopieerd, terwijl documenten zonder problemen op de harde schijf worden opgeslagen.
Twee lagen
Altiris creëert op de client een zogeheten virtualisatielaag. Naar de applicatie toe functioneert deze schil als een uitvoering (instance) van Windows. Deze laag vertegenwoordigt alle bestanden en register-instellingen die gezamenlijk de applicatie vormen. Iedere applicatelaag bestaat uit twee sub-lagen. De eerste bevat bestanden en register-instellingen, die daarna uitsluitend nog gelezen kunnen worden. De tweede is een schrijfbare sublaag waarin alle bestanden en instellingen worden vastgelegd die de gebruiker zelf creëert en toevoegt.
Al deze informatie wordt op de harde schijf geplaatst. Bij gebruik worden via een zogeheten ‘file system filter driver’ alle bestanden en instellingen op exact dezelfde wijze gepresenteerd als bij een traditioneel geïnstalleerde versie. Opvallend in de aanpak van Altiris is overigens dat het bedrijf geen eigen streaming engine gebruikt. Het heeft hiervoor een oem-overeenkomst afgesloten met AppStream.
Microsoft en SaaS
Ook Microsoft is tegenwoordig actief in deze nieuwe markt. Via de overname van Softricity beschikt het nu over SoftGrid. Analisten lijken moeite te hebben om de activiteiten van het concern op dit gebied te doorgronden. SoftGrid komt uit testen naar voren als een hulpmiddel waarmee eenmaal gevirtualiseerde applicaties snel aan de gebruiker beschikbaar gesteld kunnen worden. Microsoft lijkt echter geen haast te maken met de verdere uitbouw en ontwikkeling hiervan.
Bovendien heeft het concern inmiddels een aantal tools gratis beschikbaar gesteld. Het lijkt het softwarebedrijf dan ook vooral te gaan om twee componenten: de streaming engine die Softricity heeft ontwikkeld en de virtualisatie-client die op de desktop wordt geplaatst. Deze twee elementen passen uiteraard prima in de plannen van Microsoft als het gaat om de ombouw naar een Software as a Service (SaaS) business model.
Thinstall is misschien wel het interessantste bedrijf in deze markt. Het biedt een virtualisatieaanpak die noch client-agents noch servercomponenten vereist. Alles wat nodig is om op een Windows-pc een gevirtualiseerde applicatie te laten functioneren wordt in de packaging meegeleverd. Er is dus geen lokale virtualisatie-client of iets dergelijks nodig.
In één bestand
Opmerkelijk is ook dat Thinstall bij het packagen en streamen niet de standaardvolgorde aanhoudt die de oorspronkelijke software-ontwikkelaar heeft bedacht. Uit testen is bijvoorbeeld duidelijk geworden dat Microsoft Office 2003 niet als een reeks separate componenten wordt geleverd, maar als één groot gecomprimeerd bestand dat op de client wordt geplaatst.
De bekende uitvoerbare programmabestanden zijn hierbij vervangen door zogeheten ‘redirector files’. Het starten van Word activeert een procedure waarbij de relevante code in het gecomprimeerde bestand wordt opgezocht door de bij Word behorende redirector file. Alleen die benodigde code wordt vervolgens uitgepakt en omgevormd tot een gevirtualiseerd runtime image. Hierdoor starten gevirtualiseerde applicaties bij gebruik van Thinstall opvallend snel.
Daar staan echter wel wat nadelen tegenover. Doordat er geen speciale client-programmatuur is, kan zo’n runtime image van bijvoorbeeld Word niet lokaal worden opgeslagen. Bij iedere nieuwe Word-sessie wordt deze gehele procedure daarom weer herhaald. Een ander punt is dat waar Altiris, Microsoft maar bijvoorbeeld ook LanDesk distributie via internet mogelijk maken, dit bij Thinstall niet mogelijk is. Het bedrijf ondersteunt vooralsnog alleen lokale communicatie; via het SMB-protocol (server message block).
Net op gang
Applicatievirtualisatie is een ontwikkeling die nog maar net op gang begint te komen. De aandacht gaat daarbij vooral uit naar het creëren van een stabiele en veilige desktop-omgeving die niet keer op keer door het overschrijven van dll’s of via conflicterende registry-instellingen in de problemen komt. Bovendien heeft het werken met virtual software packages en sandboxes uiteraard een gunstig effect op de beveiliging.
De meeste oplossingen voor applicatievirtualisatie zijn echter nog niet zover dat ze geschikt zijn voor grootschalig gebruik. Toch laten zij nu al zien in welke richting applicaties voor de desktop zich de komende jaren ontwikkelen.
Ontwikkelvrijheid
Interessant genoeg krijgen ook applicatieontwikkelaars belangstelling voor applicatievirtualisatie. Het idee van een geïsoleerde werkomgeving biedt immers ook vanuit het oogpunt van het ontwikkelen en onderhouden van applicaties mogelijkheden. Een met exotische technologie geschreven applicatie die conflicteert ‘met alles’ kan nu simpelweg gevirtualiseerd worden en draait vervolgens probleemloos in een virtuele desktop. In dat opzicht biedt applicatievirtualisatie ontwikkelaars plotsklaps veel meer vrijheid.
Applicatie virtualisatie is erg HOT op dit moment. De een na de andere leverancier ontwikkelt zijn eigen Suite. Om een overzicht te tonen heb ik aan deze nieuwe technologie een site gewijd. Kijk voor verschillende oplossingen ook eens op http://www.virtualiseren.nl
Applicaties kunnen dus conflicteren met elkaar? Hoe komt dat? Is de applicatie de baas op de computer of het besturingssysteem? (let op uit welke 2 woorden dit woord is opgebouwd)
Kortom: in een normale omgeving zou een conflict nooit kunnen optreden want de overtredende applicatie zou gestopt worden door het besturingssysteem.
Weer een omslachtige oplossing voor het per se kunnen gebruiken van een onvolwassen besturingssysteem.
VMware neemt Thinstall over: “War of the Virtual World Part II”
http://www.brianmadden.com/blog/RubenSpruijt/VMware-to-Acquire-Thinstall
applicatievirtualisatie bestaat helemaal niet. Zie de uitleg op:
http://www.holyhypervisor.com
Hmmm, een oplossing voor conflicterende applicaties… toewijzen eigen stukjes geheugen, enz. Moet ineens sterk aan OS/2 denken………