Virtualisation-20250916070226.apkg
Introduction
La virtualisation est un concept clé au cœur de la plupart des infrastructures informatiques actuelles, qu'il s'agisse de services d'entreprise ou du Cloud (public, privé ou hybride).
Bien qu'elle existe depuis plus de 40 ans, son adoption massive est plus récente et génère une activité économique considérable.
Définition Fonctionnelle
La virtualisation consiste à utiliser un système hôte pour exécuter un ou plusieurs systèmes invités.
- Hôte : La machine (généralement physique) qui héberge et fournit les ressources aux systèmes invités.- Invité : La machine (virtuelle) qui s'exécute sur l'hôte.
L'invité peut être un système d'exploitation identique ou différent de celui de l'hôte, et il n'a généralement pas conscience d'être virtualisé.
1. Bénéfices de la Virtualisation
On ne virtualise pas pour le plaisir, mais pour les avantages concrets que cela apporte. Ces bénéfices peuvent être regroupés en quatre catégories principales, qui convergent toutes vers des gains économiques.
A. Aspect Économique
Mutualisation et Rationalisation des Besoins
C'est le bénéfice le plus direct. La virtualisation permet de rationaliser l'utilisation des ressources matérielles.
- Avant la virtualisation : La norme était d'attribuer un serveur physique par service majeur (messagerie, web, authentification, etc.). Chaque serveur devait être dimensionné pour supporter son pic de charge, ce qui entraînait une sous-utilisation chronique du matériel le reste du temps.- Avec la virtualisation : Plusieurs services peuvent fonctionner sur un seul serveur physique puissant, chacun dans sa propre Machine Virtuelle (VM). - Les pics de charge des différents services sont rarement simultanés, ce qui permet de "lisser" l'utilisation globale des ressources. - On peut héberger un grand nombre de VMs sur un nombre réduit de serveurs physiques (l'exemple de l'UTBM est cité avec 5 nœuds Proxmox pour 140-150 VMs). - Le coût total est bien inférieur à l'achat et à la maintenance d'un serveur physique par service.
De plus, il est possible de modifier "à chaud" (sans interruption de service) les ressources allouées à une VM, comme la RAM ou le CPU.
B. Développement et Vie des Applications
Développement Multi-plateformes
Pour développer des applications visant différentes cibles (Windows, Linux, Android, MacOS), la virtualisation est une solution idéale. Au lieu de posséder une machine physique pour chaque environnement, un développeur peut :
- Utiliser une seule machine puissante.- Exécuter chaque système cible dans une VM ou un émulateur pour les tests.- Exemple concret : Android Studio qui intègre un téléphone Android émulé pour tester les applications.
Support des Applications Obsolètes
Certaines applications critiques pour une entreprise sont trop anciennes pour fonctionner sur les systèmes modernes ou dépendent de matériel qui n'existe plus. La virtualisation permet de :
- Créer une VM avec l'ancien système d'exploitation requis.- S'affranchir de la maintenance d'un matériel vétuste.- Faciliter les sauvegardes et sécuriser l'interface avec le réseau moderne.
C. Sécurité
Isolation (Cloisonnement)
Une VM est un environnement isolé. Un problème ou une attaque sur un système invité n'affecte pas directement l'hôte ni les autres invités co-localisés.
- L'accès au système de l'hôte est bloqué.- Les politiques de sécurité peuvent être durcies pour chaque service, car il est isolé.- Les accès distants sont plus faciles à contrôler via des règles de pare-feu spécifiques.
Migrations et Sauvegardes
La nature logicielle des VMs simplifie énormément leur gestion :
- Migration : Déplacer une VM d'un serveur physique à un autre (par exemple, pour une maintenance) peut se faire en quelquesclics, parfois même sans interrompre le service.- Sauvegarde : On peut créer des "instantanés"(snapshots) de l'état complet d'une VM (système, applications, données)et la restaurer très rapidement en cas de problème.
Cela se traduit par des gains de temps considérables pour les équipes informatiques (DSI), qui peuvent se concentrer sur des tâches à plus haute valeur ajoutée.
D. Mobilité
La virtualisation permet de déconnecter l'environnement de travail de l'utilisateur de sa machine physique.
- Les bureaux distants (VDI) peuvent tourner dans des VMs sur des serveurs centraux, accessibles depuis n'importe quel poste client léger.- Les applications et leurs dépendances peuvent être embarquées dansdes conteneurs, garantissant qu'elles fonctionneront de la même manièrepartout.- Les ressources coûteuses, comme les GPU, peuvent être mutualisées et partagées dans le cloud.
2. Les Différents Types de Virtualisation
Il n'existe pas une seule technologie de virtualisation, mais plusieurs approches avec des compromis différents en termes de performance, de flexibilité et d'isolation.
A. Hyperviseurs
L'hyperviseur est le logiciel fondamental qui crée et gère les machines virtuelles. Il en existe deux types principaux.
- Type 1 (Bare-metal) : L'hyperviseur est installédirectement sur le matériel physique. Il agit comme un systèmed'exploitation minimaliste dont le seul but est d'exécuter des VMs.C'est l'approche la plus performante, utilisée dans les serveurs deproduction. - Exemples : Proxmox (basé sur KVM), VMware ESXi, Microsoft Hyper-V, Xen.- Type 2 (Hébergé) : L'hyperviseur est un logicielqui s'installe sur un système d'exploitation existant (comme Windows,MacOS ou Linux). Il est moins performant car il doit passer par l'OShôte pour accéder au matériel, mais il est très pratique pour un usagesur un poste de travail. - Exemples : VirtualBox, VMware Workstation, Parallels.
Voici une illustration pour visualiser la différence :

