Comment un fournisseur cloud peut-il héberger des milliers de clients sur les mêmes serveurs physiques sans qu’ils ne se « voient » entre eux ? La réponse tient en deux concepts fondamentaux : la mutualisation (partager les ressources pour réduire les coûts) et l’isolation (garantir que chaque client dispose de son espace privé et sécurisé). Ce guide vous explique les technologies qui rendent cela possible — de la virtualisation aux conteneurs.
Ce que vous allez apprendre
Section intitulée « Ce que vous allez apprendre »- Comprendre pourquoi le cloud mutualise les ressources (et pourquoi c’est avantageux)
- Distinguer les différents niveaux d’isolation (physique, virtuelle, applicative)
- Connaître le fonctionnement de la virtualisation et des hyperviseurs
- Comprendre les conteneurs et en quoi ils diffèrent des machines virtuelles
- Savoir choisir entre virtualisation et conteneurisation selon le contexte
- Découvrir l’offre des fournisseurs européens et souverains
Prérequis : aucun. Ce guide part de zéro et explique chaque concept progressivement.
Pourquoi mutualiser les ressources ?
Section intitulée « Pourquoi mutualiser les ressources ? »Le problème du datacenter traditionnel
Section intitulée « Le problème du datacenter traditionnel »Imaginez une entreprise qui achète un serveur physique pour faire tourner une application. Ce serveur dispose de 32 cœurs CPU et 128 Go de RAM. Mais l’application n’utilise en moyenne que 15% de ces ressources — le reste est gaspillé, tout en consommant de l’électricité et en occupant de l’espace dans le datacenter.
Multipliez ce scénario par des milliers d’applications : le gaspillage devient colossal. C’est exactement ce qui se passait dans les datacenters traditionnels avant l’essor du cloud et de la virtualisation.
| Modèle | Utilisation moyenne des ressources | Coût par application |
|---|---|---|
| 1 serveur = 1 application | 10-20% | Élevé (matériel dédié) |
| Virtualisation | 60-80% | Moyen (partagé) |
| Conteneurisation | 80-95% | Faible (très dense) |
La mutualisation : partager pour économiser
Section intitulée « La mutualisation : partager pour économiser »Le principe est simple : au lieu de dédier un serveur physique à chaque application, on partage ce serveur entre plusieurs applications (ou plusieurs clients). Chacun utilise les ressources dont il a besoin, quand il en a besoin.
L’analogie de l’immeuble : plutôt que de construire une maison individuelle pour chaque famille (coûteux en terrain et en construction), on construit un immeuble avec plusieurs appartements. Chaque famille dispose de son espace privé, mais les fondations, la toiture et les parties communes sont partagées.
Les bénéfices de la mutualisation
Section intitulée « Les bénéfices de la mutualisation »La mutualisation apporte des avantages pour toutes les parties :
Pour le fournisseur cloud :
- Meilleure rentabilité de l’infrastructure
- Économies d’échelle sur l’achat de matériel
- Optimisation de la consommation énergétique
Pour le client :
- Coûts réduits (on ne paie que ce qu’on utilise)
- Pas d’investissement initial en matériel
- Élasticité (augmenter ou réduire les ressources à la demande)
L’isolation : le garde-fou indispensable
Section intitulée « L’isolation : le garde-fou indispensable »Pourquoi l’isolation est critique
Section intitulée « Pourquoi l’isolation est critique »Si mutualiser les ressources était simple, tout le monde le ferait depuis longtemps. Le défi majeur est de garantir l’isolation entre les différents utilisateurs qui partagent le même matériel :
- Sécurité : le client A ne doit jamais pouvoir accéder aux données du client B
- Performance : une application gourmande ne doit pas ralentir ses voisins
- Stabilité : un crash d’une application ne doit pas affecter les autres
L’analogie de l’immeuble (suite) : dans un immeuble, chaque appartement a ses murs, sa serrure, son compteur électrique. Le voisin bruyant ne doit pas vous empêcher de dormir, et une fuite d’eau chez lui ne doit pas inonder votre appartement.
Les niveaux d’isolation
Section intitulée « Les niveaux d’isolation »Il existe plusieurs façons d’isoler des charges de travail (workloads) sur une infrastructure partagée :
| Niveau | Technologie | Isolation | Performance | Densité |
|---|---|---|---|---|
| Physique | Serveur dédié | Maximale | Maximale | Très faible |
| Matérielle | Virtualisation (VM) | Forte | Bonne | Moyenne |
| Système | Conteneurs | Moyenne | Excellente | Élevée |
| Applicative | Processus/sandboxing | Faible | Variable | Très élevée |
Plus on monte dans le tableau, plus l’isolation est forte mais plus on sacrifie en densité (nombre de workloads par serveur) et en performance (overhead de la couche d’isolation).
La virtualisation : des serveurs dans le serveur
Section intitulée « La virtualisation : des serveurs dans le serveur »Qu’est-ce que la virtualisation ?
Section intitulée « Qu’est-ce que la virtualisation ? »La virtualisation consiste à créer des machines virtuelles (VM) qui se comportent comme des ordinateurs complets et indépendants, mais qui tournent en réalité sur un seul serveur physique. Chaque VM dispose de son propre système d’exploitation, de sa mémoire « virtuelle », de ses disques virtuels.
L’analogie : c’est comme diviser un grand terrain en plusieurs parcelles, chacune avec sa maison complète (fondations, murs, toit). Les maisons sont indépendantes, mais elles partagent le même terrain.
L’hyperviseur : le chef d’orchestre
Section intitulée « L’hyperviseur : le chef d’orchestre »Pour créer et gérer des machines virtuelles, on utilise un logiciel spécialisé appelé hyperviseur. C’est lui qui :
- Découpe les ressources physiques (CPU, RAM, disque) en ressources virtuelles
- Alloue ces ressources aux différentes VM
- Assure l’isolation entre les VM
- Gère les accès au matériel
Il existe deux types d’hyperviseurs :
L’hyperviseur s’installe directement sur le matériel, sans système d’exploitation intermédiaire. C’est le standard dans les datacenters et le cloud.
Caractéristiques :
- Performance optimale (pas de couche OS intermédiaire)
- Sécurité renforcée (surface d’attaque réduite)
- Gestion centralisée des VM
Exemples :
- VMware vSphere/ESXi : leader historique, utilisé par de nombreux clouds privés
- Microsoft Hyper-V : intégré à Windows Server, base d’Azure
- KVM (Kernel-based Virtual Machine) : open source, intégré au noyau Linux, utilisé par Outscale, OVHcloud, Scaleway, GCP
- Xen : open source, utilisé historiquement par AWS
L’hyperviseur s’installe par-dessus un système d’exploitation existant (Windows, macOS, Linux). Idéal pour le développement et les tests.
Caractéristiques :
- Installation simple sur un poste de travail
- Performance moindre (couche OS supplémentaire)
- Adapté aux environnements de développement
Exemples :
- VirtualBox : gratuit, multi-plateforme (Oracle)
- VMware Workstation/Fusion : commercial, très complet
- Parallels Desktop : populaire sur macOS
- GNOME Boxes : intégré aux distributions Linux GNOME
Comment fonctionne une VM ?
Section intitulée « Comment fonctionne une VM ? »Quand vous créez une machine virtuelle, voici ce qui se passe « sous le capot » :
-
Allocation des ressources virtuelles
L’hyperviseur réserve une partie des ressources physiques pour la VM : 4 vCPU (cœurs virtuels), 8 Go de RAM virtuelle, 100 Go de disque virtuel. Ces ressources sont « découpées » dans le pool de ressources du serveur physique.
-
Création du matériel virtuel
L’hyperviseur simule tout le matériel d’un ordinateur : carte mère virtuelle, BIOS/UEFI virtuel, carte réseau virtuelle, contrôleur de disque virtuel. La VM « croit » tourner sur un vrai ordinateur.
-
Installation du système d’exploitation
Vous installez un OS complet dans la VM : Linux, Windows, FreeBSD… Cet OS ne sait pas qu’il tourne dans une VM — pour lui, c’est un ordinateur normal.
-
Isolation par l’hyperviseur
L’hyperviseur intercepte tous les accès au « matériel » et les traduit en accès réels. Il garantit que la VM ne peut accéder qu’à ses propres ressources, jamais à celles des autres VM.
Avantages et limites de la virtualisation
Section intitulée « Avantages et limites de la virtualisation »La virtualisation a révolutionné la gestion des datacenters depuis les années 2000. Mais comme toute technologie, elle présente des compromis qu’il faut comprendre pour bien l’utiliser.
Avantages :
La virtualisation apporte cinq bénéfices majeurs qui expliquent son adoption massive dans l’industrie. L’isolation forte est particulièrement importante pour les environnements multi-tenant où la sécurité est critique.
| Avantage | Explication |
|---|---|
| Isolation forte | Chaque VM a son propre noyau OS — une faille dans une VM n’affecte pas les autres |
| Flexibilité OS | Chaque VM peut avoir un OS différent (Linux, Windows, BSD…) |
| Snapshots | On peut « photographier » l’état d’une VM et y revenir plus tard |
| Migration à chaud | Déplacer une VM d’un serveur à un autre sans interruption |
| Maturité | Technologie éprouvée depuis 20+ ans |
Limites :
Ces limites ont motivé l’émergence de la conteneurisation. L’overhead d’un OS complet par VM devient problématique quand on veut exécuter des centaines de microservices.
| Limite | Explication |
|---|---|
| Overhead | Chaque VM embarque un OS complet (plusieurs Go de RAM, du CPU pour le noyau) |
| Démarrage lent | Une VM démarre en dizaines de secondes à plusieurs minutes |
| Densité limitée | On peut héberger 10-50 VM par serveur, rarement plus |
| Gestion complexe | Chaque VM est un serveur à administrer (mises à jour, patches…) |
La conteneurisation : l’isolation légère
Section intitulée « La conteneurisation : l’isolation légère »Qu’est-ce qu’un conteneur ?
Section intitulée « Qu’est-ce qu’un conteneur ? »Un conteneur est une forme d’isolation plus légère qu’une VM. Au lieu de virtualiser tout le matériel et d’installer un OS complet, le conteneur partage le noyau de l’OS hôte et n’embarque que l’application et ses dépendances.
L’analogie : si la VM est une maison complète sur un terrain partagé, le conteneur est plutôt une cabine préfabriquée. Elle offre un espace privé, mais partage les fondations, l’électricité et la plomberie avec les autres cabines.
Virtualisation vs Conteneurisation
Section intitulée « Virtualisation vs Conteneurisation »Cette illustration montre la différence fondamentale entre les deux approches :
Virtualisation (gauche) :
- Chaque VM embarque son propre système d’exploitation complet, y compris le noyau
- L’hyperviseur fait le lien entre les VM et le matériel physique
- Plus de couches = plus d’overhead, mais isolation maximale
Conteneurisation (droite) :
- Tous les conteneurs partagent le même noyau de l’OS hôte
- Le container runtime (Docker, containerd, Podman…) gère l’isolation
- Moins de couches = démarrage rapide et haute densité, mais isolation plus légère
Comment fonctionne un conteneur ?
Section intitulée « Comment fonctionne un conteneur ? »Les conteneurs reposent sur des fonctionnalités du noyau Linux qui permettent d’isoler des processus sans virtualiser le matériel :
-
Namespaces : l’isolation des ressources
Les namespaces créent des « vues » séparées du système pour chaque conteneur. Chaque conteneur a l’impression d’avoir :
- Son propre système de fichiers (mount namespace)
- Ses propres processus (PID namespace) — le processus 1 du conteneur n’est pas le vrai PID 1
- Son propre réseau (network namespace) — sa propre interface réseau, ses propres ports
- Ses propres utilisateurs (user namespace)
-
Cgroups : le contrôle des ressources
Les cgroups (control groups) limitent et comptabilisent les ressources que peut utiliser un conteneur :
- Limite de CPU (ex: 2 cœurs maximum)
- Limite de RAM (ex: 4 Go maximum)
- Limite de bande passante réseau ou disque
-
Image conteneur : le packaging
Une image conteneur est un package qui contient tout ce dont l’application a besoin : binaires, bibliothèques, fichiers de configuration. Elle est construite couche par couche, ce qui permet de réutiliser les couches communes entre plusieurs images.
-
Container runtime : l’exécution
Le runtime (Docker Engine, containerd, CRI-O, Podman…) utilise les namespaces et cgroups pour lancer et gérer les conteneurs à partir des images.
Avantages et limites des conteneurs
Section intitulée « Avantages et limites des conteneurs »Les conteneurs ont été popularisés par Docker en 2013, mais les technologies sous-jacentes (namespaces, cgroups) existent dans Linux depuis 2008. Leur adoption a explosé avec les architectures microservices.
Avantages :
Les conteneurs excellent dans les scénarios de déploiement rapide et de scaling horizontal. Leur légèreté permet d’atteindre des densités impossibles avec les VM.
| Avantage | Explication |
|---|---|
| Légèreté | Pas d’OS complet à embarquer — une image fait souvent 50-500 Mo |
| Démarrage instantané | Un conteneur démarre en millisecondes |
| Haute densité | Des centaines de conteneurs sur un seul serveur |
| Portabilité | « Build once, run anywhere » — l’image tourne partout |
| Reproductibilité | L’image garantit un environnement identique partout |
Limites :
Ces limites expliquent pourquoi les conteneurs ne remplacent pas totalement les VM. Dans les environnements à haute sécurité ou nécessitant plusieurs OS, la virtualisation reste pertinente.
| Limite | Explication |
|---|---|
| Même noyau | Impossible de faire tourner Windows et Linux sur le même hôte |
| Isolation plus faible | Le noyau partagé est un risque potentiel |
| Complexité orchestration | Gérer des milliers de conteneurs nécessite Kubernetes ou équivalent |
| Stockage éphémère | Par défaut, les données sont perdues quand le conteneur s’arrête |
Comparaison détaillée : VM vs Conteneurs
Section intitulée « Comparaison détaillée : VM vs Conteneurs »Tableau récapitulatif
Section intitulée « Tableau récapitulatif »Ce tableau synthétise les différences clés entre les deux technologies. Gardez à l’esprit que ces valeurs sont indicatives — les performances réelles dépendent de votre configuration et de vos workloads. L’important est de comprendre les ordres de grandeur pour faire un choix éclairé.
| Critère | Machine Virtuelle | Conteneur |
|---|---|---|
| Isolation | Forte (hyperviseur + OS séparé) | Moyenne (namespaces/cgroups) |
| Taille | Plusieurs Go (OS complet) | Dizaines à centaines de Mo |
| Démarrage | 30s à plusieurs minutes | Quelques millisecondes |
| Densité | 10-50 par serveur | 100-1000+ par serveur |
| OS | Chaque VM peut avoir un OS différent | Tous partagent le même noyau |
| Overhead CPU/RAM | 5-15% | < 2% |
| Cas d’usage | Workloads lourds, isolation stricte | Microservices, CI/CD, scaling |
| Orchestration | vSphere, OpenStack, Proxmox | Kubernetes, Docker Swarm, Nomad |
Quand choisir quoi ?
Section intitulée « Quand choisir quoi ? »Choisir la virtualisation si...
- Vous avez besoin d’une isolation maximale entre les workloads
- Vous devez faire tourner des OS différents (Linux + Windows)
- Vous migrez des applications legacy conçues pour des serveurs
- Vous avez des contraintes réglementaires strictes (données sensibles)
- Vous voulez des snapshots et de la migration à chaud
Choisir les conteneurs si...
- Vous développez des microservices ou des applications cloud-native
- Vous avez besoin de scaling rapide (monter/descendre en secondes)
- Vous voulez optimiser les coûts (haute densité)
- Vous pratiquez le CI/CD avec des déploiements fréquents
- Vous voulez de la portabilité entre environnements (dev, staging, prod)
La réalité : une combinaison des deux
Section intitulée « La réalité : une combinaison des deux »Dans la pratique, les architectures cloud modernes combinent souvent les deux approches. Cette architecture « VM + conteneurs » est devenue le standard de l’industrie car elle offre le meilleur des deux mondes.
Ce schéma illustre comment un serveur physique héberge plusieurs clients isolés :
-
L’hyperviseur (KVM) crée une frontière infranchissable entre les clients A et B. Même si un attaquant compromet entièrement la VM du client A, il ne peut pas atteindre le client B. Cette isolation forte justifie la facturation séparée et les garanties de sécurité des fournisseurs cloud.
-
Kubernetes à l’intérieur de chaque VM orchestre les conteneurs. Le client A fait tourner 3 microservices (API, Worker, DB), le client B en fait tourner 4 (Front, API, Cache, DB). Les conteneurs démarrent en millisecondes et peuvent être répliqués automatiquement selon la charge.
-
La densité est optimisée : un seul serveur physique peut héberger des dizaines de VM, chacune contenant des dizaines de conteneurs — soit potentiellement des centaines de microservices par machine.
C’est exactement ce que font les services Kubernetes managés comme EKS (AWS), AKS (Azure), GKE (GCP), OKE (Outscale), OVHcloud Managed Kubernetes ou Scaleway Kapsule.
Les technologies émergentes
Section intitulée « Les technologies émergentes »Microvm et isolation renforcée
Section intitulée « Microvm et isolation renforcée »Le dilemme « isolation forte vs légèreté » a poussé l’industrie à innover. L’objectif : obtenir une isolation proche de celle des VM, mais avec des temps de démarrage et une consommation de ressources proches des conteneurs. Ces technologies sont particulièrement importantes pour les offres serverless où le fournisseur doit isoler des milliers de fonctions de clients différents sur les mêmes serveurs.
| Technologie | Description | Utilisé par |
|---|---|---|
| Firecracker | MicroVM ultra-légère, démarre en < 125 ms | AWS Lambda, Fargate |
| gVisor | Noyau Linux « en sandbox » pour conteneurs | Google Cloud Run |
| Kata Containers | Conteneurs avec isolation VM légère | OpenStack, Red Hat |
| AWS Nitro | Hyperviseur hardware dédié | AWS EC2 |
Ces technologies offrent une isolation proche des VM avec des performances proches des conteneurs.
Unikernels et spécialisation
Section intitulée « Unikernels et spécialisation »Les unikernels poussent la spécialisation encore plus loin : au lieu d’embarquer un OS généraliste, on compile l’application avec uniquement les fonctions du noyau dont elle a besoin. Le résultat est une « image » ultra-légère (quelques Mo) qui démarre en millisecondes.
Exemples : MirageOS, OSv, Unikraft.
À retenir
Section intitulée « À retenir »-
La mutualisation permet de partager les ressources physiques entre plusieurs clients, réduisant les coûts pour tous.
-
L’isolation garantit que chaque client dispose d’un espace sécurisé et que les problèmes d’un voisin n’affectent pas les autres.
-
La virtualisation (VM) offre une isolation forte via un hyperviseur, mais avec un overhead significatif (OS complet par VM).
-
Les conteneurs partagent le noyau de l’OS hôte et offrent légèreté et rapidité, mais avec une isolation plus légère.
-
Les architectures modernes combinent VM et conteneurs : VM pour l’isolation entre clients, conteneurs pour la densité à l’intérieur.
-
Les fournisseurs européens (Outscale, OVHcloud, Scaleway, Infomaniak, Hetzner…) offrent des alternatives souveraines aux hyperscalers américains.
-
Des technologies comme Firecracker et Kata Containers cherchent à offrir le meilleur des deux mondes (isolation VM + légèreté conteneur).