REL06-BP07 Monitorar o rastreamento completo das solicitações por meio de seu sistema - Pilar Confiabilidade

REL06-BP07 Monitorar o rastreamento completo das solicitações por meio de seu sistema

Rastreie as solicitações à medida que elas são processadas por meio de componentes de serviço para que as equipes de produto possam analisar e depurar problemas com maior facilidade e melhorar a performance.

Resultado desejado: workloads com rastreamento abrangente em todos os componentes são fáceis de depurar, melhorando o tempo médio de resolução (MTTR) de erros e a latência ao simplificar a descoberta da causa-raiz. O rastreamento completo reduz o tempo necessário para descobrir os componentes afetados e detalhar as causas-raiz dos erros ou da latência.

Práticas comuns que devem ser evitadas:

  • O rastreamento é usado para alguns componentes, mas não para todos. Por exemplo, sem rastrear o AWS Lambda, as equipes podem não entender claramente a latência causada por partidas a frio em uma workload com picos.

  • Os canários sintéticos ou o monitoramento de usuários reais (RUM) não são configurados com rastreamento. Sem canários ou RUM, a telemetria de interação com o cliente é omitida da análise de rastreamento, gerando um perfil de performance incompleto.

  • As workloads híbridas incluem ferramentas de rastreamento nativas da nuvem e de terceiros, mas ainda não foram tomadas medidas eletivas e integram totalmente uma única solução de rastreamento. Com base na solução de rastreamento escolhida, os SDKs de rastreamento nativos de nuvem devem ser usados para instrumentar componentes que não são nativos de nuvem ou ferramentas de terceiros devem ser configuradas para ingerir a telemetria de rastreamento nativa de nuvem.

Benefícios de implementar esta prática recomendada: quando as equipes de desenvolvimento são alertadas sobre problemas, elas podem ter uma visão completa das interações dos componentes do sistema, incluindo a correlação componente por componente com registros em log, performance e falhas. Como o rastreamento facilita a identificação visual das causas-raiz, menos tempo é gasto investigando-as. As equipes que entendem detalhadamente as interações dos componentes tomam decisões melhores e mais rápidas ao resolver problemas. Decisões como quando invocar o failover de recuperação de desastres (DR) ou onde melhor implementar estratégias de autorrecuperação podem ser aprimoradas com a análise de rastreamentos de sistemas e aumentar a satisfação do cliente com seus serviços.

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

Orientação para implementação

As equipes que operam aplicações distribuídas podem usar ferramentas de rastreamento para estabelecer um identificador de correlação, coletar rastreamentos de solicitações e criar mapas de serviço dos componentes conectados. Todos os componentes da aplicação devem ser incluídos nos rastreamentos de solicitações, incluindo clientes de serviços, gateways de middleware e barramentos de eventos, componentes computacionais e armazenamento, incluindo armazenamentos de chave-valor e bancos de dados. Inclua canários sintéticos e monitoramento de usuários reais em sua configuração de rastreamento completo a fim de medir as interações remotas com clientes e a latência para que você possa avaliar com precisão a performance de seus sistemas em relação aos seus objetivos e acordos de serviço.

Você pode usar os serviços de instrumentação do AWS X-Ray e do Monitoramento de aplicações do Amazon CloudWatch para fornecer uma visão completa das solicitações à medida que elas percorrem sua aplicação. O X-Ray coleta telemetria da aplicação e permite que você a visualize e filtre em cargas, funções, rastreamentos, serviços, APIs. Além disso, ele pode ser ativado para componentes do sistema sem código ou com pouco código. O monitoramento de aplicações do CloudWatch inclui o ServiceLens para integrar seus rastreamentos com métricas, logs e alarmes. O monitoramento de aplicações do CloudWatch também inclui sintéticos para monitorar seus endpoints e APIs, bem como monitoramento de usuários reais para instrumentar seus clientes de aplicações Web.

Etapas de implementação

  • Use o AWS X-Ray em todos os serviços nativos compatíveis, como Amazon S3, AWS Lambda e Amazon API Gateway. Esses serviços da AWS permitem ao X-Ray alternar a configuração usando infraestrutura como código, AWS SDKs ou o AWS Management Console.

  • Instrumente aplicações AWS Distro para Open Telemetry e X-Ray ou agentes de coleção de terceiros.

  • Consulte o Guia do desenvolvedor da AWS X-Ray para obter informações sobre implementações específicas de linguagens de programação. Essas seções da documentação detalham como instrumentar solicitações HTTP, consultas SQL e outros processos específicos de sua linguagem de programação de aplicações.

  • Use o rastreamento do X-Ray para canários do Amazon CloudWatch Synthetic e Amazon CloudWatch RUM para analisar o caminho da solicitação do cliente do usuário final ao longo de sua infraestrutura da AWS downstream.

  • Configure métricas e alarmes do CloudWatch com base na integridade dos recursos e na telemetria canário para que as equipes sejam alertadas sobre problemas rapidamente e, depois, possam se aprofundar em rastreamentos e mapas de serviços com o ServiceLens.

  • Ative a integração do X-Ray para ferramentas de rastreamento de terceiros, como Datadog, New Relic ou Dynatrace, se você estiver usando ferramentas de terceiros para sua solução de rastreamento principal.

Recursos

Práticas recomendadas relacionadas:

Documentos relacionados:

Exemplos relacionados:

Vídeos relacionados:

Ferramentas relacionadas: