Monitoring des micro-services : Prometheus enfin prêt pour la production

En sortant de l’incubateur, Prometheus devient le second projet mature de la CNCF et apporte un outil de monitoring open source capable d’accélérer l’adoption de Kubernetes

Prometheus est arrivé à maturité. Le projet open source de monitoring de microservices est sorti de  l’incubateur de la CNCF (Cloud Native Computing Foundation), démarrant un cycle de projet dit « Graduated ».  Prometheus, développé en 2012 par la société Soundcloud, puis mis à l’open source en 2016 auprès de la CNCF, a reçu le sceau approbateur (par voie de vote) du comité technique de la fondation, le jugeant prêt pour les usages en production. Le comité reconnait également la conformité du projet en matière de gouvernance, le dynamisme de sa communauté et enfin la qualité de son code produit. Prometheus est désormais le second projet de la CNCF à obtenir ce statut. Kubernetes, l’orchestrateur de containers né chez Google et emblème de la fondation, avait été le premier à sortir de l’incubateur. Prometheus, qui fonctionne de pair avec Kubernetes, profite de cet élan.

« Prometheus fait partie des projets les plus dynamiques de la fondation », avait d’ailleurs rappelé Liz Rice, évangéliste de la société Aqua Security, à l’occasion de l’édition européenne de la conférence KubeCon+CloudNativeCon, illustrant ainsi le dynamisme de la communauté mais également l’intérêt pour cette technologie.

Selon les chiffres de la CNCF, Prometheus réunit une communauté de plus de 1000 contributeurs et 20 personnes servent de « maintainers ». Les sociétés ShuttleCloud, Datawire, DigitalOcean, Weaveworks, ShowMax, iAdvize et Uber sont citées parmi les principaux contributeurs au projet.

Un projet open source pour ouvrir le monitoring de Kubernetes

Si, en effet,  le monitoring des containers et des environnements en microservices fait aujourd’hui partie du catalogue des principaux éditeurs d’outils d’APM (à l’image de Datadog ou AppDynamics), cette graduation d’un projet open source pourrait bien ouvrir le contrôle de clusters Kubernetes à davantage d’entreprises – et favoriser la mise en place d’outils de contrôle.

Le monitoring est souvent présenté comme l’un des points noirs de Kubernetes. La difficulté à  mettre en place les bons indicateurs et les bons outils freinent les entreprises dans leur adoption de l’orchestrateur. Sans pourvoir mesurer, contrôler et anticiper l’état de santé de clusters Kubernetes, les entreprises rechignent à le déployer en production, rappelait une étude menée par la CNCF. Cela est vrai pour 38% des répondants, parmi la communauté CNCF.

Prometheus fait la promesse de mettre à disposition des capacités de monitoring poussées pour les environnements de microservices et de conteneurs, et de requêtage avancé pour analyser le suivi des services. Comme habituellement avec les outils Open Source, il doit s’intégrer à d’autres pour pouvoir offrir certaines fonctionnalités. La visualisation analytique est par exemple assurée via Grafana.

Se caler sur le rythme des microservices

Prometheus s’adosse en fait à un mécanisme de service discovery qui lui permet de rester caler sur le dynamisme induit des micro-services et de leurs mouvements. Comme le précise le site web de la CNCF, le projet open source collecte des données à intervalles réguliers, à partir de métriques cibles pré-définis, les évalue et affiche les résultats. Le système permet également d’envoyer des alertes si certaines des conditions définies sont remplies, par exemple.

Souvent Prometheus est présenté comme une avancée clé par les entreprises qui se reposaient jusqu’alors sur des outils comme Nagios – également open source – mais auxquels il fallait ajouter une kyrielle de plugins pour assurer un suivi complet des services. Nagios est également plus centré sur l’écoute de l’infrastructure. Le tandem Collectd / Graphite fait aussi partie des outils utilisés.

Prometheus assure en fait un monitoring des applications et services (dit whitebox, contre blackbox, pour le monitoring des serveurs et de l’infrastructure). Il apporte également un modèle de données multidimensionnel, et – un point clé – un langage de requête efficace pour effectuer des analyses sur l’environnement, témoigne une responsable de la société DigitalOcean à l’occasion de la PromCon 2018 qui se tient actuellement à Munich. La société a choisi Prometheus alors que justement un projet de déploiement de Kubernetes est en cours.

 

Pour approfondir sur Open Source