B. Isolateurs et Conteneurs
Cette technique, souvent appelée conteneurisation, n'embarque pas un système d'exploitation complet. Elle isole des processus au sein même de l'OS hôte.
- Chaque conteneur dispose de son propre système de fichiers, de sespropres processus et de sa propre vue du réseau, mais tous partagent le noyau du système d'exploitation de l'hôte.- Avantages : Démarrage quasi-instantané, très faible surcharge, performance quasi-native.- Limites : L'architecture (CPU) et la base dusystème (noyau Linux/Windows) doivent être identiques entre l'hôte et le conteneur. L'isolation est considérée comme moins robuste que celled'une VM.- Exemple principal : Docker.
Voici une illustration comparant la virtualisation classique et la conteneurisation.

C. Autres Techniques
- Émulation Complète : L'émulateur simule unearchitecture matérielle complète, y compris les instructions du CPU.Cela permet d'exécuter un système conçu pour une architecture (ex: ARM)sur une machine d'une autre architecture (ex: x86). La flexibilité estmaximale, mais le coût en performance est très élevé.- Traduction des Appels Système : Cette techniqueintercepte les appels qu'une application fait à son système d'origine et les "traduit" à la volée pour le système hôte. Cela permet d'exécuterdes applications d'un OS sur un autre sans virtualiser la machineentière. - Exemples : Wine/Proton (pour lancer des applications Windows sur Linux), WSL (pour lancer des applications Linux sur Windows).- Paravirtualisation : Dans ce mode, le systèmeinvité est modifié pour être "conscient" qu'il est virtualisé. Ilutilise des pilotes spéciaux pour communiquer directement avecl'hyperviseur, ce qui améliore les performances par rapport à unevirtualisation complète où le matériel est émulé. C'est un des modes defonctionnement de KVM (utilisé par Proxmox).
3. Cas Pratique : VirtualBox
VirtualBox est un excellent exemple d'hyperviseur de Type 2.
- C'est un logiciel gratuit et open-source, disponible pour Windows, Linux et MacOS.- Il s'installe comme n'importe quelle autre application sur votre système d'exploitation.- Il permet de créer et d'exécuter des machines virtuelles pour tester différents systèmes d'exploitation, faire du développement ou essayerdes logiciels de manière isolée.- Il est souvent utilisé dans un cadre pédagogique pour les travaux pratiques sur la virtualisation.
Conclusion
La virtualisation est une technologie fondamentale de l'informatique moderne. Elle offre une multitude de solutions, chacune avec ses propres compromis :
- Flexibilité, économies et scalabilité sont les gains majeurs.- Elle facilite l'industrialisation des services et améliore la fiabilité et la disponibilité des infrastructures.- Une organisation peut, et souvent doit, utiliser plusieurs de cestechniques (par exemple, des hyperviseurs Type 1 pour la production etdes conteneurs pour le déploiement applicatif).
Le choix de la bonne technique de virtualisation doit toujours être le fruit d'une réflexion sur les besoins et les contraintes spécifiques du projet.