Dev
Radiographie de l’usage des conteneurs
Par Jacques Cheminat, publié le 31 mai 2018
Véritable révolution dans la modernisation des applications, les conteneurs sont devenus incontournables. Une étude donne des éléments sur l’usage des conteneurs, ainsi que sur l’orchestration des déploiements.
La société Sysdig vient de publier son deuxième rapport sur l’utilisation des conteneurs. Cette étude, basée sur l’analyse de 90 000 conteneurs, montre que le nombre moyen de conteneurs par serveur a augmenté de 50% par rapport à l’année dernière. En 2017, un serveur comptait en moyenne 10 conteneurs, en 2018 ce chiffre est passé à 15. Le rapport constate que dans un cas, un utilisateur a signalé l’exécution de 154 conteneurs sur un seul hôte.
Par ailleurs, le spécialiste du monitoring de conteneurs constate que Docker Engine est de loin (83%) le runtime le plus utilisé par les conteneurs en production. Ce secteur est en pleine phase de mutation avec l’acquisition en 2017 de CoreOS par Red Hat. Le runtime rkt développé par CoreOS se classe derrière Docker et voit son adoption fortement progresser en 2017 pour atteindre 12% de l’ensemble des déploiements.
Des conteneurs éphémères
Autre point de satisfaction dans le rapport, l’Open Container Initiative travaille à établir des normes industrielles sur les runtimes des conteneurs et les spécifications des images. Des efforts continus qui favorisent la « portabilité » des conteneurs. Selon Sysdig, « les utilisateurs gagnent en confort en utilisant des solutions « non Docker » en production ». La durée de vie des conteneurs est très éphémère, 95% d’entre eux vivent moins d’une semaine. Dans le détail, 27% ont une existence comprise entre 5 et 10 minutes. Pourquoi une telle brièveté ? Sysdig constate que les clients ont architecturé leur système pour s’adapter à la demande et les conteneurs ne vivent que s’ils apportent de la valeur. Il cite un client créant un conteneur pour chaque workload intégré dans Jenkins, il teste les modifications et éteint ensuite le conteneur. Cette tâche peut être répétée des milliers de fois par jour.
Que trouve-t-on à l’intérieur des conteneurs ? Les JVM (Java Virtual Machine) sont les composants les plus populaires, puis viennent un intérêt croissant pour les bases de données NoSQL comme MongoDB et PostgreSQL. Ce dernier point est un signal que les entreprises basculent des services complets dans les conteneurs. « La nature éphémère des conteneurs inquiété les clients quant à la collecte des données sensibles au sein des conteneurs », souligne Sysdig. La solution à ce problème est venue de la persistance, la portabilité et du partage du stockage créé pour les micro-services.
Le roi Kubernetes et Mesosphere voit grand
Le rapport examine attentivement les solutions de gestion de déploiement de conteneurs. Sans surprise, il confirme la domination de Kubernetes avec une part de marché de 82%. L’étude constate que tous les principaux acteurs du cloud public ont ajouté le support de Kubernetes. Récemment, AWS a lancé son offre Kubernetes as a service. En dehors du leader, Docker avec Swarm et Mesosphere proposent une alternative pour l’orchestration des conteneurs.
Elément intéressant, la supériorité de Kubernetes dépend du nombre de cluster géré par les entreprises. L’étude montre que sur les déploiements de 50 clusters ou plus, l’orchestrateur Marathon de Mesosphere est le plus populaire. Les configurations avec quelques clusters privilégient Swarm de Docker.