OPS04-BP05 Implementar rastreamento distribuído - Framework Well-Architected da AWS

OPS04-BP05 Implementar rastreamento distribuído

O rastreamento distribuído oferece uma maneira de monitorar e visualizar solicitações à medida que elas percorrem vários componentes de um sistema distribuído. Ao capturar dados de rastreamento de várias fontes e analisá-los em uma visão unificada, as equipes podem entender melhor como as solicitações fluem, onde existem gargalos e onde os esforços de otimização devem se concentrar.

Resultado desejado: obtenha uma visão holística das solicitações que fluem pelo seu sistema distribuído, permitindo depuração precisa, performance otimizada e experiências de usuário aprimoradas.

Práticas comuns que devem ser evitadas:

  • Instrumentação inconsistente: nem todos os serviços em um sistema distribuído são instrumentados para rastreamento.

  • Ignorar a latência: foco apenas nos erros e sem considerar a latência ou as degradações graduais da performance.

Benefícios de implementar esta prática recomendada:

  • Visão geral abrangente do sistema: visualização de todo o caminho das solicitações, da entrada à saída.

  • Depuração aprimorada: identificação rápida de onde ocorrem falhas ou problemas de performance.

  • Experiência de usuário aprimorada: monitoramento e otimização com base nos dados reais do usuário, garantindo que o sistema atenda às demandas do mundo real.

Nível de risco exposto se esta prática recomendada não for estabelecida: Alto

Orientação para implementação

Comece identificando todos os elementos da workload que exigem instrumentação. Depois que todos os componentes forem contabilizados, utilize ferramentas como o AWS X-Ray e o OpenTelemetry para coletar dados de rastreamento para análise com ferramentas como o X-Ray e o Amazon CloudWatch ServiceLens Map. Faça avaliações regulares com desenvolvedores e complemente essas discussões com ferramentas como o Amazon DevOps Guru, o X-Ray Analytics e o X-Ray Insights para ajudar a fazer descobertas mais profundas. Estabeleça alertas a partir de dados de rastreamento para notificar quando os resultados, conforme definido no plano de monitoramento da workload, estiverem em risco.

Etapas de implementação

Para implementar o rastreamento distribuído de forma eficaz:

  1. Adote o AWS X-Ray: integre o X-Ray à sua aplicação para obter informações sobre seu comportamento, entender sua performance e identificar gargalos. Utilize o X-Ray Insights para análise automática de rastreamento.

  2. Instrumente seus serviços: verifique se cada serviço, de uma função do AWS Lambda a uma instância do EC2, envia dados de rastreamento. Quanto mais serviços você instrumentar, mais clara será a visão completa.

  3. Incorpore o monitoramento de usuários reais do CloudWatch e o monitoramento sintético: integre o monitoramento de usuários reais (RUM) e o monitoramento sintético com o X-Ray. Isso permite capturar experiências reais do usuário e simular as interações do usuário para identificar possíveis problemas.

  4. Use o agente do CloudWatch: o agente pode enviar rastreamentos a partir do X-Ray ou do OpenTelemetry, aumentando a profundidade dos insights obtidos.

  5. Use o Amazon DevOps Guru: o DevOps Guru usa dados do X-Ray, CloudWatch, AWS Config e AWS CloudTrail para fornecer recomendações práticas.

  6. Analise os rastreamentos: revise regularmente os dados de rastreamento para discernir padrões, anomalias ou gargalos que possam afetar a performance da sua aplicação.

  7. Configure alertas: configure alarmes no CloudWatch para padrões incomuns ou latências estendidas, permitindo o tratamento proativo de problemas.

  8. Aprimoramento contínuo: revise sua estratégia de rastreamento à medida que os serviços são adicionados ou modificados para capturar todos os pontos de dados relevantes.

Nível de esforço do plano de implementação: Médio

Recursos

Práticas recomendadas relacionadas:

Documentos relacionados:

Vídeos relacionados:

Exemplos relacionados: