Retour sur les 8 tendances émergentes de l’orchestration des conteneurs. Orchestrateur favori, influence sur la durée de vie et densité des conteneurs, l’heure est bien à la conteneurisation et à la gestion des volumes. L’objectif n’est-il pas d’éliminer les contraintes et effets des mises à jour d’applications ?
L’orchestration des conteneurs en 8 tendances
Technologies d’orchestration : quel écosystème ?
L’écosystème des technologies d’orchestration vient d’être passé à la loupe. Précisons le sujet avec Pierre Guceski, Developer Evangelist chez Datadog. Compilant des données d’usage d’entreprise, l’analyse Datadog met en exergue des indicateurs clés.
-
ECS l’emporte dans AWS, mais Kubernetes domine ailleurs
L’environnement dans lequel évoluent les conteneurs influence le choix de l’orchestrateur. La majorité des clients utilisant un orchestrateur de conteneurs dans AWS choisissent ECS (Elastic Container Service). Dans les autres environnements et datacenters sur site, la majorité opte pour Kubernetes.
-
Kubernetes en environnements Docker a gagné 11 points en 9 mois
La part de Kubernetes en environnements Docker est passée de 30% (janvier 2017) à 41% (octobre 2017).
Cette forte progression s’explique par trois raisons majeures et Pierre Guceski commente « Premièrement, en créant Kubernetes, Google a réussi à fédérer une large communauté sans égale qui s’est, aujourd’hui, appropriée l’outil. Cette popularité représente pour les développeurs et les décideurs l’assurance d’une variété de cas d’usage, de tutoriels et d’exemples de mise en œuvre sur lesquels ils peuvent s’appuyer pour développer et faire évoluer en toute confiance leurs propres applications. Deuxièmement, Kubernetes a démontré rapidité et stabilité, et s’avère une technologie facile à manager, automatisée, et extensible à grande échelle. Enfin, la nature open source de Kubernetes, contrairement à d’autres orchestrateurs de conteneurs propriétaires, lui confère une gouvernance ouverte très appréciée. Plusieurs entreprises inspirées par le succès et la maturité de l’outil proposent désormais leurs propres versions intégrant support et conseil ce qui augmente encore son adoption. Le marché semble désormais se cristalliser autour de Kubernetes disponible en versions open source ou “as a service” ».
-
ECS en environnements AWS Docker a gagné 7 points en 9 mois
En environnements AWS, les sociétés adoptent Amazon ECS pour gérer leurs conteneurs. En octobre 2017, ECS détenait 34% des parts des environnements Docker dans AWS (27% – janvier 2017).
- L’orchestration réduit de 40% la durée de vie des hôtes Docker
Au sein des clusters orchestrés par ECS ou Kubernetes, les hôtes ont une durée de vie moyenne d’environ 10 jours, contre 17 jours (hôtes Docker sans orchestration) et 23 jours (hôtes non-Docker). L’orchestration permet de se concentrer sur les services et charges de travail, et de traiter les hôtes comme des unités d’infrastructure consommables.
Pour préciser le sujet, Pierre Guceski ajoute « Pour expliquer ce phénomène d’hôtes Docker à la durée de vie de plus en plus courte, il faut comprendre qu’une des vocations de la conteneurisation est d’éliminer les contraintes et les effets perturbateurs des mises à jour d’applications. Contrairement aux architectures historiquement monolithiques, la conteneurisation consiste à découper une application en une association de “petites briques” chacune représentant une fonctionnalité, un service appartenant à cette application »
Et de poursuivre « Cela s’inscrit dans la logique Continuous Integration/ Continuous Deployment en vogue depuis plusieurs années qui permet de gagner en agilité et de raccourcir les cycles de développement. En effet, cette logique consiste à pousser en production un développement dès lors que celui-ci a été testé afin de pouvoir observer son comportement en environnement réel, et il est bien plus aisé de mettre à jour une seule petite brique qu’une application tout entière »
« Une autre logique à l’œuvre, ici, est de proposer un système de production toujours plus immuable afin d’éviter tous les effets de bord que peuvent rencontrer de grosses équipes de développement.
C’est-à-dire que l’environnement de production une fois déployé pour une version donnée ne changera jamais de sa version d’origine tant qu’il n’est pas mis à jour, tout d’abord pour éviter toute déstabilisation de l’application, mais aussi pour assurer à chaque développeur une connaissance parfaite de l’état du système de production. Dès lors qu’une fonctionnalité ou qu’un service est mis à jour, on détruit alors le conteneur Docker correspondant pour en créer un nouveau incluant les nouveaux développements assurant ainsi l’immutabilité : on ne met pas à jour un conteneur, on le détruit pour en créer un nouveau. Les entreprises aspirant à faire converger ces deux logiques voient leur fréquence de recyclage des conteneurs augmenter, ce qui réduit de facto leur durée de vie »
-
Les conteneurs Kubernetes se renouvellent 8 fois plus vite que les conteneurs ECS
En environnement Kubernetes, les conteneurs ont une durée de vie de 1,5 jour (12 jours pour les conteneurs orchestrés par ECS). Cet écart est, en partie, dû à la disponibilité des objets Kubernetes (jobs mettant fin automatiquement aux conteneurs une fois qu’ils ont achevé leur exécution)
-
ECS exécute moins d’images standards
Au sein des clusters Kubernetes, on observe un large déploiement d’images de conteneurs pour les technologies NGINX, Elasticsearch, Postgres. Au sein des clusters ECS, on note une très faible adoption des images courantes de conteneurs publiquement disponibles. De nombreux utilisateurs d’ECS ont, probablement, adopté des services AWS hébergés, Amazon Relational Database Service, Amazon ElasticSearch Service, et Amazon Simple Queue Service, plutôt que des services conteneurisés de ces composants d’architecture.
-
La densité de conteneurs de Kubernetes est 3 fois supérieure à celle d’ECS
Chaque hôte qui utilise Kubernetes exécute environ neuf conteneurs sur une période d’échantillonnage de 5 minutes (3 conteneurs en environnements ECS). Les utilisateurs de Kubernetes exécutent de nombreux conteneurs légers à courte durée de vie et ECS gère des conteneurs à durée de vie plus longue de type applications indépendantes.
-
Les entreprises combinent conteneurs les plus récents avec versions spécifiques
En extrayant une image de conteneur d’un hub Docker ou d’un autre registre, l’utilisateur retrouve une version spécifique d’une image à partir d’un tag. 74% des entreprises utilisent un mélange de tags (visant à extraire l’image la plus récente dans certains cas et une version particulière dans d’autres), 16% utilisent exclusivement le tag le plus récent et 10% un tag spécifique exclusivement.
Source Datadog
Téléchargez cette ressource
Livre blanc Sécurité et Stockage des documents
Découvrez dans ce livre blanc Kyocera les outils logiciels qui permettent une approche holistique et efficace de la collecte, du stockage, de la gestion et de la sécurisation des documents en entreprise.