Virtualisation d’applications : les bonnes raisons de s’y mettre

Des déploiements qui n’en finissent pas… Des migrations complexes… Des conflits récurrents entre applications… La gestion des postes de travail est une activité rarement gratifiante, souvent coûteuse et presque toujours chronophage. Une dose de virtualisation peut limiter ces inconvénients.

Alléger la tâche des exploitants chargés de gérer des parcs informatiques et d’en assurer la maintenance constitue un puissant levier d’optimisation pour les entreprises et leurs DSI, pas uniquement en termes de coûts, mais aussi en termes d’agilité et de productivité. Si la virtualisation intéresse de plus en plus d’organisations, c’est précisément pour ces raisons. Côté serveurs, elle a fait ses preuves et est largement adoptée. Les entreprises cherchent désormais à étendre cette démarche, en évaluant les opportunités du côté du poste client. Parmi les facteurs motivant ces projets, la réduction des coûts était citée par 61 % des entreprises ayant répondu à une enquête de Forrester Research en 2011, devant l’amélioration de la sécurité (59 %), la simplification de la gestion et de la distribution de correctifs par 51 %, les problématiques de migration d’OS et la simplification du déploiement des applications.

Virtualiser le poste de travail… ou les applications

Il existe plusieurs approches pour virtualiser le poste client. La plupart concernent l’environnement de travail dans son intégralité :
• soit de manière centralisée, depuis un datacenter (VDI ou Virtual Desktop Infrastructure) ;
• soit en local, en intégrant un hyperviseur sur la machine ou sur le système d’exploitation (OS) ;
• ou encore en l’exécutant depuis le nuage (DaaS ou Desktop as a Service).

Ces approches ont leurs avantages, mais elles impliquent chacune certains prérequis. Ainsi, les approches hébergées (VDI ou DaaS) nécessitent un réseau stable. Le VDI suppose également d’installer une infrastructure spécifique dans le datacenter. Quant à elles, les approches locales demandent l’installation d’un hyperviseur sur le poste de travail. Celui-ci pourra ensuite exécuter différents systèmes d’exploitation et environnements selon les besoins des applications.

La virtualisation d’applications adopte un approche différente, puisqu’elle ne concerne pas l’environnement d’exécution, mais seulement la couche applicative. Elle permet en effet d’exécuter chaque application de manière autonome, c’est-à-dire indépendamment de l’environnement.

Chaque application virtualisée constitue un paquetage exécutable complet, comprenant les paramétrages, les composants, les fichiers et bibliothèques requis pour la faire fonctionner. Ces applications virtualisées se comportent comme si elles étaient installées localement, mais sans modifier l’environnement, le registre ou les plates-formes d’exécution (Java, framework .Net, Flash…).

Pour les exploitants : des gains de temps et une meilleure sécurité

Des migrations facilitées

La virtualisation d’applications offre un moyen simple de prévenir les problèmes de compatibilité, en isolant les applications du système d’exploitation. Les tests de compatibilité préalables, souvent longs et coûteux, ne sont plus un passage obligé : si une application critique ne fonctionne pas sur le nouveau système, la virtualisation permettra de l’exécuter de manière indépendante de celui-ci. Les projets de migration s’en trouvent ainsi considérablement accélérés.

Moins de conflits, plus de sécurité

Virtualiser les applications permet aussi de réduire, voire d’éliminer, les conflits entre applications : les problèmes liés aux DLL ou aux clés de registre peuvent facilement être évités. De même, lorsque des versions différentes des navigateurs ou des environnements d’exécutions de Java, .Net ou Flash sont requises par les applications, il n’est plus nécessaire de les faire cohabiter sur la même machine : celles-ci sont directement embarquées dans les fichiers .exe des applications virtualisées !
Les équipes chargées de la maintenance et du support applicatif gagnent ainsi un temps précieux, tout en améliorant la sécurité des environnements de travail : plus besoin, en effet, de laisser sur les postes de travail des composants obsolètes, mais sans lesquels telle ou telle application ne peut pas fonctionner.

Des tests et des déploiements accélérés

Cette approche permet également de simplifier considérablement les phases de tests et les déploiements. En effet, la virtualisation d’applications permet d’éviter les conflits avec l’environnement existant, ce qui réduit d’autant les tests d’intégration. Par ailleurs, pour installer une application virtualisée, il suffit de copier le fichier .exe, et, pour la désinstaller, de le supprimer. En évitant les procédures d’installation et de désinstallation, les applications métiers sont ainsi plus rapidement disponibles.

