L’étude annuelle de Datadog révèle huit tendances dans l’utilisation des conteneurs.
Datadog, fournisseur d’une plate-forme de monitoring et d’analyse pour les développeurs, publie l’édition 2019 de son rapport sur l’orchestration des conteneurs, basé sur les données d’usage de milliers de sociétés clientes, qui quotidiennement font tourner collectivement près de 1,5 milliard millions de conteneurs.
1. Kubernetes poursuit sa progression régulière
L’orchestration devient une pratique courante pour les organisations qui utilisent des conteneurs. L’augmentation constante de l’utilisation de Kubernetes, qui ne montre aucun signe d’essoufflement, illustre bien cette tendance. En octobre 2019, environ 45% des clients de Datadog qui utilisent des conteneurs utilisent Kubernetes, que ce soit en clusters autogérés ou via un service de cloud tel que Google Kubernetes Engine (GKE), Azure Kubernetes Service (AKS) ou Amazon Elastic Kubernetes Service (EKS). Cela représente une adoption de Kubernetes supérieure de 10% au cours des 12 derniers mois, et de 20% au cours des 24 derniers mois.
2. L’usage de Kubernetes dans Azure a doublé en 2 ans
Kubernetes est largement utilisé sur tous les principaux clouds publics, en particulier sur Google Cloud Platform (GCP), où GKE a longtemps été un choix favori. Cependant, l’utilisation de Kubernetes sur Microsoft Azure s’est tellement développée qu’il est aujourd’hui presque aussi populaire dans les environnements conteneurisés sur Azure que sur GCP. Environ 80% des clients de Datadog qui utilisent des conteneurs dans Azure utilisent maintenant Kubernetes, contre 67% un an plus tôt.
L’utilisation de Kubernetes sur Azure couvre à la fois les déploiements AKS et les clusters Kubernetes autogérés, bien que la différence entre ces types de déploiement ne soit pas faite dans cette étude. Parmi les organisations qui exploitent des conteneurs dans AWS, la popularité de Kubernetes a doublé au cours des deux dernières années et représente 45% des orchestrateurs utilisés.
3. 90% des utilisateurs de Kubernetes sur GCP adoptent GKE
Le service managé basé sur Kubernetes, tels que GKE (sur Google Cloud Platform) et EKS (sur Amazon Web Services), ont été largement adoptés sur leurs plateformes cloud respectives. Les utilisateurs de ces services délèguent la gestion du plan de contrôle Kubernetes au fournisseur de cloud afin qu’ils puissent se concentrer sur les charges de travail exécutées sur les nœuds de cluster en activité.
Sur Google Cloud Platform, plus de 90% des organisations utilisant Kubernetes ont adopté GKE. La popularité de GKE est probablement due à plusieurs facteurs, notamment :
– GKE est disponible depuis plus de quatre ans.
– Kubernetes a été initialement développé et placé en open source par Google
– GKE a longtemps été un produit phare sur la plate-forme Google Cloud Platform
EKS d’Amazon, qui est un produit beaucoup plus récent, connaît déjà une adoption relativement forte, et de plus en plus d’organisations devraient l’adopter au fil du temps. La popularité d’Elastic Container Service (ECS) d’Amazon a déjà démontré parmi les clients d’AWS une demande forte et croissante de services de conteneurs hébergés
4. Fargate tourne dans un environnement de conteneurs AWS sur cinq
AWS Fargate – un moteur de calcul sans serveur pour les conteneurs – supprime la couche d’infrastructure au sein d’un cluster de conteneurs, permettant ainsi aux clients d’exécuter des applications dans ECS sans avoir à gérer les instances EC2. Au cours de ces deux dernières années, Datadog a montré que Fargate connaît une croissance rapide et constante.
5. La durée de vie des conteneurs non orchestrés diminue
Les entreprises qui utilisent l’orchestration renouvellent généralement les conteneurs beaucoup plus rapidement que les entreprises qui utilisent des conteneurs sans orchestration. Ces dernières années, la disparité a été frappante, avec des taux de renouvellement environ 10 fois plus élevés dans les environnements orchestrés. Mais en 2019, le taux de renouvellement des conteneurs non orchestrés a considérablement augmenté. La durée de vie moyenne d’un conteneur d’une infrastructure non orchestrée est d’environ deux jours, contre environ six jours à la mi-2018.
Même si les conteneurs orchestrés par ECS et Kubernetes se renouvellent plus rapidement que d’autres avec une durée de vie d’environ un jour, l’écart entre les plates-formes s’est réduit. Les conteneurs à très longue durée de vie restent très rares dans les infrastructures orchestrées. Par exemple, la durée de vie moyenne des conteneurs dépasse 30 jours dans 19 % des environnements non orchestrés, contre seulement 7 % des environnements ECS et 3 % des environnements Kubernetes.
6. Node.js règne au sein des conteneurs
Les langages de programmation et les frameworks préférés des clients pour le développement d’applications diffèrent quelque peu entre les environnements conteneurisés et non conteneurisés. 57% des organisations exécutant des charges de travail conteneurisées utilisent Node.js, ce qui représente presque le double par rapport aux organisations exécutant Node.js dans des environnements non conteneurisés. Java, le deuxième langage le plus populaire dans les environnements de conteneurs, est le leader incontesté dans les environnements d’application conventionnels. Il est à noter que le total des pourcentages est supérieur à 100% parce que chaque organisation peut utiliser plusieurs langages.
La popularité de Node.js dans les environnements de conteneurs est probablement due à sa conception, qui favorise les applications légères et évolutives se prêtant bien à la conteneurisation et la réplication. Il convient également de noter que Node.js et Go, tous deux relativement nouveaux, sont beaucoup plus populaires dans les environnements de conteneurs que dans les environnements conventionnels, où un langage traditionnel est potentiellement plus fréquent.
7. NGINX l’emporte dans les environnements de conteneurs
Parmi les images prêtes à l’emploi utilisées dans les clusters de conteneurs, NGINX est de loin le format le plus courant, en particulier dans les environnements Kubernetes. NGINX fonctionne dans environ 70 % des environnements Kubernetes, dans 30 % des environnements ECS et 40 % des infrastructures de conteneurs non orchestrées. La forte pénétration de NGINX dans les environnements Kubernetes est probablement due en partie à la popularité de NGINX en tant que contrôleur d’entrée Kubernetes pour router le trafic externe vers les services du cluster.
8. Le cycle de mise à niveau de Kubernetes est long
La plate-forme Kubernetes évolue rapidement, avec une nouvelle version mineure (par exemple, v1.16) disponible tous les trois mois environ et des correctifs incrémentiels entre-temps. Notre étude montre cependant que la plupart des organisations préfèrent les versions plus anciennes et éprouvées aux versions à la pointe de la technologie. La version la plus populaire utilisée en octobre 2019 était Kubernetes 1.13, qui est sortie pour la première fois en décembre 2018. Des trois versions publiées en 2019, seule la version 1.14 a connu une adoption significative, avec une utilisation dans 23 % des organisations utilisant Kubernetes. Comme chaque organisation peut utiliser plusieurs versions de Kubernetes, les pourcentages du graphique ci-dessous totalisent plus de 100%. Il est à noter que la version Kubernetes n’est pas toujours un choix conscient : les utilisateurs des services Kubernetes hébergés se voient généralement présenter par défaut une version stable au lancement du cluster. Au moment de cette analyse, la version 1.13 était toujours la version par défaut pour GKE et AKS, alors que EKS fournissait la version 1.14 par défaut.