dimanche, 22 avril 2012

Le desktop déstructuré où la désillusion du VDI !

Introduction

J'ai écrit cet article sur la base de l'excellent livre « The VDI Delusion » de Brian Madden (22.03.2012 - Amazon), afin de répondre aux directions informatiques de nos clients qui se demandent comment traiter cette vague de fond qu’est le VDI (virtual desktop infrastructure).

J'ai commencé par un résumé francophone de livre de Madden, auquel j’ai contribué avec mes propres expériences et points de vues.

Ce sujet m'intéresse depuis longtemps. J'ai notamment réalisé une étude sur le sujet pour une grosse industrie du luxe ; nous sommes arrivés aux mêmes conclusions que Brian Madden. Tebicom, partenaire VMware, a effectué un proof de concept de la technologie VDI VMware View 5 sur la base de cas d'utilisation (use cases) qu'elle rencontre chez la majorité de nos clients en Suisse romande, ce qui a encore renforcé mes convictions.

D’autre part, un autre sujet très à la mode aujourd'hui est le Cloud computing. Vous constaterez en lisant cet article que le VDI et le Cloud se complètent en proposant des solutions complémentaires à ce que j'appellerai dorénavant le « desktop déstructuré », pour réutiliser un terme d'un autre domaine qui me passionne, la cuisine.

Les points clés

Si vous être un lecteur pressé, voici ce que je vous propose de retenir.

Le VDI est une technologie de niche. Elle ne permet pas de faire des économies d’argent ni de faciliter la gestion des desktops. Elle a des contraintes importantes liées aux périphériques ainsi que des limitations graphiques. Par contre c’est un composant à prendre en compte pour mettre en place le desktop de demain, le desktop déstructuré.

Un autre composant à ne pas oublier est le RDS (remote desktop service, Microsoft) qui permet également de centraliser les desktops dans le datacenter, mais avec un coût bien inférieur au VDI. D’autres technologies comme la virtualisation des applications ou la gestion centralisées des paramètres utilisateurs doivent également être considérées.

Les applications Windows de nos desktops ne vont pas être remplacées d'aussitôt et si vous avez ces applications vous devrez faire face au système d'exploitation Windows.

Le desktop déstructuré considère une multitude de terminaux différents dont un PC Windows, permettant tous à l'utilisateur d'accéder aux applications et aux données, avec chacun des avantages / inconvénients en fonction du contexte d'utilisation. L'IT gère alors l'application, l'utilisateur s'occupe de ses terminaux ! L'informatique a évolué d'un ordinateur central vers des serveurs reliés à des ordinateurs personnels (PC) : le desktop Windows. Maintenant la nouvelle étape est de mettre l'application et ses données au centre, en permettant à l'utilisateur d'y accéder avec le terminal le plus adapté au contexte : le desktop déstructuré.

Un peu d’histoire

Comment en sommes-nous arrivés là ? Le VDI a été « inventé » par VMware, avec son produit appelé View. Il a été suivi par d’autres acteurs du marché. Ces fournisseurs de VDI ne se battent pas entre eux, ils se battent pour remplacer les palettes de PCs et les masters Windows XP revus tous les 4 ans !

« La virtualisation est une meilleure approche » est un message marketing, argumenté par le fait que la virtualisation des serveurs est un succès. Il y a environ 50 millions de serveurs dans le monde. Après leur virtualisation, VMware s'est intéressé aux 500 millions de desktops !

Citrix avec son MetaFrame basé sur terminal server proposait déjà une solution de bureau et d'application partagées, basée sur des serveurs, avec environ 50 millions de desktops. VMware a alors simplement positionné sa solution VDI (View) pour les 90% restants ! « Citrix ne fonctionne que pour 10% de vos utilisateurs ou 10% de vos applications ? Nous avons une solution qui fonctionne pour beaucoup plus de situations ! »

Si l’on est pragmatique, il y a des scénarios où les deux solutions de VDI et de bureau partagé ont chacune leur place. Il faut même y ajouter la 3ème solution de desktop traditionnel ! Le seul problème face à VDI est que ces deux dernières n'ont pas de « majorettes » !

