Kubernetes, désormais proposé par AWS, Azure et Google Cloud Platform (GCP) conserve une popularité dominante ; Fargate déjà utilisé dans AWS par 6% des entreprises
Telles sont les premières conclusions du nouveau rapport sur l’orchestration des conteneurs que vient de publier fournisseur de la première plateforme de monitoring et d’analyse des environnements cloud Datadog. Alors que les conteneurs occupent une place croissante dans l’infrastructure avec Docker au premier plan, les entreprises ajoutent l’automatisation et l’orchestration pour les aider à gérer leur flotte de conteneurs éphémères. Quel que soit l’environnement, les données montrent une utilisation accrue des technologies d’orchestration de conteneurs telles que Kubernetes, Amazon Elastic Container Service (ECS), ainsi que le nouveau service AWS Fargate, orchestration des conteneurs selon le modèle serverless (voir encadré ci-dessous). Les entreprises qui utilisent ces technologies ont tendance à avoir des déploiements plus importants et beaucoup plus dynamiques que les entreprises ayant des conteneurs non orchestrés.
Parmi les 8 tendances fortes actuelles de l’orchestration des conteneurs :
1-Kubernetes orchestre la plupart des environnements de conteneurs GCP et Azure
Kubernetes utilisé sur toutes les plates-formes d’infrastructure, est le plus populaire sur GCP (Google Cloud Platform). Parmi les organisations qui gèrent des conteneurs dans GCP, plus de 85 % orchestrent les charges de travail avec Kubernetes. Environ 65 % des organisations utilisant des conteneurs dans Azure exploitent également Kubernetes.
2-Kubernetes poursuit sa croissance
Un tiers des clients de Datadog exécutant des conteneurs utilisent désormais Kubernetes, que ce soit dans des clusters autogérés ou via un service de cloud comme Google Kubernetes Engine (GKE), Azure Kubernetes Service (AKS) ou le nouvel Amazon Elastic Container Service for Kubernetes (EKS). Le graphique ci-dessous présente l’utilisation de Kubernetes sur l’ensemble de la base de clients de Datadog, que ce soit dans des environnements sur site, dans un cloud public ou privé.
3-ECS et Fargate ne comptent plus qu’un léger avantage sur Kubernetes dans AWS
ECS continue d’être de plus en plus utilisé par les entreprises exploitant des conteneurs dans AWS. Avec le lancement récent d’EKS (ECS for Kubernetes), les utilisateurs d’Amazon ont maintenant plus de choix en matière de services gérés pour leur infrastructure de conteneurs. Pour la première fois, les données de Datadog montrent que Kubernetes est presque aussi populaire dans AWS qu’ECS (AWS Fargate compris).
4-Fargate fonctionne déjà dans 6% des environnements de conteneurs AWS
AWS Fargate applique le modèle serverless à l’orchestration de conteneurs et permet d’exécuter des applications conteneurisées sans avoir à gérer un cluster d’instances EC2. Au cours des six premiers mois de son lancement, Fargate a rapidement gagné en popularité auprès des clients Datadog et a déjà été adopté par 6 % des organisations utilisant des conteneurs dans AWS.
5-De plus en plus d’entreprises orchestrent leurs conteneurs dès le déploiement initial
Parmi les entreprises déployant des conteneurs, la moitié utilise désormais une ou plusieurs technologies d’orchestration, et nombreuses sont celles qui ont inclus l’orchestration dans leur déploiement initial. Les données de Datadog montrent que plus de 40 % des entreprises utilisent Kubernetes ou ECS lorsqu’elles commencent à utiliser des conteneurs. Fargate, Nomad ou Mesos sont moins utilisés lors d’un premier déploiement.
6-Les utilisateurs de Kubernetes utilisent beaucoup plus d’images NGINX et d’autres images standard
Dans les clusters Kubernetes, on observe un déploiement généralisé d’images de conteneurs pour les technologies d’infrastructure courantes telles que NGINX, Postgres et Elasticsearch, NGINX apparaissant dans les deux environnements Kubernetes sur trois. Ces mêmes images sont très peu nombreuses dans des environnements non orchestrés. L’étude montre aussi que dans les clusters ECS très peu d’images de conteneurs courantes sont adoptées. Seul NGINX apparait dans plus de 10 % de ces environnements. Il est probable que dans AWS de nombreux utilisateurs comptent sur des services tels que Amazon Relational Database Service et Simple Queue Service au lieu d’utiliser des composants d’infrastructure conteneurisés tels que Postgres ou RabbitMQ.
7-La plupart des conteneurs Kubernetes n’exécute qu’un seul processus
En examinant le nombre de processus en cours d’exécution dans chaque conteneur, on observe une nette différence entre les charges de travail Kubernetes et celles des conteneurs ECS ou sans orchestration. Alors que la plupart des conteneurs ECS ou non orchestrés utilisent plusieurs processus, les conteneurs Kubernetes ont tendance à n’utiliser qu’un seul processus. Le constat d’une utilisation accrue d’images de conteneurs standard dans les clusters Kubernetes indique que les utilisateurs de Kubernetes ont tendance à construire leur infrastructure à partir de composants standard hautement modulaires plutôt qu’à partir d’images de conteneurs plus personnalisés.
8-Les hôtes Kubernetes exécutent 2 fois plus de conteneurs que les hôtes ECS
En environnement Kubernetes, chaque hôte exécute en moyenne environ 14 conteneurs sur une fenêtre d’échantillonnage d’une heure, contre seulement 7 conteneurs dans un environnement ECS. Cette différence de densité de conteneurs peut s’expliquer par un « conditionnement » plus serré des conteneurs sur les hôtes Kubernetes. Elle est probablement aussi liée à la différence de densité du processus à l’intérieur des conteneurs eux-mêmes, tel qu’indiqué ci-dessus. Cela semble signifier que les nœuds Kubernetes ont tendance à exécuter un grand nombre de conteneurs à processus unique, alors que les nœuds ECS exécutent moins de conteneurs, dont certains utilisent des processus multiples.
Méthologie de l’étude de Datadog
Ce rapport résulte d’une compilation de données d’usage de milliers d’entreprises, qui quotidiennement exécutent collectivement près de 500 millions de conteneurs. De la start-up aux sociétés du Fortune 100, les clients de Datadog représentent la plupart des industries. Ils sont plus enclins à l’utilisation de cloud publics et privés que l’ensemble de la population. Tous les résultats de cet article sont biaisés par le fait que les données proviennent des clients de Datadog, un échantillon large mais imparfait de l’ensemble du marché mondial. Depuis la première édition de ce rapport, nous avons élargi la portée de l’analyse pour inclure une plus grande partie de l’infrastructure de la clientèle, de sorte que certains pourcentages ont changé, mais pas les tendances générales.
Fargate pour déployer et gérer les conteneurs
AWS Fargate est un moteur de calcul qui permet de déployer et de gérer des conteneurs sans devoir gérer quoi que ce soit de l’infrastructure sous-jacente. Fargate simplifie le dimensionnement des applications. Ce qui permet de lancer des dizaines de milliers de conteneurs en quelques secondes sans se préoccuper de mettre en service suffisamment de ressources de calcul.
Avec Fargate, il n’y a plus besoin de gérer un cluster d’instances Amazon EC2, sélectionner les types d’instance, gérer la planification des conteneurs et optimiser l’utilisation des clusters., toute cette gestion disparaît.
Avec Fargate, la facturation s’effectue au niveau de la seconde et l’utilisateur ne paie que ce qu’il utilise. AWS Fargate est disponible avec Amazon ECS et la prise en charge d’Amazon EKS est disponible depuis cette année mais par encore dans toutes les régions.