Cet article est une mise à jour de mon article sur la virtualisation applicative de 2007 avec notamment quelques mots sur un nouveau venu : Installfree.
Premier constat : cette virtualisation n’existe que dans le monde Windows… Pourquoi donc ? Tout simplement parce qu’elle répond à un problème typiquement Windows : conflits de DLL, conflits entre clés de registre, conflits sur d’autres fichiers systèmes (.ini…) ou non, conflit entre services Windows etc. Or ces problèmes par essence n’existent pas en environnement Unix.
Cycle de vie d’une application La figure suivante représente le cycle de vie classique d’une application. Ce cycle est très lourd à gérer notamment sur la partie test, test de non régression lors des mises à jour, retour en arrière en cas de problème etc. S’ajoutent en environnement multi-utilisateurs, ie sous Terminal Server ou Citrix, les applications qui ne sont pas multi-utilisateurs ou la gestion des silos. 
L’idée des premiers acteurs dans le domaine de la virtualisation applicative a donc été de placer une couche de virtualisation entre l’application et le système d’exploitation Windows afin de gérer tous les conflits divers et variés. Cette couche doit donc protéger l’application de la base de registre, du système de fichiers, des objets Windows etc. Et là, on trouve une première dichotomie dans ces technologies : la virtualisation et l’isolation. La virtualisation va consister à réellement exécuter l’application dans un environnement confiné alors que l’isolation va juste filtrer les actions problématiques entre l’application et le système d’exploitation.
Virtualisation et isolation
Quatre technologies se partagent le gros du marché : Microsoft App-V (ex Softgrid), Symantec Altiris SVS, Thinapp (ex Thinstall – nouveau nom lié au rachat par VMware) et Citrix Application Virtualization Client Side (ouf) auxquelles il faut rajouter un nouveau venu très intéressant : Installfree. Ces cinq technologies consistent à fabriquer un package applicatif depuis l’application à virtualiser puis de trouver un moyen de fournir ce package à l’utilisateur. C’est là qu’arrive le mot à la mode : streaming ! J’ai déjà écrit un article à ce sujet. Je vous propose une présentation rapide de chacune de ces technologies (hors streaming donc), puis je ferai un petit bilan avec les plus et les moins.
Le plus vieux : Microsoft App-V (ex Softgrid)
Initialement App-V a été développé par une société américaine nommée Softricity en 1999. C’est elle qui a introduit la notion même de virtualisation applicative. Le nom Softricity vient de la contraction entre Software et Electricity car leur but était de permettre l’accès aux applications aussi facilement que l’électricité ! La société a été rachetée par Microsoft en 2006. Chaque application est virtualisée lors d’un processus appelé séquençage via le séquenceur Softgrid. Les éléments suivants sont virtualisés : fichiers, registre, objets COM/DCOM, services, .ini, fontes, Side by Side… Leur technologie de virtualisation se nomme SystemGuard.
System Guard tm - Source Microsoft/Softricity
Le séquenceur fabrique donc pour chaque application un package qui est mis à disposition des clients sur un serveur nommé SCAVS (System Center Application Virtualization Server). Les clients peuvent être installés soit sur des postes de travails type PC ou portable (avec fonctionnement hors connexion possible), soit sur des serveurs de type Terminal Server. App-V nécessite donc une architecture spécifique pour fonctionner présentée dans la figure suivante.
Source Microsoft
Nouveauté intéressante depuis mi-2008 au niveau de l’architecture, il existe maintenant de nombreuses possibilités de délivrer l’application :
- SMS/SCCM distribution point : le package est délivré dans sa totalité via l’outil de télédistribution de Microsoft SMS/SCCM.
- System Center Application Virtualization Server : le package est délivré en streaming et le serveur nécessite l’architecture complète à savoir Active Directory et SQL Server.
- System Center Application Virtualization Streaming Server : le package est délivré en streaming mais le serveur ne nécessite pas l’architecture complète.Idéal pour les agences mais on ne profite pas des reporting, du management…
- Stand Alone : le package devient un simple MSI mais certaines fonctionnalités disparaissent comme la mise à jour dynamique par exemple.
VMware Thinapp (ex Thinstall)
La société Thinstall a été créée en 2001 et a développé Thinstall Application Virtualization Suite. La société a été rachetée par VMware en février 2008 afin de compléter son offre VDI. Thinapp permet pour chaque application de créer un package autonome sous la forme d’un simple exécutable. Il ne nécessite aucune architecture car d’une part le package est simplement déposé sur un serveur de fichier et d’autre part, le client est intégré dans l’exécutable en question. L’application peut également s’exécuter directement depuis une clé USB.
L’application est complètement virtualisée car elle s’exécute sur un petit OS virtuel comme le montre la figure suivante.
Thinstall -Source Thinstall/VMware
Le défaut inhérent à l’absence d’architecture est la difficulté de management des applicatifs notamment sur les aspects de licensing. De plus en plus, Thinapp est utilisé par VMware dans son offre de VDI nommée View 3 pour fournir les applications dynamiquement dans les machines virtuelles clientes.
Le leader mais dans un autre domaine : Citrix
Citrix est le leader incontesté de la virtualisation de session. Dans le domaine de la virtualisation applicative, beaucoup de personnes pensaient dans les années 2004-2005 que Citrix allait logiquement racheter Softricity pour posséder ce type de technologie. Finalement cet achat n’a pas eu lieu et Microsoft est passé par là… Citrix a donc développé sa propre technologie avec un projet nommé Tarpon. Le nom de la technologie a ensuite changé régulièrement et s’appelle aujourd’hui : Citrix XenApp Application Virtualization – client side. L’architecture est complètement intégrée d’une part dans l’architecture Xenapp au niveau licensing et disponible quelle que soit l’édition de Xenapp, configuration au niveau de la publication, agent mixte PN… et d’autre part dans les autres produits de Citrix tels que CAG, WI…
Citrix - Source Citrix
Ici, le séquenceur se nomme le profiler. La virtualisation n’est pas encore aussi complète (pas de virtualisation des services notamment) Le mode double XenApp Server Side – Client side est possible : en cas de connexion au réseau, l’accès à l’application se fait sur un serveur Xenapp et en cas de non connexion, l’application streamée est exécutée. Joli mais se pose alors la question du stockage des données…
Le plus basique : Altiris SVS
Solution initialement développée par FSlogic, Software Virtualization Solution (SVS) a été acheté par Altiris pour être fortement intégrée dans Altiris Deployment Center. Altiris a été racheté par Symantec en 2007. Le produit s’appelle dorénavant Symantec Endpoint Virtualization Suite.
A mes yeux, on sort ici de la virtualisation application pour rester dans l’isolation d’application. En effet, seuls sont isolés les éléments suivant : fichiers, registre et paramètres applicatifs. La figure suivante exprime très bien tout cela.

