Je vais essayé dans ce dossier de vous éclaircir sur le concept de conteneur, car ce concept est surement à l’origine d’une évolution majeur dans la gestion des systèmes.
Qu’est-ce qu’un conteneur ?
Un conteneur est un bloc dans lequel on va stocker une application ou ce que l’on appelle des micro-services et l’on va donner à ce bloc l’illusion que le système lui est dédié car chaque conteneur peut fonctionner indépendamment l’un de l’autre. En effet chaque conteneur contient tout ce qui est nécessaire à l’application ou au service pour fonctionner. Que ce soit les librairies ou les binaires. De ce fait ils sont très faciles à déployer et à gérer. On peut noter qu’en plus de ces qualités, ne dépendant pas du système sur lequel ils sont utilisés, les conteneurs sont scalables ce qui les rend plus adaptables et flexibles.
L’OS elle peut être mutualisée pour contenir plusieurs conteneurs ce qui ouvre plein de possibilités. On peut faire du « versioning » d’application sur un même système, faire des tests d’environnements : par exemple dans le cadre d’une application conteneuriser qui ferait appel à un lecteur de PDF, l’on peut tester le comportement de celle-ci en fonction de la version du lecteur de manière très simple. Par contre il est important de préciser que chaque conteneur doit être utilisé sur le type d’OS sur lequel est a été créé (Windows, Mac ou Linux)
De manière à mieux appréhender cette technologie voici un schéma qui montre le fonctionnement des conteneurs par rapport aux machines virtuelles.
Ici on peut voir que la couche « Gest OS » et « Hypervisor« sont tout simplement supprimés au profit du « Doker Engine », ce qui montre que l’on est plus obligé d’avoir un OS dédié car il est partagé et que le conteneur prend en compte les binaires ou librairies directement.
De rien Fadou 😉
Merci pour cet article ! Je comprends mieux les conteneur maintenant.