Orchestration de conteneur
cloud leadspace
Orchestration de conteneur

L'orchestration de conteneurs automatise et simplifie l'application des accès, le déploiement et la gestion des applications conteneurisées.

Produits à la une

Red Hat OpenShift on IBM Cloud

IBM Cloud Satellite

IBM Cloud Code Engine

IBM Cloud Kubernetes Service


Qu'est-ce que l'orchestration de conteneurs ?

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.


En savoir plus sur les conteneurs, et pourquoi ils ont besoin d'orchestration.

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.

Télécharger le rapport complet : les conteneurs dans l'entreprise

Fonctionnement de l'orchestration de conteneurs

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

  • Définit quelles images de conteneur composent l'application, et où elles se trouvent (dans quel registre)
  • Provisionne les conteneurs en stockage et autres ressources
  • Définit et sécurise les connexions réseau entre les conteneurs
  • Spécifie la gestion des versions (pour les déploiements phasés ou Canary)

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 

  • Gérer l'extensibilité (haut et bas), équilibrer les charges, et allouer les ressources parmi les conteneurs; 
  • Assurer la disponibilité et la performance en déplaçant les conteneurs vers un autre hôte dans le cas d'une indisponibilité ou d'une pénurie des ressources système
  • Collecter et stocker les données de journal et autres télémétries utilisées pour surveiller l'intégrité et les performances de l'application.

Avantages de l'orchestration de conteneurs


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é.


Kubernetes

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 :

  • Le déploiement de conteneurs. Kubernetes déploie un nombre de conteneurs précis sur un hôte donné et les maintient en fonctionnement dans  l'état souhaité. 
  • Les redéploiements. Un redéploiement est une modification apportée à un déploiement. Kubernetes permet de lancer, mettre en pause, reprendre ou annuler des redéploiements. 
  • La reconnaissance de service. Kubernetes peut automatiquement exposer un conteneur à Internet ou à d'autres conteneurs au moyen d'un nom DNS ou d'une adresse IP. 
  • L'application des accès de stockage. Les développeurs peuvent définir Kubernetes de manière à monter un espace de stockage local ou cloud permanent pour vos conteneurs selon vos besoins. 
  • L'équilibrage charge et  l'extensibilité. Lors d'un pic de trafic vers un conteneur, Kubernetes peut utiliser l'équilibrage de charge et l'extensibilité pour répartir le trafic à travers le réseau afin d'assurer stabilité et performance. (Cela évite également aux développeurs le travail de paramétrer un équilibreur de charge.)
  • L'auto-guérison pour la haute disponibilité. Lorsqu'un conteneur échoue, Kubernetes  peut le redémarrer ou le remplacer automatiquement. Il peut également stopper les conteneurs qui ne répondent pas à vos exigences en matière de contrôle d'état. 
  • L'accompagnement et la portabilité sur de multiples  fournisseurs de cloud. Comme indiqué précédemment, Kubernetes bénéficie d'une large prise en charge parmi tous les fournisseurs de cloud leaders. Ceci est particulièrement important pour les organisations qui déploient des applications sur un cloud hybride ou un environnement multicloud hybride.
  • Écosystème croissant des outils à code source ouvert. Kubernetes connaît aussi une constante expansion stable de facilité d'utilisation et des outils réseau pour étendre ses capacités via l'API Kubernetes. Ceux-ci incluent Knative, qui permet au conteneurs de fonctionner en tant que charges de travail sans serveur ; et Istio, un service de maillage à code source ouvert. 

En savoir plus sur Kubernetes


Orchestration de conteneurs et IBM Cloud

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 :

  • Découvrez comment déployer des clusters Kubernetes totalement gérés et hautement disponibles pour vos applications conteneurisées via un seul clic par le biais de Red Hat OpenShift sur IBM Cloud.
  • Déployez et gérez des applications conteneurisées de façon cohérente sur des environnements sur site, d'edge computing et de cloud public de tout fournisseur via IBM Cloud Satellite.
  • Exécutez  des images de conteneurs, des travaux par lots ou du code source en tant que charge de travail sans serveur - pas de dimensionnement, de déploiement , de mise en réseau ou de mise à l'échelle requis - avec IBM Cloud Code Engine .

Pour démarrer immédiatement, ouvrez  un compte  IBM Cloud.


Solutions connexes

Moderniser les applications

Créez, modernisez et gérez avec confiance les applications de façon sécurisée dans tous les clouds


Optimiser votre infrastructure informatique

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


Infrastructure informatique sur site

Exploiter des solutions d'infrastructure sur site ouvertes, flexibles et sécurisées pour mettre en œuvre votre stratégie de cloud hybride