Quelle est la différence entre l’observabilité et la surveillance ?

Dans le cadre de DevOps, l’observabilité et la surveillance sont deux processus distincts basés sur les données. Vous les utilisez pour maintenir et gérer correctement l’intégrité et les performances des architectures de microservices distribuées et de leur infrastructure. Les systèmes distribués fonctionnent en échangeant des données entre des dizaines, voire des centaines ou des milliers de composants différents. 

La surveillance est le processus qui consiste à collecter des données et à générer des rapports sur différentes métriques qui définissent l’état de santé du système. L’observabilité est une approche plus exploratoire. Elle examine de près les interactions entre les composants du système distribué et les données collectées par la surveillance afin de trouver la cause racine des problèmes. Elle inclut des activités telles que l’analyse du chemin de trace, un processus qui suit le chemin d’une demande dans le système afin d’identifier les échecs d’intégration. La surveillance collecte des données sur les composants individuels, et l’observabilité examine le système distribué dans son ensemble.

En savoir plus sur DevOps

Comment ils fonctionnent : observabilité vs surveillance

L’observabilité et la surveillance sont deux processus essentiels à l’exécution de programmes DevOps efficaces.

Surveillance

La surveillance des systèmes informatiques est une pratique aussi ancienne que l’exploitation des systèmes informatiques eux-mêmes. Le processus de surveillance collecte des données sur un système afin de vérifier si celui-ci fonctionne comme prévu. Il inclut des rapports et des alertes sur les erreurs, les défauts ou les valeurs de données anormales. 

Par exemple, les outils de surveillance peuvent collecter des données pour mesurer le temps nécessaire au déploiement d’une version d’application. Si le temps nécessaire dépasse la fenêtre prévue, les outils de surveillance peuvent alerter les utilisateurs, indiquant que quelque chose s’est probablement mal passé. 

La surveillance DevOps couvre l’ensemble du cycle de vie du développement logiciel (SDLC). La surveillance des performances des applications (APM) est un sous-ensemble spécialisé de la surveillance DevOps qui se concentre sur les applications exécutées en production. Il donne la priorité aux métriques qui s’appliquent à l’expérience utilisateur.

En savoir plus sur le cycle de vie du développement logiciel

En savoir plus sur la surveillance des performances des applications

Observabilité

L’observabilité élargit la portée et la visibilité des outils de surveillance traditionnels, en incorporant des données situationnelles et historiques supplémentaires et des interactions entre les systèmes. Elle permet de rechercher la cause racine des alertes de surveillance et d’étudier les problèmes liés aux interactions entre plusieurs composants.

Vous pouvez utiliser des outils d’observabilité pour déboguer les systèmes basés sur une architecture d’application distribuée. Vous pouvez également les utiliser pour observer l’état en temps réel de l’ensemble du système et les interactions entre les composants du système. Vous pouvez utiliser un logiciel d’observabilité pour cartographier l’ensemble d’un système interconnecté, ses dépendances et ses interactions en temps réel.

Quelles sont les similitudes entre l’observabilité et la surveillance ?

L’observabilité et la surveillance découlent à l’origine du domaine de la théorie du contrôle, domaine de l’ingénierie des systèmes et des mathématiques. Les deux sont largement utilisés dans les environnements physiques informatiques et mixtes pour maintenir l’intégrité et les performances du système. Dans le cadre de DevOps, les termes sont souvent utilisés de manière interchangeable, car ils concernent tous deux des données de télémétrie telles que les métriques, les événements, les journaux et les traces.

Métriques

Les métriques sont des mesures des données du système. Par exemple, une métrique peut être le débit du réseau ou le nombre d’erreurs d’application par semaine. Les rapports de surveillance sur les métriques et l’observabilité visent à trouver des moyens d’améliorer leurs valeurs.

Événements

Les événements sont des actions discrètes qui se produisent dans un système à tout moment. Il peut s’agir, par exemple, d’un changement de mot de passe par un utilisateur ou d’une alerte indiquant un nombre élevé de tentatives de mot de passe. Les événements déclenchent la surveillance et favorisent l’observabilité lors des enquêtes sur les incidents.

Journaux

Les journaux sont des fichiers générés par des logiciels qui contiennent des informations sur les opérations, les activités et les modèles d’utilisation du système. Ils comprennent un enregistrement historique de tous les processus, événements et messages, ainsi que des données descriptives supplémentaires, telles que des horodatages, pour contextualiser ces informations. La surveillance génère des journaux que l’observabilité utilise pour une analyse plus approfondie du système.

En savoir plus sur les fichiers journaux

Traces

Les traces constituent le parcours complet d’une seule opération dans ses différents systèmes interdépendants. Pour un traçage entièrement distribué, des signaux doivent être émis à partir de chaque transaction dans l’architecture des microservices à des fins de suivi. La surveillance permet le traçage, qui est une fonction importante de l’observabilité.

Observabilité vs surveillance : principales différences

La surveillance est un élément essentiel de l’observabilité. La surveillance complète crée des mesures descriptives, des événements, des journaux et des traces qui mesurent ce qui est essentiel d’une manière facilement identifiable et récupérable. Les enregistrements historiques sont stockés avec les mesures actuelles afin de brosser un tableau d’ensemble du système. L’observabilité peut ensuite utiliser ce que la surveillance crée pour enquêter de manière plus approfondie sur les incidents.

