Article de reference

virtualisation des applications

La virtualisation d'applications est une technologie logicielle qui encapsule les programmes informatiques du système d'exploitation sous-jacent sur lequel ils s'exécutent. Une ...

La virtualisation d'applications est une technologie logicielle qui encapsule les programmes informatiques du système d'exploitation sous-jacent sur lequel ils s'exécutent. Une application entièrement virtualisée n'est pas installée au sens traditionnel du terme , bien qu'elle s'exécute comme si elle l'était. Lors de son exécution, l'application se comporte comme si elle interagissait directement avec le système d'exploitation d'origine et toutes les ressources qu'il gère, tout en pouvant être isolée ou mise en quarantaine à différents degrés.

Dans ce contexte, le terme « virtualisation » fait référence à l'artefact encapsulé (application), ce qui est assez différent de sa signification dans la virtualisation matérielle , où il fait référence à l'artefact abstrait (matériel physique).

Description

Diagramme de virtualisation d'application
Illustration d'une application s'exécutant dans un environnement natif et dans un environnement de virtualisation d'applications

La virtualisation complète des applications nécessite une couche de virtualisation. Les couches de virtualisation d'applications remplacent une partie de l' environnement d'exécution normalement fourni par le système d'exploitation. Cette couche intercepte toutes les opérations disque des applications virtualisées et les redirige de manière transparente vers un emplacement virtualisé, souvent un seul fichier. L'application ignore qu'elle accède à une ressource virtuelle au lieu d'une ressource physique. Puisqu'elle travaille désormais avec un seul fichier au lieu de plusieurs fichiers répartis sur le système, il devient facile de l'exécuter sur un autre ordinateur, et des applications auparavant incompatibles peuvent être exécutées simultanément.

Avantages

La virtualisation d'applications permet à ces dernières de s'exécuter dans des environnements qui ne sont pas adaptés à leur format natif. Par exemple, Wine permet à certaines applications Microsoft Windows de s'exécuter sous Linux .

La virtualisation des applications réduit les coûts d'intégration et d'administration des systèmes en maintenant une base logicielle commune sur plusieurs ordinateurs hétérogènes au sein d'une organisation. Une intégration moindre protège le système d'exploitation et les autres applications contre les erreurs de conception ou les bogues. Dans certains cas, elle offre une protection de la mémoire et des fonctionnalités de débogage similaires à celles des environnements de développement intégrés (IDE) , et peut même exécuter des applications mal conçues, telles que celles qui tentent de stocker des données utilisateur dans un emplacement système en lecture seule. (Cette fonctionnalité contribue à la mise en œuvre du principe du moindre privilège en dispensant les utilisateurs finaux de disposer de privilèges d'administrateur pour exécuter des applications mal conçues.) Elle permet l'exécution simultanée d'applications incompatibles , avec des tests de régression minimaux les unes par rapport aux autres . L'isolation des applications par rapport au système d'exploitation présente également des avantages en matière de sécurité, car l'exposition de l'application virtualisée n'entraîne pas automatiquement l'exposition de l'ensemble du système d'exploitation

La virtualisation des applications permet également de simplifier les migrations de systèmes d'exploitation . Les applications peuvent être transférées sur des supports amovibles ou entre ordinateurs sans avoir besoin de les installer, devenant ainsi des logiciels portables .

La virtualisation d'applications utilise moins de ressources qu'une machine virtuelle distincte .

Limites

Tous les programmes informatiques ne peuvent pas être virtualisés. Citons par exemple les applications nécessitant un pilote de périphérique (une forme d'intégration avec le système d'exploitation) et les applications 16 bits qui doivent s'exécuter dans un espace mémoire partagé. Les programmes antivirus et les applications exigeant une forte intégration au système d'exploitation, comme WindowBlinds ou StyleXP, sont difficiles à virtualiser.

De plus, en matière de licences logicielles, la virtualisation d'applications présente d'importants écueils en matière de licences, principalement parce que le logiciel de virtualisation d'applications et les applications virtualisées doivent être correctement licenciés.

Bien que la virtualisation des applications puisse résoudre les problèmes de compatibilité au niveau des fichiers et du Registre entre les applications anciennes et les systèmes d'exploitation plus récents, les applications qui ne gèrent pas correctement le tas ne s'exécuteront pas sous Windows Vista , car elles allouent toujours la mémoire de la même manière, qu'elles soient virtualisées ou non. C'est pourquoi des correctifs de compatibilité spécifiques (shims) peuvent toujours être nécessaires, même si l'application est virtualisée.

Les divergences fonctionnelles au sein du modèle de multicompatibilité constituent une limitation supplémentaire lorsque des points d'accès gérés par un service public sont partagés au sein d'un réseau public. Ces limitations sont surmontées en désignant un pilote de point de partage au niveau du système.

Technologies connexes

Les catégories technologiques relevant de la virtualisation des applications comprennent :

  • Diffusion en continu d'applications . Des portions de code, de données et de paramètres de l'application sont fournies uniquement lorsqu'elles sont nécessaires, au lieu de fournir l'application complète avant le démarrage. L'exécution de l'application packagée peut nécessiter l'installation d'un client léger. Les packages sont généralement distribués via un protocole tel que HTTP, CIFS ou RTSP .
  • Les services Bureau à distance (anciennement appelés services Terminal Server) sont un composant de virtualisation de l'informatique et de la présentation basé sur un serveur de Microsoft Windows qui permet à un utilisateur d'accéder à des applications et à des données hébergées sur un ordinateur distant via un réseau. Les sessions des services Bureau à distance s'exécutent sur un seul système d'exploitation serveur partagé (par exemple, Windows Server 2008 R2 et versions ultérieures) et sont accessibles à l'aide du protocole RDP (Remote Desktop Protocol ).
  • Les technologies logicielles de virtualisation de bureau améliorent la portabilité, la facilité de gestion et la compatibilité de l'environnement de bureau d'un ordinateur personnel en séparant tout ou partie de cet environnement et des applications associées du périphérique client physique utilisé pour y accéder. Une implémentation courante consiste à héberger plusieurs instances de systèmes d'exploitation de bureau sur une plateforme matérielle serveur exécutant un hyperviseur. On parle alors d'« infrastructure de bureau virtuel » (VDI).