L'orchestration de conteneurs automatise l'application des accès, le déploiement, la mise en réseau, l'évolutivité, la disponibilité et la gestion du cycle de vie des conteneurs. Aujourd'hui, Kubernetes est la plateforme d'orchestration de conteneurs la plus populaire, et la plupart des fournisseurs leaders en matière de cloud public - y compris Amazon Web Services (AWS), Google Cloud Platform, IBM Cloud et Microsoft Azure - proposent des services Kubernetes gérés. D'autres outils d'orchestration de conteneurs incluent Docker Swarm et Apache Mesos.
Les conteneurs sont des composants d'application exécutables légers qui combinent du code source d'application avec toutes les bibliothèques et dépendances de système d'exploitation nécessaires pour exécuter le code dans tout environnement.
La possibilité de créer des conteneurs existe depuis des décennies, mais elle est devenue largement disponible en 2008 lorsque Linux a inclus la fonctionnalité conteneur au sein de son noyau, et largement utilisée avec l'arrivée de la plateforme de conteneurisation à code source ouvert Docker en 2013. (Docker est si populaire que « conteneurs Docker » et « conteneurs » sont souvent utilisés de manière interchangeable.)
Parce qu'ils sont plus petits, plus économes en ressources et plus transférables que les machines virtuelles (VM), les conteneurs - et plus spécifiquement, les microservices conteneurisés ou les fonctions sans serveur - sont devenus de facto les unités de calcul des applications cloud natives modernes. (Pour en savoir plus sur les avantages des conteneurs voir la visualisation de données interactive ci-dessous)
En petit nombre, les conteneurs sont assez faciles à déployer et à gérer manuellement. Mais dans la plupart des organisations, le nombre d' applications conteneurisées grandit rapidement, et les gérer à grande échelle - notamment en tant que composant d'une intégration continue/prestation de services en continu (intervalle de contrôle/distribution continue) ou pipeline DevOps - est impossible sans automatisation.
Entrez dans l'orchestration de conteneurs, qui automatise les tâches d'exploitation qui concernent le déploiement et le fonctionnement des applications conteneurisées et des services. Selon les dernières recherches IBM (PDF, 1,4 Mo), 70 % des développeurs qui utilisent des conteneurs déclarent utiliser une solution d'orchestration de conteneurs et 70 % d'entre eux déclarent utiliser un service d'orchestration de conteneurs entièrement géré (géré dans le cloud) dans leur organisation.
Bien qu'il existe des différences dans les méthodologies et les capacités entre les outils, l'orchestration de conteneurs est essentiellement un processus en trois étapes (ou un cycle, lorsqu'elle fait partie d'un pipeline itératif agile ou DevOps ).
La plupart des outils d'orchestration de conteneurs prennent en charge un modèle de configuration déclaratif : un développeur rédige un fichier de configuration (en YAML ou JSON en fonction de l'outil) qui définit l'état de configuration désiré, et l'outil d'orchestration exploite le fichier et utilise sa propre intelligence pour obtenir cet état. Le fichier de configuration généralement
L'outil d'orchestration programme le déploiement des conteneurs (et des répliques des conteneurs, pour la résilience) vers un hôte, en choisissant le meilleur hôte en fonction de la capacité du CPU disponible, de la mémoire ou d'autres exigences ou contraintes spécifiées dans le fichier de configuration.
Une fois les conteneurs déployés, l'outil d'orchestration gère le cycle de vie de l' application conteneurisée en se basant sur le fichier de définition du conteneur (très souvent un Dockerfile). Ceci comprend
Il est probablement clair que le principal avantage de l'orchestration de conteneurs est l'automatisation - et pas seulement parce que cela réduit considérablement l'effort et la complexité de la gestion d'un grand domaine d' application conteneurisée . En automatisant les opérations, l'orchestration prend en charge une approche agile ou DevOps qui permet aux équipes de développer et de déployer selon des cycles itératifs rapides, et de présenter de nouvelles fonctions et capacités plus rapidement.
En outre, l'intelligence d'un outil d'orchestration peut améliorer ou étendre de nombreux avantages inhérents à la conteneurisation. Par exemple, la sélection d'hôte et l'allocation de ressources automatisées , sur la base de la configuration déclarative , maximisent l'utilisation efficace des ressources informatiques ; la surveillance de l'intégrité automatisée et la réimplantation des conteneurs maximisent la disponibilité.
Comme noté ci-dessus, Kubernetes est la plateforme d'orchestration de conteneurs la plus populaire. Avec d'autres outils dans l'écosystème de conteneurs, Kubernetes permet à une entreprise de distribuer un produit hautement productif plateforme sous forme de services (PaaS) qui traite de nombreuses tâches et problèmes liés à l'infrastructure et aux opérations liées au développement d'applications cloud natives , afin que les équipes de développement se cocnentre exclusivement sur la codification et l'innovation.
Les avantages de Kubernetes sur d'autres solutions d'orchestration sont en grande partie le résultat de sa fonctionnalité plus complète et sophistiquée dans plusieurs domaines, dont :
Les conteneurs sont idéaux pour moderniser vos applications et optimiser votre infrastructure IT. Les services de conteneurs d' IBM Cloud, qui reposent sur des technologies open source comme Kubernetes, Knative et Istio, peuvent faciliter et accélérer votre transition vers le développement d'applications cloud natives et vers une approche de cloud hybride ouvert qui intègre les meilleurs dispositifs et fonctions du cloud privé, du cloud public et de l'infrastructure informatique sur site.
Pour aller plus loin :
Pour démarrer immédiatement, ouvrez un compte IBM Cloud.
Créez, modernisez et gérez avec confiance les applications de façon sécurisée dans tous les clouds
Une stratégie de cloud hybride ouverte qui permet de générer et de gérer des charges de travail depuis n'importe où, sans enfermement propriétaire
Exploiter des solutions d'infrastructure sur site ouvertes, flexibles et sécurisées pour mettre en œuvre votre stratégie de cloud hybride