Finalement Citrix, Microsoft et d'autres ont suivi VMware en proposant leur propre solution VDI.

Les promesses et les réalités

Les promesses du VDI, de cette nouvelle façon de fournir un desktop à l’utilisateur, sont nombreuses :
  • Des économies d'argent. 
  • Une meilleure sécurité. 
  • Les utilisateurs peuvent travailler de n'importe où, avec n'importe quel équipement. 
  • L'expérience utilisateur sera géniale. 
  • VDI est green. 
  • Les terminaux dureront plus longtemps. 
  • Une réduction des interruptions dues aux pannes matérielles que ce soit côté serveur ou côté client. 
  • Un meilleur plan de reprise d'activité. 
  • Une gestion facilitée des masters. 
  • Un provisionnement simplifié. 
  • Une meilleure isolation des utilisateurs. 
  • Une performance plus consistante. 
  • Une gestion facilitée des licences. 
  • Vous avez déjà les serveurs et la technologie ! 
  • Vous savez déjà comment virtualiser ! 
La réalité est un peu moins reluisante. En effet, il n'y aurait pas plus que 2% de postes VDI dans le monde, comparés aux 10% des solutions de bureau partagé. Il y a trois raisons majeures à cet insuccès (que je préfère à échec) :
  • Un desktop VDI n'est pas plus facile à gérer qu'un desktop traditionnel. 
  • Il y a un réseau entre les utilisateurs qui courent le monde et les desktops VDI dans les datacenters. Cela entraîne des difficultés : complexité liée aux périphériques, limitations graphiques, problèmes de performance, impossibilité de travailler sans connexion réseau / Internet. 
  • Un desktop VDI est plus cher qu'un desktop traditionnel, malgré tous les savants calculs de TCO mis en avant par les constructeurs. Les entreprises qui économisent de l'argent avec VDI y arrivent uniquement parce qu'elles délivrent de nouveaux desktops inférieurs qualitativement, comparé à leurs anciens desktops traditionnels. 
VDI reste néanmoins une excellente solution… de niche ! En effet, les avantages existent, mais ils ne sont applicables que dans certaines situations spécifiques :
  • Gestion centralisée. 
  • Accès depuis n'importe-où. 
  • Performance consistante. 
  • Sécurité accrue. 
Malgré les éléments cités précédemment, de nombreux projets VDI ont été lancés, mais seuls quelques-uns avec succès. Les causes principales des échecs sont les suivantes :
  • Penser que le VDI est comme la virtualisation des serveurs. En effet les desktops sont beaucoup plus complexes que les serveurs. 
  • Faire trop à la fois, notamment changer le type d'image PC et migrer à VDI en même temps. 
  • Penser que le VDI est meilleur marché que des desktops traditionnels. VDI permet de satisfaire des objectifs technologiques ou opérationnels, pas de faire des économies. 
  • Ne pas avoir une raison « blindée » pour faire du VDI. En d’autres mots avoir des raisons futiles de le faire, comme « on m’a dit que… ». 
  • Sous-estimer la criticité du réseau. 
  • Penser que la virtualisation du desktop n’est possible qu’avec du VDI : les solutions de bureau / application partagée (Microsoft RDS) ou de virtualisation d'applications (Microsoft App-V, VMware ThinApp) sont souvent plus adaptées. 
  • Manque de coopération entre les différentes équipes techniques. 

D'autres causes moins majeures peuvent être surmontées par de la persévérance, de la technologie… ou de l'argent :
  • Ne pas comprendre les licences Microsoft. 
  • Choisir le mauvais produit pour la mauvaise raison. 
  • Ne pas avoir les compétences techniques nécessaires. 
  • Croire que le VDI va résoudre le « problème des tablettes ». 
  • Acheter pour le futur. 
  • Transposer les mauvaises habitudes dans le nouvel environnement. 
  • Ne pas effectuer une bonne évaluation de l'existant (cas d’utilisation). 
  • Ne pas savoir quand s'arrêter. 

La virtualisation du desktop va au-delà du VDI

La virtualisation du desktop ne doit pas être réduite au seul VDI qui consiste à virtualiser les PCs et les faire fonctionner dans un datacenter. La virtualisation du desktop étend le desktop au datacenter, elle réunit donc différentes autres technologies que le VDI : bureau ou application publiée, virtualisation des applications, virtualisation des paramètres utilisateurs, machines virtuelles côté client, desktop as a service (DaaS), software as a service (SaaS), streaming d'OS et même des desktop traditionnels gérés de manière centralisé.

Maintenant appelé Remote Desktop Session Host (RDSH) ou Remote Desktop Services (RDS), anciennement Terminal Services (TS), la technologie que j'appelle bureau publié ou application publiée est disponible auprès de Microsoft de manière « native » ou avec l'ajout du célèbre Citrix XenApp (anciennement MetaFrame).

Lorsque l'on sait que l'on peut (veut) placer les desktops dans le datacenter, on doit se poser la question « RDS ou VDI ? ». L'avantage majeur du RDS est son prix ; en général le même matériel permet de faire fonctionner quatre fois plus de sessions sur le RDS que sur le VDI.

L'avantage du VDI est que l'on utilise un OS client plutôt qu'un OS serveur. De plus, avec le VDI la machine virtuelle correspond à un utilisateur plutôt qu'à plusieurs dizaines pour le RDS ce qui en facilite certaines tâches d'exploitation. La migration en est également facilitée.

Les autres technologies offrent chacune des avantages qui peuvent répondre à différents besoins spécifiques. Finalement le choix est aujourd'hui très large, mais il n'y a pas de vainqueur. La solution à retenir dépend de ce que l'on essaie de résoudre !

La plupart de ces cas d’utilisation peut aussi être réalisée avec une technologie de virtualisation du desktop autre que le VDI :
  • Télétravail, desktop d'appoint « au cas où ». 
  • Permettre à l'utilisateur d'utiliser le terminal de son choix. 
  • Permettre à l'utilisateur d'installer n'importe-quoi. Pour rappel, cet usage est très répandu dans nos entreprises avec des desktops traditionnels, à cause de (trop) nombreuses applications qui nécessitent des droits d'administrateur pour fonctionner. 
  • Fournir des applications à des tablettes non-Windows, comme l'iPad qui est de plus en plus présent en entreprise. 
Ce sont les raisons premières évoquées par les entreprises qui virtualisent leurs desktops. Le point commun de ces raisons : ce sont des raisons très spécifiques, elles ne s'appliquent pas à la majorité des utilisateurs de ces entreprises.

Un autre point important est que ces utilisations sont toutes liées à Windows. Finalement le desktop traditionnel (Windows) n'est pas si mauvais et prends toujours une place prépondérante même avec la virtualisation de certains desktops. Il faut se faire à cette réalité : nous vivons dans un monde Windows. Les applications Windows de nos desktops ne vont pas être remplacée d'aussitôt et si vous avez ces applications vous devrez faire face au système d'exploitation Windows.

Il y a plus d'un milliard de desktop Windows dans le monde avec probablement autant de licences Office. Malgré les nouvelles technologies comme HTML5, cet écosystème ne disparaîtra pas de sitôt et il faudra faire avec. Prenez par analogie l'exemple des hosts et des sessions 3270 que l’on voit encore dans certains aéroports, grandes surfaces ou sociétés d'assurances !

L'architecture de Windows a son lot de difficultés qu'il faut gérer :
  • Une application ne peut être simplement copiée, elle doit être installée. Elle peut alors rentrer en conflit avec d'autres applications. 
  • Les paramètres des utilisateurs (profil utilisateur) peuvent être sauvegardés à différents endroits, en fonction de l'application. La gestion d'un même profil sur deux terminaux en même temps n'est pas possible. Le profil utilisateur comprend : fond d'écran, couleurs des menus, menus personnalisés, menu Start, favoris Internet, Mes Documents, paramètres spécifiques aux applications. 
  • Les applications web apportent également leur lot de problèmes : environnements Java ou .Net incompatibles, plugins, etc. 
Il faut en être conscient : la virtualisation du desktop ne règle pas ces problèmes !

Les composants du desktop déstructuré

Avant d'aller plus loin, il est important de définir ce qu'est un desktop. Ces 20 dernières années le desktop s'est cantonné à un PC avec un écran, un clavier, une souris et le système d'exploitation Windows.

Ce n'est que dernièrement que d'autres desktops sont venu perturber ce paradigme : les smartphones et les tablettes permettent également d'utiliser des applications et de stocker ses données. Si l'on pousse plus loin, on peut dématérialiser le desktop si l'on fournit les applications et l'accès aux données en permettant à l'utilisateur de travailler quel que soit le terminal, qu'il choisirait en fonction de ses préférences et du contexte.

Finalement le PC n'est pas mort, remplacé par la tablette. Il faut plutôt maintenant considérer une multitude de terminaux différents dont un PC Windows, permettant tous à l'utilisateur d'accéder aux applications et aux données, avec chacun des avantages / inconvénients en fonction du contexte d'utilisation. De même, le clavier ou la souris ne disparaîtront pas au profit du tactile ou de Siri (NUI : natural user interface). Ces interfaces cohabiteront aussi en fonction du contexte ou des préférences de l'utilisateur.

Comment appliquer ce nouveau paradigme de desktop déstructuré avec Windows ? Certains prétendent que c'est la quadrature du cercle que de forcer Windows à rentrer dans ce nouveau modèle.

Les départements IT n'ont jamais vraiment mis l'effort sur le desktop, au profit des applications et des données. En finalité l'objectif (ou le fantasme) serait d'uniquement fournir des applications et des données, sans fournir de desktop. La manière de le faire est de fournir l'application sous forme de service (on va éviter d'utiliser le terme SaaS qui répond à des critères précis dans le domaine du Cloud computing).

Ainsi pour le nouveau paradigme de desktop déstructuré, l'IT gère l'application, l'utilisateur s'occupe de son terminal. Cela sonne très SaaS ou très BYOD (Bring Your Own Device), n'est-ce pas ?

Pour les nouvelles applications développées « from scratch », le SaaS est la voie à adopter. Mais pour toutes les autres applications liées à Windows, comment les fournir sous forme de service ?

On peut vite constater que même si l'on ne gère plus le desktop de l'utilisateur, on devra encore gérer un OS Windows, celui nécessaire à l'application à fournir depuis un datacenter.

Il y a plusieurs méthodes pour fournir une application Windows sous forme de service. Elles ont été discutées dans les points précédent, nous avons notamment parlé de leurs avantages (gestion centrale, accès depuis n'importe où / n'importe quel terminal, meilleure sécurité) et de leurs inconvénients (pas de support offline, difficultés graphiques, complexités liées aux périphériques).

Les technologies RDS et VDI permettent toutes les deux de fournir une application à l'utilisateur sans le desktop sous-jacent, sous forme d'un icône à cliquer et d'une fenêtre totalement intégrée visuellement au desktop distant.

Une autre technologie émergente permet de réaliser la même chose au travers d'un simple navigateur web via HTML4 ou 5, c'est Nexus de InstallFree. Elle permet de faire fonctionner à distance n'importe quelle application Windows, sans aucune installation locale particulière (comme un plugin Citrix). VMware (AppBlast) et Ericom (AccessNow) proposent des technologies similaires, mais limitées à HTML5. D'un autre côté, rien n'empêche d'utiliser un client local et de limiter la liste de terminaux supportés (comme avec Citrix XenApp).

Une autre alternative est de packager des applications virtuelles et de les fournir sur terminaux des utilisateurs sans installation : clique et ça fonctionne ! C'est la virtualisation des applications. Le gros avantage face à un desktop traditionnel, c'est que l'application n'a pas à être installée et qu'elle arrive avec son environnement propre et donc beaucoup plus de chance de fonctionner sur un desktop non maîtrisé. Les deux leaders de ce marché sont VMware ThinApp et Microsoft App-V.

La virtualisation des applications a deux problèmes : certaines applications ne peuvent être virtualisées et il faut Windows sur le terminal client.

Microsoft avec Windows 8 semble avoir bien compris ce nouveau paradigme de desktop déstructuré, en proposant un nouvel OS capable de fonctionner également sur des tablettes, supportant clavier, souris ou écran tactile. Par contre les applications Windows devront être redéveloppées pour bénéficier de ces nouvelles possibilités, ce qui ne sera malheureusement pas le cas pour toutes !

Encore une fois, nous avons à notre disposition toute une palette de solutions techniques qu'il faudra parfois (souvent) mixer pour fournir la solution de desktop déstructuré la plus adaptée à vos besoins.

L'utilisation d'applications Windows traditionnelles sur une tablette comme l'iPad est de plus en plus requise, malgré que d'utiliser une interface tactile pour une application qui n'a pas été développée pour ça soit relativement difficile. Ceux qui ont compris ce phénomène proposent différentes variantes d'applications adaptées aux terminaux (par exemple Keynote d'Apple, l'équivalent de Microsoft PowerPoint). L'écosystème Microsoft devra bien suivre ce mouvement, avec Windows 8 et son interface tactile Metro.

Pour résumer, au lieu d'établir une stratégie de virtualisation du desktop, vous devriez plutôt créer une stratégie de virtualisation des applications Windows, sur la base des choix suivants : Où doit fonctionner l'application (terminal, datacenter) ? Si sur le terminal, est-elle compatible avec la virtualisation d'application (oui, non) ? Si dans le datacenter, peut-elle fonctionner avec RDS (oui, non) ? Si 90% des applications finissent dans la même « case » il est alors sensé de traiter les 10% qui restent de la même manière, si possible.

Finalement n’y aurait-il pas des alternatives aux applications Windows ? Ce sont les applications natives des App Stores (iOS, Android, Microsoft, entreprise…), les applications web classiques, les web en HTML5, les web en Flash.

Ces différentes alternatives ont chacune ses avantages et ses inconvénients. Toutefois, la voie HTML5 semble être retenue par la majorité du marché, créant ainsi à cause des spécificités des différents navigateurs web un troisième espace dans lequel l'application peut fonctionner : terminal, datacenter, web.

Malgré l’orientation clairement applicative du desktop déstructuré, il a encore deux autres composants à ne pas oublier : ce sont les données (locales, centrales, synchronisation) ainsi que les paramètres utilisateurs (liés aux applications).

Rendre le desktop déstructuré cohérent (ou structuré)

Dans les précédentes lignes, vous avez constaté que de nombreuses solutions peuvent satisfaire vos différents besoins, avec différents composants. Le challenge reste de rendre tout cela cohérent ! En effet, avant ces nouvelles technologies, le desktop Windows proposait cette cohérence : authentification unique, interface utilisateur avec les fenêtres, lanceur d'applications, mécanismes d'intégration entre les applications (par ex. copier-coller), personnalisation de l'environnement (fuseau horaire, langue, dictionnaires)...

Les incohérences ont commencé lorsque les applications web sont apparues, notamment avec les authentifications multiples, les différences ergonomiques d'une interface à l'autre, etc. Ces applications ont finalement rendu le desktop beaucoup plus complexe que prévu !

Des règles simples permettent d'améliorer la situation :
  • L'accès aux applications web doit être le même que pour les autres applications, via le menu Démarrer de Windows. 
  • L'authentification unique (SSO). 
  • L'ajout ou la suppression d'une application pour un utilisateur (ou un groupe) doit être intégrée, sur la base d'un workflow commun. La difficulté se corse avec des applications hébergées ou SaaS ! 
L'intégration des données est également un objectif à atteindre. Les données structurées (bases de données) sont très liées aux applications et ne posent généralement pas de problèmes. La difficulté réside dans la synchronisation des données non structurées (fichiers, documents) entre différents terminaux. La solution la plus utilisée comme exemple est Dropbox. Mais Dropbox a des lacunes de sécurité pour la majorité des entreprises. D'autres solutions proposent une meilleure sécurité ; dans tous les cas c'est l'exemple à suivre du point de vue de l'utilisateur.

Du côté de la gestion des terminaux, dans un paradigme de desktop déstructuré tel qu'exposé, il ne reste plus grand-chose ! Cela facilite alors grandement une politique de BYOD. Ce concept très à la mode dans certaines entreprises américaines est encore vu avec une grande méfiance dans nos entreprises romandes. Premièrement pour des raisons de sécurité (des données de l'entreprise sur un ordinateur privé !) et deuxièmement pour des raisons de partage de responsabilités (comment procéder lorsque l'ordinateur personnel est en panne). Toutes les entreprises qui laissent les droits d'administrateurs à leurs employés font déjà du BYOD. Idem pour celles qui permettent à leurs employés de synchronisé des smartphones privés avec Exchange.

Il y a plusieurs degrés possibles de BYOD, au niveau du partage de responsabilités. Et bien entendu, certains desktops ne pourront jamais être considérés ainsi (par exemple un PC industriel relié à une machine-outil).

Les autres concepts suivants faciliteront également la migration du desktop traditionnel vers un desktop déstructuré (et restructuré) :
  • La gestion des applications, avec comme exemple les AppStores des mobiles et du futur Windows 8. 
  • La gestion centralisée d'une identité unique, quel que soit le terminal et les applications utilisées. 
  • La gestion des données, notamment en mode offline, avec le modèle Dropbox. 
  • La gestion des équipements, avec des outils MDM (mobile device management) qui vont devoir évoluer vers du MAM (mobile application management) afin d'assurer un découplage du terminal, au profit de l'application, des données et des paramètres utilisateurs. 
  • Et finalement Windows sur un PC fixe ou mobile reste une option majeure, que l'on peut maintenant facilement gérer de manière centralisée. 
Malgré l'avancement de ces différentes technologies, l'intégration n'est pas aujourd'hui parfaite (ni simple). Certains diront qu'il faut encore attendre une plus grande maturité et ainsi laisseront leurs utilisateurs résoudre leurs problèmes tout seuls. D'autres feront fi de ces difficultés et essayeront d'aider leurs utilisateurs.

Certaines actions peuvent d'ores et déjà être menées maintenant :
  • Implémentez une gestion des préférences utilisateurs. 
  • Démarrez la virtualisation des applications Windows. 
  • Migrez le plus possible de desktops Windows dans le datacenter (et pas forcément en VDI). 
  • Adaptez vos zones de sécurité en ségréguant les différents périmètres (Internet, guests, desktops, serveurs…). 
  • Lancez un pilote BYOD. 
  • Hébergez votre messagerie dans le Cloud. 
  • Offrez une solution de synchronisation de fichiers à la Dropbox. 
Bien que beaucoup d'entre vous se disent que ces propositions ne pourront être envisagées avant longtemps, les réalités suivantes ne devront pas être écartées :
  • Les applications Windows ne disparaîtront pas d'aussitôt. 
  • Le desktop peut être décomposé en ses différents composants fondamentaux. 
  • Les utilisateurs bénéficient de nombreux services, avec des terminaux et des OS différents. 
  • Si vous dites à vos utilisateurs qu'ils ne peuvent pas faire quelque-chose, ils vont probablement le faire quand-même ! 
  • Mélanger des applications Windows avec ces nouvelles applications natives sera maladroit, mais il faudra faire avec. 

Conclusion

Il y a 10 ans, les applications Windows étaient les seules applications utilisées par la majorité des entreprises. Il y a 5 ans, les applications web ont commencé à prendre une part grandissante pour arriver à 50/50 aujourd'hui. Demain, la part des applications Windows diminuera pour arriver peut-être à du 80/20 en 2015.

De nombreuses initiatives essaient de transformer ou d'interfacer des applications Windows en HTML5. C'est peut-être une voie pour délivrer des applications Windows depuis le datacenter.

Malgré la montée en puissance des datacenters, le PC n'est pas mort. La puissance de calcul et graphique augmente encore chaque jour permettant de fournir un iPad à 500.- avec la même puissance qu'un supercalculateur Cray de plusieurs millions d'il y a quelques années ! La tablette ne remplacera pas un PC avec plusieurs écrans 27", un clavier et sa souris ultra précise. Comme expliqué précédemment le PC a perdu sa place unique avec la venue des tablettes et des smartphones, mais ne disparaitra pas.

L'informatique a évolué d'un ordinateur central vers des serveurs reliés à des ordinateurs personnels (PC) : le desktop Windows. Maintenant la nouvelle étape est de mettre l'application et ses données au centre, en permettant à l'utilisateur d'y accéder avec le terminal le plus adapté au contexte : le desktop déstructuré.