Virtualisation et Streaming d'applications

Posted by IT NISRO 0 commentaires

 La virtualisation d'applications constitue l'un des piliers du monde de la virtualisation, au côté des solutions dédiées à la virtualisation des serveurs, du stockage et des postes clients. Alors que cette dernière permet de virtualiser l'ensemble de l'environnement de travail utilisateur, la virtualisation d'applications, elle, cible tout ou partie des applications métiers et/ou de bureautique.

En fonction des éditeurs, les méthodes employées pour virtualiser les applications varieront du tout au tout. Alors que certaines permettent de les installer et d'accéder à la demande aux applications dans un flux continu de données dit de streaming applicatif, d'autres nécessiteront d'être compilées au préalable dans un package.

La virtualisation d'applications                                                      

La virtualisation d’application consiste à encapsuler dans un même package l’application et son environnement système de manière imperméable au système d'exploitation sur lequel l'application s'éxécute. Ainsi plusieurs applications peuvent tourner sur un même système sans avoir d’incompatibilités de versions de bibliothèques « dll », de clés de registre et il est même possible de faire tourner plusieurs versions d’une même application sur un même système d'exploitation (exemple : applications Microsoft Office). Cette technologie est essentiellement utilisée dans les environnements Windows mais il existe également des outils Linux qui utilisent ce concept (Klik).

Concept de la virtualisation d'application sous windows

Ce schéma présente un exemple de virtualisation d'application sous windows. Une couche de virtualisation est ajoutée entre les programmes virtualisés et le système d'exploitation qui intercepte les appels systèmes (base de registre, disque, applications).
Le système de fichiers et la base de registre virtuels ne sont pas des copies de ceux du système d'exploitation. Ils regroupent uniquement les modifications effectuées par l'application pour qu'elle puisse fonctionner. Si l'application veut altérer la configuration système, elle ne le fera que dans sa copie de la base de registre. De même, elle n'aura accès qu'à ses propres versions de DLL et de fichiers de configuration système. Il n'y a donc pas de conflit avec les autres applications, c'est ce que l'on appelle le concept de bulle.
Plusieurs applications peuvent opérer dans différentes bulles et elles demeurent indépendantes les unes des autres. Une telle garantie d'indépendance entre les applications limite fortement le volume des tests de régression nécessaires en cas de changement de système d'exploitation.

Le Streaming applicatif                                                              

    Cela conciste à n'exporter que la partie "intéraction" de l'application, c'est à dire l'affichage et les intractions clavier/souris. Le programme s'éxécute sur un serveur d'application (ex : Citrix), et un flux de donnée transporte les informations d'intéraction. Il existe aussi des méthodes qui concistent à envoyer tout (exemple : java web start) ou partie du programme (on envoie uniquement les "briques" nécessaires au client, à la demande). Le principal avantages= de cette technologie est l'administration centralisée sur les serveurs d'application. Ainsi, la maintenance est simplifiée et les interventions plus rapides en cas d'incidents. Enfin, les solutions de streaming applicatif utilisent généralement la virtualisation pour sécuriser le système d'exploitation des serveurs d'application (isolation).

Quelques exemples

VMware ThinApp                                                                              

VMware ThinApp est une solution de virtualisation d'applications qui permet d'exécuter quasiment tous les types d'applications sur la plupart des environnements d'exploitation Windows, sans aucun conflit. Les utilisateurs peuvent ainsi, par exemple, exécuter Internet Explorer (IE) 6 et IE 7 sur le même système d'exploitation sans interrompre leurs opérations en cours.

Architecture de VMWare ThinApp

VMware ThinApp consiste à générer un exécutable (fichier .exe) à partir du programme d'installation du logiciel à virtualiser. Stocké sur un répertoire partagé du réseau ou sur une clé USB, ce fichier sert ensuite à lancer le programme, sans la moindre modification sur la machine hôte. En effet, l'exécutable joue le rôle de conteneur, avec toutes les ressources nécessaires au fonctionnement de l'application (DLL, base de registres virtuelle, etc.). Un seul fichier est donc piloté par un micro-système d'exploitation propriétaire de 300 Ko, et opérationnel sur les plates-formes Windows 32 et 64 bits.

Wine                                                                                                  

Wine est l'acronyme récursif anglophone de « Wine Is Not an Emulator », littéralement Wine n'est pas un émulateur. Parfois, on le considère aussi comme l'acronyme de « WINdows Emulator ». Ce logiciel est une implémentation libre de l'interface de programmation Microsoft Windows bâtie sur X et UNIX (BSD, GNU/Linux), c’est-à-dire qu'il permet d'utiliser sous GNU/Linux ou mac OS des programmes conçus pour fonctionner sous Windows.
Il utilise donc la technologie de virtualisation d'application dans le sens où l'environnement windows est virtualisé (système de fichier, bibliotèques, basede registre...). A noter cependant que les applications windows ne sont pas isolées les unes des autres.

Klik                                                                                                   

Klik est un programme linux qui permet d'utiliser des paquets sans installation. Ces paquets sont constitués d'un seul fichier cmg et peuvent être lancés à partir d'une page Web ou d'une clé USB. Ce fichier cmg est une image compressée du système de fichier cramfs.
Lorsque le paquet est "exécuté" klik monte l'arborescence de fichiers contenue dans l'archive (chroot) et lance le programme.

Fonctionnement de klik

Citrix XenApp                                                                                  

Citrix XenApp (anciennement connu sous le nom de Citrix MetaFrame puis Citrix Presentation Server) est un produit de la société Citrix systems basé sur le protocole Independent Computing Architecture (ICA).
Il s'agit d'un logiciel serveur permettant de déployer des applications ou des services sur un réseau et d'y accéder à distance à partir de clients légers. On parle de « solution d'infrastructure d'accès ».

Par exemple l'installation d'une application se fait sur le serveur et se lance sur celui-ci. L'application s'exécute donc sur le serveur, en utilisant les ressources (CPU, mémoire, espace disque) du serveur. L'affichage et les commandes de clavier/souris sont transmises au poste de travail de l'usager via un réseau local. Cela a pour but de réduire le travail du poste client, permettant ainsi d'utiliser un poste de capacité réduite pour exécuter des applications nécessitant beaucoup de ressources.
Pour lancer une application, on se connecte à un portail web contenant les applications auxquelles on a accès. On peut aussi installer sur le poste client un agent qui servira à afficher les applications disponibles à l'utilisateur.
Le logiciel client initie la connexion au serveur en spécifiant l'application désirée. L'affichage ainsi que les commandes clavier/souris sont transmises via le réseau local en utilisant un protocole appelé ICA. Celui-ci permet un transfert rapide des données grâce à une méthode de compression développée par Citrix.
Ce système permet donc de rendre disponible des applications diverses sans avoir à les installer dans chacun des postes clients qui le nécessitent. On parle ici de streaming applicatif.

Citrix XenApp intégre aussi la virtualisation de manière similaire à VMWare ThinApp. Les applications sont packagées et rendues accessibles sur un serveur dédié ou publiées sur les serveurs d'applications pour être rendues disponibles en streaming via le client lèger.
Le schéma ci dessous représente une architecture typique de la mise en oeuvre de Citrix :




0 commentaires:

Enregistrer un commentaire

Membres

Formulaire de contact

Nom

E-mail *

Message *