SVS - Source Symantec Altiris
En revanche, le processus d’isolation est très simple. Il faut noter que Symantec a racheté également Appstream solution de streaming d’application. Les deux produits sont bien intégrés et SVS permet donc de streamer les applications sur les postes.
Installfree a sorti son premier produit mi-2008. Son idée est assez simple : faire un Thinstall sans ses inconvénients. Installfree dispose donc des fonctionnalités supplémentaires : intercommunications des packages (Thinapp le fait dorénavant), mise à jour à la volée (Thinapp le fait dorénavant), console d’administration centralisée, streaming… Le déploiement est possible en trois modes minibridge où le package est indépendant tout en profitant des mises à jour (stand-alone) ; Bridge où le package nécessite mais profite d’une architecture (donc reporting, licences…) L’intégration dans le poste Windows est alors complète (file association, clic droit, add/remove etc.) ; Desktop où l’ensemble du bureau est également virtualisé. Le but étant d’utiliser ce package dans les kiosques, les PC publics etc. pour des raisons de sécurité (tout est isolé). Le package reste le même (pas besoin de packager trois fois) quel que soit le mode utilisé.
Source Installfree
Comparaison
La comparaison que je propose de ces cinq technologies est la plus objective possible mais il restera toujours une petite part d’arbitraire… J’ai choisi différents critères pour les comparer.

Tableau comparatif © infralys
Par packaging complexe pour App-V, il faut tout de même préciser que celui-ci l’est de moins en moins ! Le séquenceur est de plus en plus facile à utiliser et des outils comme Softgrid Migration Tool Express sont apparus.
Conclusion
Vous avez pu constater que ces cinq technologies étaient différentes les unes des autres, toutes ont leurs avantages et leurs inconvénients en fonction des besoins de chacun. Cette dernière phrase est primordiale. Jamais je ne dirai que telle ou telle technologie est meilleure dans l’absolu que l’autre. Je considère qu’avec un besoin clairement défini, ce sera telle ou telle technologie qui sera la meilleure. D’ailleurs voici le florilège des réflexions de clients ou prospects quant au produit choisi (tirés de ma propre expérience et d’autres indépendants) :
- Microsoft est le premier choix tant que l’on n’a pas prouvé qu’il y ait une meilleure solution
- Pas de Microsoft, nous n’avons ni ne voulons la SA
- Nous voulions intégrer App-V avec System Center
- Citrix, nous croyons à leur stratégie - Citrix, nous avons déjà les licences !
- Pas Citrix, mauvaise expérience avec leur solution
- ThinApp, solution qui a résolu des défis techniques que les autres n’ont pas résolus
- ThinApp, je n’aime pas le fait qu’il n’y ait pas d’infrastructure
- ThinApp, j’aime le fait qu’il n’y ait pas d’infrastructure
- La vision de Symantec sur la délivrance d’application….?
- SVS est très facile à utiliser et implémenter
- SVS est suffisant pour nos applications
- SVS ne résout pas nos conflits applicatifs
- InstallFree est génial et répond à tout
- InstallFree manque de maturité
Le site à voir absolument pour les comparaisons : www.virtuall.nl Ce site réalisé par Ruben Spruijtest la référence. Ruben propose plusieurs powerpoint mais aussi une matrice comparative des fonctionnalités de chacun de ces produits.
Vincent Branger




6 utilisateurs ont commenté " Virtualisation d’applications (article mis à jour et complété) "
[…] VirtualisationS (3ème partie) : la virtualisation applicative Posté le 24 septembre 2007 par vbranger dans Généralités, Virtualisation applicative, Citrix, Softricity (4 votes, moyenne : 4.75 sur 5) Loading … Cet article a été mis à jour en mars 2009 et il est dorénavant accessible ici. Cet article est la troisième partie de notre découverte des technologies de virtualisation. Nous abordons aujourd’hui la virtualisation applicative. […]
dans le tableur de comparaison, TS signifie quoi ?
Terminal Server je pense.
C’est tout à fait cela : Terminal Services.
Dans VMware ThinApp, dispose t’on d’un logiciel d’administration ?
[…] un grand classique du spécialiste mondial de la virtualisation applicative. Ruben Spruijt (virtuall.eu) dresse un état de l’art des solutions de virtualisation applicative. Je vous présente ici que les évolutions de mon petit état de l’art que j’ai fait récemment. […]
Laisser un commentaire