OPS04-BP01 Implémenter la télémétrie de l'application
La télémétrie de l'application est la pierre angulaire de l'observabilité de votre charge de travail. Votre application devrait émettre des données de télémétrie qui donnent un aperçu de son état et du niveau de réalisation des résultats commerciaux. Du dépannage à la mesure de l'impact d'une nouvelle fonctionnalité, la télémétrie de l'application informe sur la façon dont vous créez, exploitez et faites évoluer votre charge de travail.
La télémétrie d'une application se compose de métriques et de journaux. Les métriques sont des informations de diagnostic, telles que votre pouls ou votre température. Elles sont utilisées collectivement pour décrire l'état de votre application. La collecte de métriques au fil du temps permet de développer des points de référence et de détecter les anomalies. Les journaux sont des messages que l'application envoie à propos de son état interne ou des événements qui se produisent. Les codes d'erreur, les identificateurs de transaction et les actions de l'utilisateur sont des exemples d'événements consignés.
Résultat souhaité :
-
Votre application émet des métriques et des journaux qui donnent un aperçu de son état et de la réalisation des résultats commerciaux.
-
Les métriques et les journaux sont stockés de manière centralisée pour toutes les applications de la charge de travail.
Anti-modèles courants :
-
Votre application n'émet pas de télémesures. Vous êtes contraint de compter sur vos clients pour savoir quand quelque chose ne fonctionne pas correctement.
-
Un client a signalé que votre application ne répond pas. Vous n'avez pas de télémesures et êtes incapable de confirmer l'existence du problème ou de le caractériser sans utiliser vous-même l'application pour comprendre l'expérience actuelle de l'utilisateur.
Avantages liés au respect de cette bonne pratique :
-
Vous pouvez déterminer l'état de votre application, l'expérience utilisateur et la réalisation des résultats commerciaux.
-
Vous pouvez réagir rapidement aux changements d'état de votre application.
-
Vous pouvez développer des tendances liées à l'état de l'application.
-
Vous pouvez prendre des décisions éclairées sur l'amélioration de votre application.
-
Vous pouvez détecter et résoudre les problèmes d'application plus rapidement.
Niveau de risque exposé si cette bonne pratique n'est pas respectée : Débit
Directives d'implémentation
La mise en œuvre de la télémétrie de l'application comprend trois étapes : identifier un emplacement pour stocker les données de télémétrie, identifier les données de télémétrie qui décrivent l'état de l'application et instrumenter l'application pour émettre les données de télémétrie.
Prenons l'exemple d'une entreprise de commerce électronique dont l'architecture est basée sur des microservices. Dans le cadre de son processus de conception architecturale, elle a identifié la télémétrie de l'application qui l'aiderait à déterminer l'état de chaque microservice. Par exemple, le service de panier utilisateur a émis des données de télémétrie sur des événements tels que l'ajout d'un article au panier, l'abandon du panier et le temps nécessaire pour ajouter un article au panier. Tous les microservices ont enregistré les erreurs, les avertissements et les informations de transaction. La télémétrie a été envoyée à Amazon CloudWatch pour le stockage et l'analyse.
Étapes d'implémentation
La première étape consiste à identifier un emplacement central pour le stockage des données de télémétrie pour les applications de votre charge de travail. Si vous n'avez pas de plateforme
Amazon CloudWatch
Pour identifier les données de télémétrie dont vous avez besoin, commencez par les questions suivantes :
-
Mon application est-elle saine ?
-
Mon application atteint-elle les résultats commerciaux ?
Votre application doit émettre des journaux et des métriques qui répondent collectivement à ces questions. Si vous ne parvenez pas à répondre à ces questions avec la télémétrie de l'application existante, collaborez avec les parties prenantes de l'entreprise et de l'ingénierie pour créer une liste de télémétrie qui le permet. Vous pouvez demander des conseils techniques d'experts à votre équipe Compte AWS lorsque vous identifiez et développez de nouvelles applications de télémétrie.
Une fois que la télémétrie de l'application supplémentaire a été identifiée, travaillez avec les parties prenantes en ingénierie pour instrumenter l'application. AWS Distro for OpenTelemetry
fournit des API, des bibliothèques et des agents qui collectent la télémétrie de l'application. Cet exemple illustre comment instrumenter une application JavaScript avec des métriques personnalisées . Les clients qui souhaitent comprendre les services d'observabilité proposés par AWS peuvent parcourir Un atelier sur l'observabilité
seuls ou demander l'aide de leur équipe Compte AWS pour les guider. Cet atelier vous guide à travers les solutions d'observabilité sur AWS et fournit des exemples pratiques de leur utilisation. Pour en savoir plus sur la télémétrie de l'application, lisez l'article Instrumentation des systèmes distribués au profit de la visibilité opérationnelle
dans Amazon Builders' Library. Il explique comment Amazon instrumente les applications et peut servir de guide pour développer vos propres directives d'instrumentation.
Niveau d'effort du plan d'implémentation : Moyenne entreprise
Ressources
Bonnes pratiques associées :
OPS04-BP02 Mettre en œuvre et configurer la télémétrie de la charge de travail – La télémétrie de l'application est un composant de la télémétrie de la charge de travail. Afin de comprendre l'état de la charge de travail globale, vous devez comprendre celui des applications individuelles qui la composent.
OPS04-BP03 Mettre en œuvre la télémétrie pour l'activité des utilisateurs – La télémétrie de l'activité des utilisateurs est souvent un sous-ensemble de la télémétrie de l'application. L'activité de l'utilisateur, comme les événements d'ajout au panier, les flux de clics ou les transactions terminées, donne un aperçu de l'expérience utilisateur.
OPS04-BP04 Mettre en œuvre la télémétrie pour les dépendances – Les contrôles de dépendance sont liés à la télémétrie de l'application et peuvent être instrumentés dans votre application. Si votre application s'appuie sur des dépendances externes telles qu'un DNS ou une base de données, votre application peut émettre des métriques et des journaux sur l'accessibilité, les délais d'attente et d'autres événements.
OPS04-BP05 Mettre en œuvre la traçabilité des transactions – Le suivi des transactions sur une charge de travail nécessite que chaque application émette des informations sur la manière dont elle traite les événements partagés. La manière dont les applications individuelles gèrent ces événements est émise via la télémétrie de leur application.
OPS08-BP02 Définir les métriques de la charge de travail – Les métriques de charge de travail sont les principaux indicateurs de l'état de votre charge de travail. Les métriques clés de l'application font partie des métriques de la charge de travail.
Documents connexes :
-
Livre blanc du pilier Excellence opérationnelle AWS Well-Architected – Concevoir la télémétrie
-
Création de métriques à partir d'événements de journaux à l'aide de filtres
-
Mise en œuvre de la journalisation et de la surveillance avec Amazon CloudWatch
-
Surveillance de l'état et des performances d'une application avec AWS Distro for OpenTelemetry
-
Passez à l'action – Comment surveiller efficacement vos applications
Vidéos connexes :
Exemples connexes :