dim. Sep 20th, 2020

Huit caractéristiques fortes de l’utilisation des conteneurs

Etude par Datadog

Evolutions 2019 des technologies, langages de programmation et pratiques d’orchestration.

Datadog, fournisseur d’une plate-forme de monitoring et d’analyse pour les développeurs, publie son nouveau rapport sur l’orchestration des conteneurs, basé sur les données d’usage de milliers de sociétés clientes (méthodologie détaillée ci-dessous), qui quotidiennement font tourner collectivement près de 1,5 milliards millions de conteneurs, les résultats obtenus révèlent les technologies, langages de programmation et pratiques d’orchestration ont suscité un véritable intérêt au sein des environnements de conteneurs.

 

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.

01.png

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.

02.png

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.

03.png

Fargate tourne dans 19% des environnements de conteneurs AWS

AWS Fargate 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, notre rapport a montré que Fargate connaît une croissance rapide et constante. Parmi les entreprises qui exécutent des conteneurs dans AWS, 19% utilisent maintenant Fargate, contre 5% un an plus tôt. La croissance rapide de Fargate a aidé ECS à suivre le rythme de l’adoption continue de Kubernetes dans les environnements AWS.

04.png

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.

05.png

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.

06.png

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.

07.png

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.

08.png

Méthologie de l’étude de Datadog

La solidité de ce rapport résulte d’une compilation de données d’usage de milliers d’entreprises, qui quotidiennement exécutent collectivement près de 1,5 milliards 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.

Les moyennes qui représentent l’ensemble de la base installée de Datadog (par exemple la densité moyenne par conteneur) ne font pas référence à la valeur moyenne de l’ensemble de la population. Il s’agit du calcul de la moyenne individuelle de chaque client à partir de laquelle la moyenne des moyennes des clients est établie. Cela permet que les moyennes ne soient pas faussées par des pratiques inhabituelles de certains clients.

Les opinions exprimées dans cet article sont uniquement celles du contributeur
et ne reflètent pas celles de Les-Experts.tech.