Qu’est-ce que la supervision ?
Une fois qu’une application est déployée en production, la surveillance fournit des informations sur les performances de l’application et les modèles d’utilisation, de manière à pouvoir identifier, limiter ou résoudre les problèmes
Objectifs de la surveillance
L’un des objectifs de la surveillance est d’arriver à une disponibilité élevée en minimisant les principales métriques qui sont mesurées en termes de temps :
- Temps de détection (TTD) : Lorsque des problèmes de performances ou d’autres problèmes surviennent, des données de diagnostic détaillées sur ces problèmes sont renvoyées aux équipes de développement via une surveillance automatisée.
- Temps d’atténuation (TTM) : Les équipes DevOps agissent sur les informations pour atténuer les problèmes le plus rapidement possible afin que les utilisateurs ne soient plus affectés.
- Temps de réparation (TTR) : Les délais de résolution sont mesurés, et les équipes travaillent à les améliorer au fil du temps. Après l’atténuation, les équipes travaillent sur la manière de remédier aux problèmes à la racine afin qu’ils ne se reproduisent pas.
Un deuxième objectif de la surveillance est de permettre un apprentissage validé en suivant l’utilisation. Le concept central de l’apprentissage validé est que chaque déploiement est l’occasion de suivre les résultats expérimentaux qui confirment ou infirment les hypothèses qui ont conduit au déploiement. Le suivi de l’utilisation et des différences entre les versions permet aux équipes de mesurer l’impact du changement et de prendre des décisions commerciales. Si une hypothèse est infirmée, l’équipe peut échouer rapidement ou changer de direction. Si l’hypothèse se confirme, l’équipe peut approfondir ou persévérer. Ces décisions basées sur les données conduisent à de nouvelles hypothèses et à la priorisation du backlog
Concepts clés
La télémétrie est le mécanisme de collecte de données à partir de la surveillance. La télémétrie peut utiliser des agents installés dans des environnements de déploiement, un kit de développement logiciel (SDK) qui repose sur des marqueurs insérés dans le code source, la journalisation du serveur, ou une combinaison de ces méthodes. En général, la télémétrie fait la distinction entre le pipeline de données optimisé pour l’alerte en temps réel et les tableaux de bord, et les données en plus grand volume nécessaires au dépannage ou à l’analyse de l’utilisation.
La surveillance synthétique utilise un ensemble cohérent de transactions pour évaluer les performances et la disponibilité. Les transactions synthétiques sont des tests prévisibles qui ont l’avantage de permettre une comparaison d’une version à l’autre de manière très prévisible. En revanche, la surveillance des utilisateurs réels (RUM) mesure l’expérience à partir du navigateur de l’utilisateur, de son appareil mobile ou de son ordinateur de bureau. Elle prend en compte les conditions de la dernière étape, telles que les réseaux cellulaires, le routage Internet et la mise en cache. Contrairement aux tests synthétiques, la RUM ne fournit généralement pas de mesure reproductible dans le temps.
La surveillance est souvent utilisée pour effectuer des tests en production. Un déploiement bien surveillé diffuse des données sur son état de santé et ses performances, de sorte que vous puissiez repérer immédiatement les incidents de production. Associée à un pipeline de déploiement continu, la surveillance détectera de nouvelles anomalies et permettra une atténuation rapide. Cela permet de découvrir les inconnues inconnues dans le comportement de l’application qui ne peuvent pas être prévus dans les environnements de pré-production.
Une surveillance efficace est essentielle pour permettre aux équipes DevOps de livrer rapidement, d’obtenir des retours de la production et d’augmenter la satisfaction, l’acquisition et la rétention des clients.
Étapes suivantes
En savoir plus sur les capacités de surveillance d’Azure Monitor.
Découvrez comment configurer et utiliser Application Insights pour la surveillance.