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.
Hallo zeg, even wat vergeten? Ik draai al jaren een Linux desktop, die is zo stabiel als een huis. Het probleem steekt in Windows, Linux heeft geen dll’s. Ook OSX is ter vergelijk volkomen stabiel. Wie het schaalbaar hebben wil is met Linux het beste bediend.
Applicatievirtualisatie krijgt steeds meer aandacht! Een goede ontwikkeling. Ik heb verschillende artikelen over deze oplossingen geschreven. Deze kunnen via onderstaande URL’s gedownload worden.
http://www.virtuall.nl/articles/PublishedArticles/LanVisionThinstalldutch.pdf
http://www.virtuall.nl/articles/PublishedArticles/
Ik wil nog even wat toevoegen over de verschillen tussen de genoemde technologieen. Altiris SVS is gebaseerd op filtering en re-direction, terwijl Softgrid vanuit een technische optiek echt virtualisatie toepast. In de praktijk houdt dat in dat SoftGrid nog beter isoleert (en dus minder integratieconflicten veroorzaakt) dan SVS. SVS heeft daarentegen het voordeel dat de gevirtualiseerde applicaties makkelijker met elkaar kunnen interfacen. Microsoft beweert dit met de volgende versie van SoftGrid te verbeteren.
Waar zowel Softgrid als SVS een losse agent hebben, kent Thinstall deze niet. De agent is er wel, maar is geintegreerd in de “package”. Het voordeel hiervan is dat je de package altijd en overal kan gebruiken.
De auteur vergeet echter een belangrijk beheerdeelnadeel van deze keuze. Waar bestaande SVS- en Softgrid-installaties relatief makkelijk naar een nieuwe Windows versie over kunnen gaan (kwestie van een nieuwe agent), betekent een Windows-migratie met Thinstall dat je alle installaties moet re-packagen om de nieuwe agent te integreren. Ook als er een bug in de agent zou zitten, moet je bij Thinstall alle packages met die agent versie opnieuw compileren en distribueren.
Ik wil wel een kleine nuance aanbrengen in de opmerking over Microsoft: “Microsoft lijkt echter geen haast te maken met de verdere uitbouw en ontwikkeling hiervan”. Bij Microsoft wordt momenteel gewerkt aan versie 4.5 van SoftGrid die het bedrijf onder de System Center vlag zal uitbrengen. Kijk eens naar de volgende feature-lijst:
http://blogs.technet.com/softgrid/archive/2007/12/12/my-top-5-new-appvirt-softgrid-4-5-features.aspx
@ J Van Leeuwen: Deze technieken bieden niet alleen een oplossing voor de DLL-hell, maar er zijn nog een aantal voordelen te verzinnen:
– een grote winst in de beheerbaarheid van de packages
– het packagen van deze applicaties is (iig met behulp van SVS) zeer makkelijk
– beschadigde applicaties zijn zeer eenvoudig te herstellen
En zo is er natuurlijk ook een groot aantal redenen te verzinnen voor ondernemingen waarom zij niet naar Linux overstappen.
Het blijkt voor veel ondernemingen (helaas) nog niet de moeite om over te stappen naar een andere OS.
In dat geval kan virtualisatie wel degelijk een oplossing zijn om het beheer te vergemakkelijken.
Thinstall vereist geen re-package voor een nieuw OS. Eenmaal gepackaged kan een thinstalled applicatie op alle ondersteunde operating systems draaien. Om de interne Thinstall engine van een package te updaten zal je het package wel moeten rebuilden, maar als je de project directory bewaart is dit een kwestie van het build script dubbel klikken.
Daarnaast maakt ook SoftGrid (en alle andere applicatie virtualisatie oplossingen) gebruik van redirection. Bij SoftGrid is dit echter minder duidelijk omdat SoftGrid de files redirect naar een drive die vanuit niet-gevirtualiseerde-applicaties niet toegankelijk is. Ook gevirtualiseerde bestanden die tussen andere bestanden staan op de C-drive worden geredirect naar Q:VFS. Bij Thinstall worden files standaard geredirect naar %appdata%Thinstall.
Goed artikel dat duidelijk aangeeft waar de markt heen gaat, maar erg achterhaalt wat betreft de uitleg.
Ik sta zeer regelmatig als spreker op diverse events, en publiceer veel over virtualisatie. Microsoft komt binnenkort met Softgrid als onderdeel van een enterprise traject. De kleine klant wordt daarbij uit het oog verloren.
Thinstall is leuk voor thuis. Zakelijk gezien heeft het nog een erg grote achterstand. Thinstalled applications praten niet met elkaar. Ze kunnen verborgen doch zeer gevaarlijke dll’s bevatten, en virusschrijvers worden er gelukkig van, want met een heel klein beetje verstand van zaken is het simpel om met behulp van malicious code een virus in een Thinstalled app te verbergen.
Je virus scanner ziet er niets van.
En als je Office 2007 virtualiseert, dan wacht je bijna 5 minuten als je Word wilt openen.
Altiris heeft het met SVS goed voor elkaar. Dat is pas true Virtualization.
En ja, ik ben een groot svs adept. Ik heb er zelfs een complete website en gebruikersgroep voor gemaakt. http://www.svs4u.nl
NEC heeft een hele mooie oplossing,
Ook gebaseerd op een VMware laag en ondersteund zelfs div. videoformats, waardoor je de beeldkwaliteit van een pc houdt.
Kunt er ook nog mee telefoneren 😉 kwam deze hyperlink tegen voor een demo film
mms://ucan.wmt.biglobe.ne.jp/ucan_wf/vpcc/video2.wmv
Uw hele stuk kan wat mij betreft direct de prullenbak in. U noemt in uw stuk geen enkele maal DE applicatie virtualisatie specialist Citrix. U claimt dat applicatie virtualisatie nu pas doorbreekt. U loopt denk ik een aantal jaren achter, of hebt last van een heel selectief beeld tov de markt.
@Patrick v/d Wal
Citrix wordt wel degelijk genoemd, onder de kop “Zandbak”, 3e alinea.
Applicatieontwikkeling in een virtuele omgeving lijkt me allesbehalve handig. Het enige wat de ontwikkelaar dan doet is het verschuiven van effort naar het testen van de applicatie, omdat deze op “echte” machines opeens tegen problemen aanloopt waar in de veilige virtuele omgeving geen sprake van was.
Je kan natuurlijk eisen dat iedereen jouw software virtueel moet draaien, maar dit doet ook weer zo zijn ding met performance, licentiekosten, en concurrentie positie.