La surveillance permet de déterminer le quand et le quoi d’une erreur système, et l’observabilité, le pourquoi et le comment. Il existe de nombreux signaux à cartographier et à surveiller pour obtenir une image globale de l’état interne et de l’état de santé de l’ensemble du système. Vous avez besoin de toutes ces données pour mener des enquêtes efficaces. Pour que l’observabilité soit utile et efficace, le suivi doit être complet et descriptif.

Anomalies

Avec les systèmes de surveillance, vous pouvez détecter des anomalies ou des comportements inhabituels dans l’état et les performances du système. Grâce à l’observabilité, vous pouvez étudier de manière plus approfondie toutes les anomalies, même si elles sont dues à des interactions entre des centaines de composants de service.

Cause et effet

La surveillance se concentre sur la mesure d’une ou de plusieurs valeurs afin de déterminer s’il y a un effet sur un système. L’objectif de l’observabilité est de comprendre la cause de cet effet. Par exemple, lorsqu’un nouveau code est publié, la surveillance suit les métriques du système pour voir si les temps de chargement des applications ou les temps de récupération des données sont affectés par la modification. En cas d’impact, l’observabilité étudie la raison ou la cause. Elle indique quelle partie du changement de code est à l’origine de l’effet et suggère des moyens de le corriger.

Interactions avec le système

La surveillance mesure généralement l’état de santé d’un système particulier. Elle collecte des données sur tous les différents composants du système, mais ces données peuvent être isolées et les relations entre elles sont difficiles à comprendre. Grâce à l’observabilité, vous obtenez une vue d’ensemble de tous les systèmes interdépendants afin de comprendre où et comment les problèmes surviennent.

Quand utiliser : observabilité vs surveillance

La détection d’erreurs rétrospective, telle que la détection d’une panne par les utilisateurs ou la découverte d’une application exécutée sur le mauvais système cible, peut entraîner une perte de temps, d’argent, de réputation et de ressources pour les développeurs. La surveillance est indispensable pour détecter les erreurs de manière proactive. Les outils de surveillance émettent des alertes pour tous les types de divergences que vous pouvez identifier et corriger avant qu’elles n’aient des conséquences à long terme.

Un système observable vient compléter les capacités de surveillance existantes. C’est essentiel pour exécuter des architectures d’applications de microservices, en particulier lorsqu’elles sont déployées sur une infrastructure cloud distribuée. En se limitant à la surveillance, il devient quasiment impossible d’identifier et d’isoler l’application ou le service à l’origine des erreurs. La saisie et le suivi appropriés des données, associés à l’observabilité, permettent de détecter les erreurs dans des systèmes complexes.

Résumé des différences : surveillance vs observabilité

 

Surveillance

Observabilité

De quoi s'agit-il ?

Mesure et création de rapports sur des métriques spécifiques au sein d’un système, afin d’en garantir la santé.

Collecte de métriques, d’événements, de journaux et de traces pour permettre une analyse approfondie des problèmes de santé dans les systèmes distribués dotés d’architectures de microservices.

Objectif principal

Collectez des données pour identifier les effets anormaux du système.

Recherchez la cause racine des effets anormaux du système.

Systèmes concernés

Concerne généralement les systèmes autonomes.

Concerne généralement des systèmes multiples et disparates.

Traçabilité

Limité aux frontières du système.

Disponible lorsque des signaux sont émis par des architectures de systèmes disparates.

Résultats relatifs à une erreur système

Le quand et le quoi.

Le pourquoi et le comment.

Comment AWS peut-il vous aider à répondre à vos exigences en matière d’observabilité et de surveillance ?

Les opérations dans le Cloud AWS fournissent un modèle et des outils pour gérer vos opérations dans le cloud de manière sécurisée et efficace. Avec Amazon Web Services (AWS), vous pouvez transformer votre organisation, moderniser et migrer vos applications et accélérer l’innovation. 

Grâce à la surveillance et à l’observabilité des opérations dans le cloud, vous pouvez collecter, corréler, agréger et analyser la télémétrie. Cela s’applique à l’ensemble de votre réseau, de votre infrastructure et de vos applications dans les environnements cloud, hybrides ou sur site. Vous pouvez obtenir des informations sur le comportement, les performances et l’état de santé de votre système. Grâce à ces informations, vous pouvez détecter, étudier et résoudre les problèmes plus rapidement. Associées à l’intelligence artificielle (IA) et au machine learning (ML), vous pouvez exploiter ces informations pour réagir, prévoir et prévenir les problèmes de manière proactive.

Par exemple, vous pouvez utiliser les solutions ci-dessous :

  • AWS X-Ray pour analyser et déboguer les applications de production et distribuées, suivre les demandes des utilisateurs, identifier les goulots d’étranglement et surveiller les performances
  • Amazon CloudWatch pour accéder aux données des ressources et des applications et aux sorties externes et les analyser à l’aide de puissants outils de visualisation sur AWS, sur site et dans d’autres clouds
  • Amazon Managed Grafana pour gérer entièrement Grafana (l’outil de surveillance populaire) pour les requêtes, la visualisation et les alertes sur les métriques, les journaux et les traces des données opérationnelles
  • Amazon Managed Service for Prometheus pour gérer intégralement Prometheus, un outil de surveillance des conteneurs permettant de gérer et d’interroger les métriques de séries temporelles issues de vos clusters de conteneurs Kubernetes autogérés

Commencez à utiliser la surveillance et l’observabilité sur AWS en créant un compte dès aujourd’hui.