Séance 1 : Les bases de la virtualisation¶
0. Avant la technique : pourquoi les entreprises investissent dans des serveurs¶
Avant d'entrer dans le vif du sujet, il est utile de se poser une question simple : pourquoi une entreprise dépense-t-elle des dizaines de milliers de dollars pour acheter des serveurs ou louer de l'espace dans le cloud ?
La réponse : chaque serveur et chaque machine virtuelle (VM) existe pour répondre à un besoin d'affaires précis.
C'est quoi un « besoin d'affaires » ?
En termes simples, un besoin d'affaires (ou une opération d'entreprise), c'est une tâche concrète que l'entreprise doit accomplir pour fonctionner et faire de l'argent. Ce n'est pas de la technologie pour la technologie : chaque serveur sert à faire rouler une activité réelle, comme vendre un billet d'avion, payer les employés, ou envoyer un courriel. Si on enlève le serveur, cette activité s'arrête.
Dans une entreprise, tous les services n'ont pas la même importance. On utilise souvent le terme « Mission Critical » (hautement critique) pour désigner les systèmes essentiels.
Qu'est-ce qu'un système Mission Critical ?
C'est une application ou un serveur dont la panne paralyse complètement l'entreprise. Si le système tombe, l'organisation ne peut plus fonctionner et perd immédiatement des milliers, voire des millions de dollars par minute.
L'exemple d'Air Canada¶
La mission d'Air Canada est de faire voler des avions et de transporter des gens en toute sécurité.
- Systèmes Mission Critical (ne doivent jamais tomber) :
- Le site Web d'achat de billets → VM Linux (Ubuntu/Debian) avec un serveur Web Nginx.
- Le système d'enregistrement des bagages à l'aéroport → VM Linux avec une application métier + base de données en temps réel.
- La base de données de maintenance des moteurs d'avions → VM Linux avec PostgreSQL ou VM Windows Server avec Oracle Database.
- Si une de ces VM tombe : des avions ne décollent pas, les clients sont bloqués à l'aéroport, les médias en parlent et les pertes financières sont considérables.
- Systèmes moins critiques (non urgents) :
- Le portail des ressources humaines → VM Windows Server avec IIS et une application RH (ex. SAP HR).
- La plateforme de formation en ligne pour les nouveaux employés → VM Linux avec un environnement d'apprentissage (ex. Moodle) et Apache.
- Si l'un de ces systèmes tombe pendant quatre heures : c'est loin d'être idéal, mais les avions continuent de voler et l'entreprise poursuit ses activités.
Le vrai rôle de la virtualisation¶
Dans ce cours, vous apprendrez à créer des machines virtuelles, mais surtout à bâtir une infrastructure capable de résister aux pannes.
Si un serveur physique tombe en panne dans la salle des serveurs ou qu'un bâtiment perd l'alimentation électrique, la virtualisation permet de basculer automatiquement les VM critiques vers une autre machine saine en quelques secondes, souvent sans même que les utilisateurs s'en rendent compte.
1. C'est quoi la virtualisation ?¶
La virtualisation, est un concept assez large. Il peut s'appliquer à plusieurs domaines de l'informatique. De manière abstraite, on peut dire que la virtualisation consiste représenter un élément physique d'une infrastructure informatique par un élément logiciel. Cela permet de créer des ressources logiques qui n'existent pas physiquement, mais qui se comportent comme si elles existaient.
On peut virtualiser 4 grands éléments d'un infrastrure informatique:
- Les serveurs : Faire tourner plusieurs serveurs virtuels sur une seule vraie machine.
- Le stockage : Rassembler plein de disques durs pour créer un seul gros espace logique (comme LVM sous Linux).
- Le réseau : Créer des câbles, des commutateurs et des routeurs logiciels qui n'existent pas physiquement (comme les VLAN ou les VPN).
- Les postes de travail (VDI) : Votre ordinateur de bureau Windows ou Linux tourne dans un centre de données, et vous y accédez à distance avec un simple écran et un navigateur appelé un Thin Client.
Concernant la virtualisation des serveurs : Avant, la règle était simple : une machine physique = un seul système d'exploitation = une seule tâche (un serveur pour les fichiers, un pour les courriels, un pour la base de données).
Le problème : ces gros serveurs tournaient souvent à 5 % ou 10 % de leur puissance. C'était un gaspillage énorme d'argent, d'espace et d'électricité.
La solution : La virtualisation.
C'est un logiciel qui fait croire à plusieurs systèmes d'exploitation qu'ils ont chacun leur propre ordinateur physique, alors qu'ils partagent tous la même machine en dessous.
2. Ce qu'on va faire dans ce cours¶
En 60 heures, on ne peut pas tout couvrir. Le cours se concentre donc sur la virtualisation de serveurs en utilisant des machines virtuelle et des conteneurs qui sont deux technologies très utilisées dans l'industrie.
Nous allons étudier et mettre en oeuvre ces deux outils majeurs de l'industrie :
-
Conteneurisation Docker : Un standard de la conteneurisation, très utilisé dans les environnements de développement et de déploiement.
-
L'hyperviseur Proxmox VE : Une solution gratuite et open-source basée sur Linux Debian, très populaire et performante.
3. Pourquoi les entreprises utilisent ça ? (Les gros avantages)¶
- Économie : Au lieu d'acheter 10 serveurs physiques, on en achète 2 plus puissants et on met 10 machines virtuelles dessus.
- Vitesse : Commander et brancher un serveur physique prend des semaines. Créer un serveur virtuel prend 30 secondes.
- Flexibilité « à chaud » : Un serveur virtuel manque de mémoire vive (RAM) ? On lui en ajoute en deux clics sans même redémarrer la machine.
- Déplacement facile : Une machine virtuelle n'est qu'un simple fichier sur un disque. On peut la copier ou la déplacer sur un autre serveur en un instant.
- Haute disponibilité : Si un serveur physique brise, les machines virtuelles redémarrent automatiquement sur un autre serveur du réseau sans intervention humaine.
4. Hyperviseur : Type 1 vs Type 2¶
L'hyperviseur, c'est le chef d'orchestre. C'est le logiciel qui découpe les ressources physiques (processeur, RAM, disque) pour les donner aux machines virtuelles (VM).
Il existe deux types d'hyperviseurs :
Type 2 : L'hyperviseur applicatif (pour la maison et les tests)¶
- Il s'installe comme un simple logiciel (comme Discord ou Spotify) par-dessus votre Windows ou macOS.
- Le chemin : Matériel -> Votre Windows -> Hyperviseur -> La VM.
- Inconvénient : Moins performant, car votre système d'exploitation principal prend déjà beaucoup de ressources.
- Exemples : VMware Workstation, Oracle VirtualBox.
Type 1 : L'hyperviseur dédié (pour les entreprises et les datacenters)¶
- Il n'y a pas de Windows en dessous. L'hyperviseur est installé directement sur le disque du serveur physique (Bare-Metal).
- Le chemin : Matériel -> Hyperviseur -> La VM.
- Avantage : Assez rapide et Assez léger. Presque 100 % de la puissance du serveur va aux machines virtuelles. Il n'a souvent même pas d'écran : on le configure à distance via une page Web.
- Exemples : VMware ESXi, Proxmox VE (KVM), Microsoft Hyper-V.
5. Machine Virtuelle (VM) vs Conteneur (Docker)¶
Une question classique en entrevue : quelle est la différence ?
- Une Machine Virtuelle (VM) :
- C'est une maison complète. Elle a ses propres murs, sa plomberie. Une VM a son propre système d'exploitation complet (son propre noyau).
-
C'est très bien isolé et sécurisé, mais c'est lourd (plusieurs gigaoctets par VM) et long à démarrer.
- C'est une chambre dans un grand appartement.
- Il n'a pas son propre système d'exploitation : il partage le cœur (le noyau) du système Linux de l'hôte.
- C'est ultra-léger (quelques mégaoctets), ça démarre en 1 seconde, mais ça demande obligatoirement un système Linux pour tourner.
6. Le vocabulaire à retenir¶
- Hôte (Host) : La vraie machine physique qui fournit les pièces matérielles.
- Invité (Guest) : Le système d'exploitation qui roule dans la machine virtuelle.
- Migration à chaud : Déplacer une machine virtuelle d'un serveur physique à un autre pendant qu'elle tourne, sans couper les utilisateurs connectés.
- Surallocation (Overcommit) : Vendre plus de ressources logiques qu'on en a physiquement, en pariant que tous les serveurs ne seront pas à 100 % au même moment.
- Snapshot (Instantané) : Une photo de l'état de la VM à une seconde précise. Pratique pour revenir en arrière si une mise à jour plante tout.