OPS04-BP05 Mettre en œuvre la traçabilité des transactions
Mettez en œuvre le code de votre application et configurez les composants de votre charge de travail pour qu'ils émettent des événements, qui sont déclenchés à la suite d'opérations logiques uniques et consolidés à travers les différentes limites de votre charge de travail. Générez des cartes pour découvrir comment les suivis circulent dans votre charge de travail et vos services. Comprenez les relations entre les composants, identifiez et analysez les problèmes. Utilisez les informations recueillies pour déterminer à quel moment une réponse est requise et identifier les facteurs d'un problème.
Résultat souhaité :
-
Recueillez des suivis de transactions dans votre charge de travail pour mieux comprendre la relation entre les composants.
-
Générez des cartes pour mieux comprendre comment les transactions et les événements circulent dans votre charge de travail.
Anti-modèles courants :
-
Vous avez mis en œuvre une architecture de microservices sans serveur couvrant plusieurs comptes. Vos clients rencontrent des problèmes de performances intermittents. Vous n'êtes pas en mesure de découvrir quelle fonction ou quel composant est responsable d'un comportement donné parce que vous manquez de traçabilité des transactions.
-
Il existe un goulot d'étranglement dans votre charge de travail. En raison de l'absence de traçabilité des transactions, vous n'êtes pas en mesure de visualiser la relation entre les composants de votre application et d'identifier le goulot d'étranglement.
-
L'identifiant utilisé pour les suivis n'est pas unique au monde, ce qui entraîne un conflit de suivi lors de l'analyse du comportement de la charge de travail.
Avantages liés au respect de cette bonne pratique :
-
Comprendre le flux des transactions dans votre charge de travail permet de comprendre le comportement attendu des transactions de votre charge de travail.
-
Vous pouvez visualiser les variations par rapport au comportement attendu dans votre charge de travail et vous pouvez réagir si nécessaire.
-
Vous pouvez localiser les transactions grâce à leur identifiant unique émis indépendamment de l'endroit où elles ont été générées.
Niveau de risque exposé si cette bonne pratique n'est pas respectée : faible
Directives d'implémentation
Concevez votre application et la charge de travail afin de transmettre des informations sur le flux des transactions entre les composants du système. Les données à ajouter dans les transactions sont un identifiant unique au monde, l'étape de la transaction, le composant actif et la durée de l'activité. Utilisez ces informations pour déterminer ce qui est en cours, ce qui est terminé et les résultats des activités terminées.
Exemple de client
Chez AnyCompany Retail, toutes les transactions sont générées par un UUID unique au monde. Cet UUID est transmis entre les microservices lors des transactions. L'UUID sert à créer des suivis de transaction lorsque les utilisateurs interagissent avec la charge de travail. Une carte de la topologie de la charge de travail est générée avec les suivis et sert à résoudre les problèmes de charge de travail et à améliorer les performances.
Étapes d'implémentation
-
Instrumentez les applications de votre charge de travail pour qu'elles émettent des suivis de transaction. Cela peut se faire en générant un identifiant unique pour chaque transaction et en transmettant cet identifiant entre les applications.
-
Vous pouvez utiliser l'auto-instrumentation dans AWS Distro for OpenTelemetry
pour mettre en œuvre des suivis dans vos applications existantes sans modifier le code de votre application.
-
-
Générez des cartes de la topologie de votre application. Utilisez ces cartes pour améliorer les performances, obtenir des informations et faciliter le dépannage.
-
AWS X-Ray peut générer des cartes des applications de votre charge de travail.
-
Niveau d'effort du plan d'implémentation : moyen. La mise en œuvre des suivis de transaction peut nécessiter un effort de développement modéré.
Ressources
Bonnes pratiques associées :
-
OPS04-BP01 Implémenter la télémétrie de l'application - La télémétrie des applications couvre la traçabilité et le traitement des transactions et doit être mise en œuvre en premier lieu.
Documents connexes :
-
Discover application issues and get notifications with AWS X-Ray Insights
(Découvrez les problèmes des applications et recevez des notifications grâce à AWS X-Ray Insights) -
How Wealthfront utilizes AWS X-Ray to analyze and debug distributed applications
(Comment Wealthfront utilise AWS X-Ray pour analyser et déboguer les applications distribuées) -
New for AWS Distro for OpenTelemetry – Tracing Support is Now Generally Available
(Nouveau pour AWS Distro for OpenTelemetry – la prise en charge du traçage est maintenant disponible)
Vidéos connexes :
-
AWS re:Invent 2018: Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324)
-
AWS re:Invent 2022 - Building observable applications with OpenTelemetry (BOA310)
-
AWS re:Invent 2022 - Observability the open-source way (COP301-R)
-
Capturer les données de traçage avec AWS Distro for OpenTelemetry
-
Optimize Application Performance with AWS X-Ray
(Optimiser les performances des applications avec AWS X-Ray)
Exemples connexes :
-
AWS X-Ray Multi API Gateway Tracing Example
(Exemple de traçage de passerelle multi-API AWS X-Ray)
Services associés :