Conteneur (container)
La virtualisation à base de conteneurs est une méthode de virtualisation dans laquelle la couche de virtualisation s'exécute au sein même du système d'exploitation (OS).
Dans cette approche, le noyau de l'OS hôte exécute directement plusieurs machines virtuelles (VM) invitées et autonomes sans passer par une couche logicielle supplémentaire. Ces machines invitées s'appellent des conteneurs/containers.
Les conteneurs permettent donc de s'affranchir des hyperviseurs et de la gestion qui découle de l'exécution, sur chaque VM, d'un système d'exploitation invité. Cette approche permet d'améliorer les performances, puisqu'un seul et unique système d'exploitation (l'hôte) se charge des appels matériels. Elle permet également d'héberger sur un serveur beaucoup plus d'instances virtualisées que la virtualisation traditionnelle.
En revanche, inconvénient de la virtualisation par conteneurs, chaque invité doit utiliser le même OS que celui de la machine sur laquelle ils tournent (on ne peut donc pas faire tourner une application Windows sur un conteneur Linux).
Un environnement virtuel basé sur les conteneurs constitue néanmoins un choix idéal pour des fournisseurs qui recherchent un moyen de virtualisation plus léger que les VM avec hyperviseur, par exemple pour exécuter des microservices.
Le conteneur le plus populaire est Docker (il s'agit en fait d'un conteneur Linux - LXC - augmenté). L'outil d'orchestration le plus connu est Kubernetes (initialement conçu par Google, grand utilisateur de conteneurs, pour ses propres infrastructures virualisée).