La transition DevOps est en marche. Mais mettre en pratique le DevOps est un moyen vers la performance et l’agilité, et non une fin en soi. Qui dit moyen, dit outils et bonnes pratiques pour sa mise en œuvre. Et s’il est bien un outil essentiel dans cette approche itérative et automatisée, c’est bien le monitoring qui, à l’instar de l’intégration et du déploiement, se doit lui aussi d’être continu.
Intégration, déploiement ET monitoring en continu
Au cœur de l’approche DevOps, il y a le CI/CD reposant sur une collaboration agile (et non plus en silo) entre les équipes de développement et celles d'exploitation. Cette approche garantit ainsi une automatisation continue tout au long du cycle de vie d’une application, de l’intégration et du test jusqu’au déploiement. Ceci implique une surveillance continue de l’application tout au long de son cycle pour que l’automatisation soit efficiente. C’est alors que l’on parle de monitoring continu.
Le monitoring peut être traduit en français par observation ou supervision. En l’espèce, il est question de surveiller les problèmes et les incidents pouvant survenir lorsqu’un utilisateur utilise une application ou un site web, mais également d’assurer une supervision en amont. La notion d’observabilité détient toute son importance. En DevOps, on distingue trois types d’observation : l’observation applicative, l’observation infrastructure et l’observation réseau.
Feedback loop : monitoring de l’application au réseau en passant par l’infra
L’Infrastructure Monitoring gère comme son nom l’indique, l’infrastructure IT. Cela concerne, les serveurs, les datacenters et tout l’écosystème hardware (CPU, mémoire, clusters Kubernetes…)
Orienté software, l’observation applicative ou Application Monitoring concerne plutôt le fonctionnement des programmes (bugs, performances…).
Enfin l’observation réseau ou Network Monitoring consiste à suivre le fonctionnement de la partie réseau : serveurs, routeurs, les pares-feux etc.
Le monitoring est donc intimement lié au DevOps car il est indispensable pour la mise en place d’une feedback loop efficace, cette dernière étant un des concepts clé du mouvement DevOps, représentée par le symbole infini.
Monitoring en continu pour une livraison sans faille de ses services
Le concept même du DevOps consiste à unir le meilleur de ces mondes puisqu’au final, tout est lié et avoir des indicateurs communs aide à le comprendre, le suivre et le corriger. Le Monitoring est donc un moyen pour les Devs et les Ops de mieux communiquer, ce qui en fait un outil de choix pour réussir sa démarche DevOps. Le Monitoring possède plusieurs avantages comme la prise en charge instantanée des problèmes de fonctionnement des applicatifs grâce à une meilleur visibilité. En cas de problème assez grave, le continuous monitoring permet de réduire la durée des pannes et accélère la restauration du système.
Les meilleurs outils pour pratiquer le monitoring en continu sont issus de la communauté Open Source et sont intégrés dans le dashboard h8lio, à savoir : Prometheus, Grafana, Kiali, Jaeger Tracing...



