Le sujet de la virtualisation côté client semble revenir sur le devant de la scène depuis quelques temps. Notamment de par l’abandon un jour ou l’autre obligé de Windows XP (qui constitue une opportunité pour réfléchir à la question).
Rapidement, au delà de la propagande marketing, quelques éléments de réflexion.
Précisons tout d’abord qu’il convient de distinguer deux niveaux de virtualisation : la virtualisation du poste client lui-même (ou VDI : Virtual Desktop Infrastucture) et la virtualisation d’applications.
1. La virtualisation du poste client (VDI)
La virtualisation de l’infrastructure du poste client consiste à héberger le système d’exploitation dans une machine virtuelle (VM) tournant sur un serveur central. Dans ce type de virtualisation, ce sont donc non seulement les applications mais aussi le système d’exploitation qui sont exécutés sur un serveur central.
Cette approche permet évidemment de minimiser les ressources matérielles nécessaires au niveau du poste client (on parle de client léger).
L’approche VDI est jugée intéressante en termes d’amortissement du hardware client : sa durée de vie étant plus longue, un client léger peut s’amortir sur une période plus longue (+/- 7ans) qu’un PC (3-4 ans).
Selon ses promoteurs, l’approche VDI faciliterait la gestion des configurations clients et donnerait plus de flexibilité s’il faut pouvoir adapter le nombre de postes utilisateurs en fonction du niveau d’activité. Il faciliterait aussi la reprise en cas de crash, de part la centralisation (élément à considérer dans le cadre DRP).
Par rapport à ces avantages, s’ils sont avérés, il reste de toutes façons à convaincre les décideurs IT d’orienter bien plus leur discours vers l’OPEX (focus sur les dépenses d’exploitation) plutôt que vers le CAPEX (focus sur les dépenses d’investissement). Un frein déjà rencontré avec la virtualisation côté serveur.
Et d’ailleurs, l’investissement est considéré comme l’un des principaux freins à l’adoption de la VDI. En effet, le coût d’une infrastructure VDI est relativement élevé. Son déploiement réclame des achats de serveurs et plus encore des capacités de stockage importantes. Dans le choix d’une infrastructure VDI, il faut bien comprendre qu’en moyenne un serveur virtualisé gère 25 postes clients. L’infrastructure peut donc devoir être revue très sérieusement à la hausse (sans oublier toutes les conséquences sur le data center lui-même [espace, puissance électrique consommée, …]).
Par ailleurs, d’un point de vue technologique, la VDI est encore pénalisée par un certain nombre de défauts comme la gestion des périphériques USB dont certains fabricants ne respectent pas toujours les préconisations de la norme. Il en va de même pour la vidéo bidirectionnelle (utilisée par les systèmes de visioconférence) et le multimédia en général. Des problèmes peuvent aussi apparaître avec les pilotes d’impression.
Enfin, pour un bon fonctionnement de la VDI, tout le réseau doit être de qualité irréprochable.
Beaucoup d’inconnues subsistent donc sur la rentabilité réelle de l’opération et sur un certain nombre de difficultés techniques non résolues aujourd’hui.
2. La virtualisation des applications
La virtualisation des applications consiste à ne pas installer physiquement les applications sur le poste client (ou poste de travail). L’application est fournie par un serveur spécifique qui la met à disposition de l’utilisateur avec l’environnement qui lui est propre. Contrairement à l’approche VDI, le système d’exploitation reste ici sur le poste de travail.
En gros, et pour faire simple, il y a deux approches dans la virtualisation des applications : l’application publiée et l’application isolée.
La technique de l’application publiée permet de virtualiser, de centraliser et de gérer les applications au sein du datacenter, pour ensuite les délivrer instantanément aux utilisateurs sous forme de service. Autrement dit, l’utilisateur peut accéder à ses applications de n’importe où et à tout moment par un simple navigateur internet ou par un client installé sur son poste de travail.
La virtualisation d’applications par isolation consiste en l’installation par streaming d’une application directement sur le poste de travail. Un serveur envoie, bloc par bloc, l’application vers le poste de travail, au fur et à mesure que les fonctions applicatives correspondant à ces blocs sont sollicitées par l’utilisateur. Un noyau initial est initialement transmis et les blocs peuvent être conservés sur le poste de travail afin d’accélérer le lancement de l’application. Il est possible de forcer l’envoi de la totalité de l’application afin qu’elle puisse fonctionner en mode déconnecté, besoin essentiel pour les mobile devices. L’installation se fait d’une manière totalement isolée et indépendante par rapport au système d’exploitation.
Les solutions de virtualisation d’applications (tels que XenApp de Citrix XenApp, SWV de Symantex / Altiris, ThinApp de VMWare, …) semblent aujourd’hui matures.
3. Quelle posture adopter aujourd’hui vis-à-vis de la virtualisation du poste de travail ?
De mon point de vue, la virtualisation des applications doit être le premier chantier dans la virtualisation du poste de travail.
En s’affranchissant d’une installation lourde sur le poste de travail, la virtualisation d’application permet d’exécuter des applications qui ne seraient pas compatible avec l’OS (ou sa version) et l’environnement du poste de travail. Elle permet aussi, avantage non négligeable, des migrations sans régression avec les configurations existantes et élimine les risques de conflits entre les applications installées au sein d’un même environnement. Des éléments favorables à l’OPEX.
La virtualisation des applications contribue aussi à faciliter le télétravail et peut offrir des avantages dans le cadre DRP (mais ceci mériterait un autre blog).
Un gros point d’attention à ne pas négliger : la compatibilté des solutions de virtualisation serveurs et des solutions de virtualisation d’applications. Est-il prudent de virtualiser les serveurs qui supportent la virtualisation d’applications?
Avec l’explosion des mobile devices, il sera aussi progressivement important de prendre en compte la virtualisation de ces équipements, afin que l’utilisateur puisse retrouver son environnement de travail quel que soit le terminal utilisé (en particulier pc portable ou tablette). De ce point de vue, le choix de la solution retenue ne sera pas anodin.
4. Applications vitualisées ou applications RIA ?
La virtualisation d’applications a surtout du sens pour les front-end lourds(1), le but étant de les “remonter” sur un serveur pour réduire les difficultés liées à leur déploiement (dont toute la problématique de gestion des versions) et à la gestion de la configuration des postes de travail.
Sachant que les applications web de types RIA offre aujourd’hui le même niveau de richesse d’interface que les front-end lourds des traditionnelles applications client-serveur, et simplifie la gestion de la configuration des postes de travail (hormis le browser), il me paraît plus judicieux de pousser à l’utilisation du RIA plutôt qu’à l’utilisation de front-end lourds virtualisés.
D’autant que les applications RIA sont aujourd’hui capables de supporter le mode déconnecté et que le HTML 5 représente un gage de portabilité entre pc, tablettes et au-delà smartphones. Un enjeu certain pour le futur proche de manière à éviter du développement spécifique par mobile device.
Le débat est ouvert. Les réactions sont les bienvenues.
(1) la partie software correspondant à l’interface utilisateur
Leave a Reply