OPS04-BP05 Implementar a capacidade de rastreamento das transações
Implemente o código da aplicação e configure os componentes da workload para emitir eventos, que são acionados como resultado de operações lógicas únicas e consolidadas em vários limites da workload. Gere mapas para ver como o rastreamento é feito na workload e nos serviços. Obtenha informações sobre a relação entre os componentes, identifique e analise os problemas. Use as informações coletadas para determinar quando uma resposta é necessária e para identificar os fatores que causam um problema.
Resultado desejado:
-
Colete rastreamentos de transação na workload para obter informações sobre a relação entre os componentes.
-
Gere mapas para obter uma compreensão melhor de como as transações e os eventos fluem pela workload.
Antipadrões comuns:
-
Você implementou uma arquitetura de microsserviços sem servidor que abrange várias contas. Seus clientes estão enfrentando problemas de performance intermitente. Você não consegue descobrir qual função ou componente é responsável, pois não possui rastreabilidade de transações.
-
Há um gargalo de desempenho na workload. Como você não possui rastreabilidade de transações, não é possível ver a relação entre os componentes da aplicação e identificar o gargalo.
-
O identificador usado para rastreamentos não é exclusivo globalmente, resultando em uma colisão de rastreamento ao analisar o comportamento da workload.
Benefícios do estabelecimento desta prática recomendada:
-
Compreender o fluxo de transações entre a workload fornece informações sobre o comportamento esperado das transações da workload.
-
É possível ver variações do comportamento esperado na workload e reagir a elas, se necessário.
-
É possível localizar as transações pelo identificador gerado exclusivo independentemente de onde elas foram geradas.
Nível de exposição a riscos quando esta prática recomendada não é estabelecida: baixo
Orientações para a implementação
Projete seu aplicativo e carga de trabalho para emitir informações sobre o fluxo de transações entre os componentes do sistema. Os dados a serem incluídos nas transações são um identificador exclusivo da transação, o estágio da transação, o componente ativo e o tempo para concluir a atividade. Use essas informações para determinar o que está em andamento, o que está concluído e quais são os resultados das atividades concluídas.
Exemplo de clientes
Na Loja UmaEmpresa, todas as transações ganham um UUID global exclusivo. Esse UUID é transmitido entre microsserviços durante as transações. O UUID é usado para criar rastreamentos de transações à medida que os usuários interagem com a workload. É gerado um mapa da topologia da workload com os rastreamentos, depois usado para solucionar problemas da workload e melhorar o desempenho.
Etapas da implementação
-
Equipe as aplicações na workload para emitir rastreamentos de transações. Isso pode ser feito gerando um identificador exclusivo para cada transação e transmitindo o identificador entre as aplicações.
-
É possível usar a autoinstrumentação no AWS Distro para OpenTelemetry
a fim de implementar rastreamentos nas aplicações existentes sem modificar o código da aplicação.
-
-
Gere mapas da topologia da aplicação. Use esses mapas para melhorar o desempenho, obter informações e auxiliar na resolução de problemas.
-
O AWS X-Ray pode gerar mapas das aplicações na workload.
-
Nível de esforço do plano de implementação: médio. Implementar rastreamentos de transações pode exigir um esforço de desenvolvimento moderado.
Recursos
Práticas recomendadas relacionadas:
-
OPS04-BP01 Implementar a telemetria de aplicações – A telemetria da aplicação abrange o processamento e a rastreabilidade de transações e precisa ser implementada primeiro.
Documentos relacionados:
-
Discover application issues and get notifications with AWS X-Ray Insights
(Descubra problemas com aplicações e receba notificações com o AWS X-Ray Insights) -
How Wealthfront utilizes AWS X-Ray to analyze and debug distributed applications
(Como o Wealthfront utiliza o AWS X-Ray para analisar e depurar aplicações distribuídas) -
New for AWS Distro for OpenTelemetry – Tracing Support is Now Generally Available
(Novidades para o AWS Distro para OpenTelemetry: compatibilidade com rastreamento já está disponível para o público)
Vídeos relacionados:
-
AWS re:Invent 2018: Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324)
(AWS re:Invent 2018: aprofundamento no AWS X-Ray: monitore aplicações modernas (DEV324)) -
AWS re:Invent 2022 - Building observable applications with OpenTelemetry (BOA310)
(AWS re:Invent 2022: criação de aplicações observáveis com o OpenTelemetry (BOA310)) -
AWS re:Invent 2022 - Observability the open-source way (COP301-R)
(AWS re:Invent 2022: capacidade de observação por código aberto (COP301-R)) -
Capturing Trace Data with the AWS Distro for OpenTelemetry
(Captura de dados de rastreamento com o AWS Distro para OpenTelemetry) -
Optimize Application Performance with AWS X-Ray
(Otimize o desempenho das aplicações com o AWS X-Ray)
Exemplos relacionados:
-
AWS X-Ray Multi API Gateway Tracing Example
(Exemplo de rastreamento do gateway de várias APIs do AWS X-Ray)
Serviços relacionados: