VM, VDI, conteneurs, App-V : quand utiliser quoi ?
Quelles sont les différences entre ces technologies ? Et quand utiliser une virtualisation d’applications comme App-V plutôt qu'une technologie de virtualisation de type conteneurs ou de machines virtuelles ? Réponse.
Comment se comporte la virtualisation d'applications avec App-V par rapport aux autres techniques de virtualisation, telles que les machines virtuelles (VM, Virtual Machine), les instances VDI et les conteneurs (notamment les conteneurs Docker) ?
Microsoft App-V est une plateforme destinée à mettre des applications à la disposition des utilisateurs, et ce, sans installer lesdites applications sur les terminaux. Au lieu de cela, les applications sont virtualisées, mises à disposition à partir de serveurs administrés de manière centralisée. Toutefois, la manière dont App-V conditionne et prend en charge les applications virtualisées ne provoque aucun véritable changement du comportement de l’application et de son interface.
L’objet de Microsoft App-V est de permettre aux applications de fonctionner même lorsque des dépendances complexes vis-à-vis d’autres applications et d’autres composants, notamment le middleware et les plug-in, sont susceptibles de poser problème dans le cadre de techniques de virtualisation conventionnelles, comme le VDI (Virtual Desktop Infrastructure).
Pour ce faire, App-V permet aux administrateurs d’intégrer des ensembles complexes de dépendances entre éléments au sein d’une seule et unique entité. Côté utilisateur, l’application virtualisée se présente comme une simple application locale. Une fois l’ensemble applicatif disponible, il fonctionne en effet exactement comme si l’application était installée sur la machine. Elle enregistre les données en local, dasn Windows, et s’inscrit dans le Registre de ce dernier, sans nécessiter aucune configuration de lecteur réseau.
Si Microsoft App-V peut donner l’impression d'une technologie de terminal, la solution n’en aura pas moins une profonde incidence sur le datacenter. En effet, ce dernier peut désormais héberger et mettre à la disposition d’utilisateurs installés en tout lieu des ensembles applicatifs, et ce, depuis différents serveurs et à l’échelle du réseau. Des ordinateurs physiques traditionnels aussi bien que des instances VDI pourront jouer le rôle de terminaux. Les applications packagées avec App-V sont diffusés en flux à la demande, de sorte qu’il n’est pas nécessaire de les dupliquer sur chacune des instances VDI. Les administrateurs contrôlent aussi intégralement les ensembles applicatifs. Ils peuvent les mettre à jour ou les modifier selon les besoins.
Les VM quant à elles apportent une abstraction du matériel sous-jacent. Elles constituent souvent le meilleur choix lorsque plusieurs instances de serveur sont installées sur le même système physique. Toutefois, les VM restent des « machines » complètes. Chacune contient l’ensemble du système d’exploitation, des pilotes et des fichiers d’application nécessaires à une exécution de la VM en tant qu’entité distincte et indépendante.
La technologie VDI permet pour sa part de créer des instances bureautiques virtualisées qui font alors office de terminaux utilisateur. Chaque instance VDI est hébergée (ainsi que tout le traitement qu’elle effectue) sur un serveur dans un datacenter. Les utilisateurs accèdent à leur propre instance VDI via le réseau. Aussi, chaque terminal devient un simple terminal d’entrée/sortie. Dans l’idéal, toutes les instances VDI reposent sur la même « image de bureau » qui est elle-même dupliquée (et légèrement personnalisée) pour chaque utilisateur.
Les conteneurs constituent une approche différente de la virtualisation. Plutôt que d’installer d’abord un hyperviseur pour ensuite installer des VM invitées sur ce dernier, la couche de virtualisation est directement au-dessus de l’OS de l’hôte côté serveur. Chaque conteneur partage le même OS sous-jacent, aussi, la majeure partie de la duplication des systèmes d’exploitation et des autres composants est éliminée. Les conteneurs, qui ont aussi leurs défauts, sont ainsi plus petits et plus efficaces que les VM. Mieux vaut les utiliser lorsqu'un grand nombre d’applications identiques doit être déployé sur le serveur ; un cas idéal pour les entreprises tourné vers les Cloud.
Remarque importante : ces différentes variantes ne s’excluent pas les unes des autres. Les quatre approches de la virtualisation (VM, VDI, conteneurs à la Docker, virtualisation d’applications à la App-V) peuvent cohabiter dans le datacenter pour répondre à différents besoins métier.