Une portabilité accrue

Enfin, les applications virtualisées peuvent s’exécuter de plusieurs façons : clés USB, DVD ou encore streaming prédictif. L’exécution à partir d’une clé USB permet de lancer l’application depuis n’importe quel poste doté d’un port USB. Si l’application est modifiée (ajout de signets dans un navigateur, de modèles dans un traitement de texte, etc.), les changements effectués seront conservés sur la clé.

En revanche, quand l’application est lancée depuis un DVD, le paquetage exécutable est copié puis exécuté directement sur la machine : lorsque l’utilisateur ferme l’application, les modifications éventuelles ne sont pas conservées, le DVD standard ne permettant pas la réécriture. Ces deux modes permettent aux utilisateurs d’emmener facilement leurs applications avec eux, gagnant ainsi en portabilité. Ils présentent également l’avantage de ne pas laisser de traces sur la machine hôte.

Pour les entreprises : productivité, agilité et maîtrise des coûts

Une amélioration de la productivité et de la continuité de service

La virtualisation d’applications permet de réduire de manière importante le temps nécessaire pour déployer des applications ou les mettre à jour. Les interruptions de service sont ainsi réduites au minimum et les métiers gagnent en productivité. La continuité du service fourni aux clients et usagers peut ainsi être assurée.

Une agilité et une mobilité accrues

Les gains de temps, au niveau du déploiement aussi bien qu’au niveau des phases de test, réduisent la durée des projets. Ils améliorent l’agilité des métiers, qui peuvent bénéficier plus rapidement de systèmes d’exploitation récents et d’applications fonctionnelles. En outre, les utilisateurs peuvent aisément emporter leurs applications avec eux, gagnant ainsi en mobilité.

Une baisse significative des coûts de maintenance

En allégeant la tâche des exploitants et en améliorant la robustesse des applications, les entreprises réduisent également les coûts de la maintenance et du support, des tâches contraignantes et qui ne créent pas de valeur pour l’entreprise. Les ressources ainsi économisées peuvent alors être utilisées pour apporter davantage de valeur ajoutée aux métiers.

La garantie de la conformité du parc applicatif

Les applications virtualisées peuvent être associées à une date d’expiration, ce qui permet de désactiver automatiquement celles dont la licence est arrivée à expiration.


Survivre à l’enfer des DLL

Sur les postes de travail, outre le système d’exploitation, plusieurs dizaines d’applications coexistent. Pour qu’elles fonctionnent de façon satisfaisante, le système d’exploitation Microsoft Windows repose sur des bibliothèques de liaison dynamique (dynamic link library, ou DLL). Ces fichiers sont très importants car, sans eux, le poste de travail ne peut pas fonctionner dans la mesure où ces bibliothèques permettent à des applications différentes de partager des morceaux de code ou des ressources afin d’exécuter des tâches particulières.

Tous les utilisateurs ont, un jour ou l’autre, été confrontés au message : « DLL manquante » ou « DLL introuvable » ou encore « DLL corrompue ». Ce message, plutôt déstabilisant, survient le plus souvent lors de l’installation de nouvelles applications. Le problème est que les équipes informatiques ne peuvent pas, faute de temps et pour des raisons de coûts, tester toutes les applications pour chaque environnement d’exploitation. Même avec des applications packagées, qui ont fait l’objet de test de la part des éditeurs, le problème des DLL manquantes peut survenir.

Plusieurs raisons expliquent ces dysfonctionnements : un programme a désinstallé une .DLL alors que cette dernière est requise pour qu’une autre application fonctionne ; un programme a remplacé un fichier .DLL par une version plus ancienne ; une mauvaise installation, ou qui n’a pas été finalisée, a entraîné la détérioration d’un .DLL ; un fichier .DLL a été effacé par l’utilisateur ; un virus a effacé ou endommagé des fichiers .DLL ; un problème matériel (par exemple sur le disque dur) a occasionné des messages d’erreurs. On le voit, les causes de dysfonctionnements ne manquent pas.

Comment éviter de tomber dans cet « enfer des DLL » ? Par la virtualisation des applications. Une fois virtualisée, une application devient un fichier unique qui s’installe facilement (par exemple depuis une simple clé USB), en un seul clic, et ne requiert pas un processus spécifique d’installation, ne dépend pas de composants externes, ce qui élimine les conflits de .DLL.