Conteneurisation et orchestration.
Vous avez peut-être rencontré ces deux termes dans le monde DevOps, surtout si vous êtes un administrateur système.
Il existe déjà de nombreux articles qui ont tenté d'expliquer la différence entre la conteneurisation et l'orchestration, mais la plupart d'entre eux concentrent leur comparaison sur Docker et Kubernetes.
Avant de différencier les logiciels, il est essentiel de comprendre d'abord la différence entre leur objectif, la raison pour laquelle ils ont été développés en premier lieu.
Donc, dans cette lecture rapide, j'ai essayé d'explorer ce que les termes conteneurisation et orchestration signifient réellement en tant que concepts de base pour les débutants et les débutants.
Comment différencier conteneurisation et orchestration ? Utilisons une analogie.
Le point de vue d'un profane sur la conteneurisation et l'orchestration
Le mot conteneur représente un grand cuboïde isolé dans un environnement individuel. Ces conteneurs stockent des marchandises et sont chargés sur un navire.
Vous pouvez l'imaginer comme les conteneurs amarrés sur un navire dans un chantier naval.
"Docked", "Dockyard" et "Docker" ! Ces termes vous disent-ils quelque chose ?
Le mot orchestre représente un groupe de musiciens interprétant une note de musique en parfaite synchronisation, aidés par un chef d'orchestre ou autrement appelé violon solo.
Cette harmonie musicale parfaitement synchronisée est ce que vous appelez l'orchestration.
Maintenant, quand vous regardez cela avec une perspective DevOps et essayez de comprendre comment cette idée a été adoptée pour la gestion des applications exécutées dans les systèmes informatiques, vous devez remplacer les musiciens par des "navires" conteneurs.
Les applications que j'ai mentionnées ici sont très comparables à la cargaison contenue dans le conteneur d'un navire.
Ainsi, vous pouvez visualiser le logiciel Docker comme un navire, amarré à différents conteneurs exécutant différentes applications. La façon dont ce navire est dirigé dépend du "quart-maître". Docker conteneurise une application pour qu'elle s'exécute comme une seule unité isolée.
Tout comme un quartier-maître est chargé de surveiller de près la navigation, la direction et les signaux sur un navire, Docker est responsable de la gestion efficace des conteneurs fonctionnant sur un système informatique.
Notez que ces conteneurs exécutent des applications individuelles dans leurs propres environnements isolés basés sur le système d'exploitation en tant que machines virtuelles ou serveurs physiques.
Plusieurs conteneurs peuvent s'exécuter sur une seule machine virtuelle ou un seul serveur. Vous pouvez penser à ces machines virtuelles ou serveurs représentés comme des navires.
Comment pouvez-vous maintenant visualiser Kubernetes sur les mêmes lignes ? Pensez à plusieurs navires maintenant.
Chacun de ces navires transporte plusieurs conteneurs. Kubernetes orchestre plusieurs machines virtuelles ou nœuds pour qu'ils s'exécutent en parfaite synchronisation les uns avec les autres.
Bien que le terme Kubernetes signifie timonier ou pilote d'un navire, notre analogie serait mieux comprise si nous relions ce terme à un "capitaine de port".
Tout comme un capitaine de port parvient à "orchestrer" une multitude de navires arrivant ou quittant un port de navire, Kubernetes fait la même chose mais avec plusieurs machines virtuelles qui exécutent différents conteneurs. S'il n'y a qu'un seul navire (système), vous pouvez toujours utiliser la même analogie pour plusieurs conteneurs.
Vous pouvez toujours continuer à utiliser le mot "performance". Mais au lieu d'une performance musicale dans un orchestre ou d'une performance de flotte dans un port, vous avez maintenant une performance système sur un serveur.
J'espère que vous pouvez maintenant visualiser clairement la différence fondamentale entre la conteneurisation et l'orchestration sur des serveurs physiques.
Sur la base de cette compréhension, concluons maintenant avec quelques définitions simples pour les deux.
Conteneurisation
La conteneurisation est l'isolement des applications pour le déploiement dans des environnements basés sur des systèmes d'exploitation individuels à l'intérieur de machines virtuelles ou de serveurs physiques, également appelés nœuds en général. Un exemple d'un tel outil de conteneurisation est Docker.
Orchestration
L'orchestration est la méthode de synchronisation de plusieurs conteneurs exécutés sur plusieurs nœuds, ainsi que des nœuds eux-mêmes. Ces nœuds peuvent être des machines virtuelles ou des serveurs physiques. Un exemple d'un tel outil d'orchestration est Kubernetes.
Notez que Kubernetes est également capable d'effectuer la conteneurisation, tout comme Docker Swarm peut effectuer l'orchestration.
J'espère que vous trouverez cet article utile, et maintenant vous pouvez faire la distinction entre les deux concepts grâce à l'analogie décrite. Si vous souhaitez partager des commentaires, des suggestions ou des commentaires, veuillez utiliser la section ci-dessous.