REL06-BP07 Surveiller la traçabilité complète des demandes via votre système - AWS Well-Architected Framework

REL06-BP07 Surveiller la traçabilité complète des demandes via votre système

Suivez les demandes au fur et à mesure qu’elles sont traitées dans les composants du service afin que les équipes produits puissent plus facilement analyser et résoudre les problèmes et améliorer les performances.

Résultat escompté : les charges de travail dotées d’un suivi complet de tous les composants sont faciles à déboguer, ce qui améliore le temps moyen de résolution (MTTR) des erreurs et la latence en simplifiant la découverte des causes principales. Le traçage de bout en bout réduit le temps nécessaire à la découverte des composants concernés et à l’analyse détaillée des causes profondes des erreurs ou de la latence.

Anti-modèles courants :

  • Le traçage est utilisé pour certains composants, mais pas pour tous. Par exemple, sans traçage pour AWS Lambda, les équipes risquent de ne pas comprendre clairement la latence provoquée par les démarrages à froid dans le cadre d’une charge de travail irrégulière.

  • Les canarys synthétiques ou la surveillance des utilisateurs réels (RUM) ne sont pas configurés avec le traçage. Sans canarys ni RUM, la télémétrie des interactions avec le client est omise de l’analyse des traces, ce qui donne un profil de performance incomplet.

  • Les charges de travail hybrides incluent à la fois des outils de suivi natifs du cloud et des outils tiers, mais aucune mesure n’a été prise pour intégrer pleinement une solution de traçage unique. En fonction de la solution de traçage sélectionnée, les kits SDK de traçage natifs du cloud doivent être utilisés pour instrumenter des composants qui ne sont pas natifs du cloud ou des outils tiers doivent être configurés pour ingérer la télémétrie de suivi native du cloud.

Avantages liés au respect de cette bonne pratique : lorsque les équipes de développement sont alertées de problèmes, elles peuvent obtenir une image complète des interactions entre les composants du système, y compris la corrélation composant par composant avec la journalisation, les performances et les défaillances. Dans la mesure où le traçage permet d’identifier visuellement les causes profondes, vous passez moins de temps à les étudier. Les équipes qui comprennent en détail les interactions entre les composants prennent de meilleures décisions plus rapidement lors de la résolution des problèmes. L’analyse des traces des systèmes permet d’améliorer la prise de décisions, par exemple quand il convient de recourir à la reprise après sinistre (DR) ou de choisir le meilleur endroit pour mettre en œuvre des stratégies d’autoréparation, ce qui permet d’améliorer la satisfaction des clients envers vos services.

Niveau d’exposition au risque si cette bonne pratique n’est pas respectée : moyen

Directives d’implémentation

Les équipes qui exploitent des applications distribuées peuvent utiliser des outils de traçage pour établir un identifiant de corrélation, collecter des traces de demandes et créer des cartes de service pour les composants connectés. Tous les composants de l’application doivent être inclus dans les traces des demandes, notamment les clients de service, les passerelles d’intergiciels et les bus d’événements, les composants de calcul et le stockage, y compris les magasins de clés-valeurs et les bases de données. Incluez des canarys synthétiques et une surveillance des utilisateurs réels dans votre configuration de traçage de bout en bout pour mesurer les interactions avec les clients distants et la latence afin d’évaluer avec précision les performances de vos systèmes par rapport à vos contrats et objectifs de niveau de service.

Vous pouvez utiliser AWS X-Ray et les services d’instrumentation Amazon CloudWatch Application Monitoring pour fournir une vue complète des demandes au fur et à mesure qu’elles transitent par votre application. X-Ray collecte la télémétrie des applications et vous permet de la visualiser et de la filtrer en fonction des charges utiles, des fonctions, des traces, des services, des API, et peut être activée pour les composants du système sans code ou à faible code. La surveillance des applications CloudWatch inclut ServiceLens pour intégrer vos traces aux métriques, aux journaux et aux alarmes. La surveillance des applications CloudWatch inclut également des outils synthétiques pour surveiller vos points de terminaison et vos API, ainsi que la surveillance des utilisateurs réels pour instrumenter vos clients d’applications Web.

Étapes d’implémentation

  • Utilisez AWS X-Ray sur tous les services natifs pris en charge tels qu’Amazon S3, AWS Lambda et Amazon API Gateway. Ces services AWS permettent l’utilisation de X-Ray grâce à des options de configuration utilisant l’infrastructure sous forme de code, de kits AWS SDK ou de la AWS Management Console.

  • Applications instrumentales AWS Distro pour Open Telemetry et X-Ray ou agents de collecte tiers.

  • Consultez le Guide du développeur AWS X-Ray pour une implémentation spécifique au langage de programmation. Ces sections de la documentation expliquent comment instrumenter les requêtes HTTP, les requêtes SQL et d’autres processus spécifiques à votre langage de programmation d’application.

  • Utilisez le suivi X-Ray pour les canarys Amazon CloudWatch Synthetic et Amazon CloudWatch RUM afin d’analyser le chemin des demandes depuis votre client utilisateur final via votre infrastructure AWS en aval.

  • Configurez les métriques et les alarmes CloudWatch en fonction de l’intégrité des ressources et de la télémétrie canary afin que les équipes soient rapidement alertées des problèmes, puis qu’elles puissent analyser en profondeur les traces et les cartographies de services avec ServiceLens.

  • Activez l’intégration de X-Ray pour les outils de suivi tiers tels que Datadog, New Relic ou Dynatrace si vous utilisez des outils tiers pour votre solution de suivi principale.

Ressources

Bonnes pratiques associées:

Documents connexes:

Exemples connexes :

Vidéos connexes :

Outils associés :