View a markdown version of this page

OPS04-BP01 Implementar a telemetria de aplicações - AWS Well-Architected Framework

OPS04-BP01 Implementar a telemetria de aplicações

A telemetria de aplicações é a base para a observabilidade da workload. A aplicação deve emitir telemetria que forneça insight do estado da aplicação e da aquisição dos resultados da empresa. Da solução de problemas à medição do impacto de um novo recurso, a telemetria de aplicações informa a maneira como você cria, opera e evolui a workload.

A telemetria de aplicações consiste em métricas e logs. As métricas são informações de diagnóstico, como seu pulso ou temperatura. As métricas são usadas coletivamente para descrever o estado de uma aplicação. A coleta das métricas ao longo do tempo pode ser usada para desenvolver linhas de base e detectar anomalias. Os logs são mensagens que a aplicação envia sobre seu estado interno ou os eventos que ocorrem. Códigos de erros, identificadores de transações e ações dos usuários são exemplos dos eventos registrados em log.

Resultado desejado:

  • A aplicação emite métricas e logs que fornecem insights da integridade e da aquisição de resultados dos negócios.

  • As métricas e logs são armazenados centralmente para todas as aplicações na workload.

Antipadrões comuns:

  • Seu aplicativo não emite telemetria. Você é forçado a contar com seus clientes para informar quando algo está errado.

  • Um cliente relatou que seu aplicativo não responde. Você não tem telemetria e não consegue confirmar se o problema existe ou caracterizar o problema sem usar o aplicativo para entender a experiência atual do usuário.

Benefícios do estabelecimento desta prática recomendada:

  • É possível compreender a integridade das aplicações, a experiência dos usuários e a aquisição dos resultados.

  • Reagir rapidamente às mudanças da integridade das aplicações.

  • Desenvolver a partir das tendências da integridade das aplicações.

  • Tomar decisões embasadas sobre como melhorar as aplicações.

  • E detectar e resolver problemas das aplicações mais rapidamente.

Nível de exposição a riscos quando esta prática recomendada não é estabelecida: alto

Orientações para a implementação

A implementação da telemetria de aplicações consiste em três etapas: a identificação de um local para armazenar a telemetria, a identificação da telemetria que descreve o estado das aplicações e a instrumentação das aplicações para emitirem telemetria.

Exemplo de clientes

A AnyCompany Retail tem uma arquitetura baseada em microsserviços. Como parte do processo de design dessa arquitetura, a empresa identificou a telemetria de aplicações que a ajudaria a entender o estado de cada microsserviço. Por exemplo, o serviço de carrinho do usuário emite telemetria sobre eventos, como adição ao carrinho, abandono do carrinho e o tempo levado para adicionar um item ao carrinho. Todos os microsserviços registram erros, avisos e informações sobre as transações. A telemetria é enviada ao Amazon CloudWatch para armazenamento e análise.

Etapas da implementação

  1. 1Identifique um local central para armazenamento da telemetria para as aplicações da workload. O local deve ser compatível com os recursos de coleta de telemetria e análise. A detecção de anomalias e os insights automatizados são recursos recomendados.

    1. O Amazon CloudWatch fornecerá a coleta da telemetria, os painéis, a análise e os recursos para a geração de eventos.

  2. Para identificar de qual telemetria você necessita, comece respondendo a esta pergunta: qual é o estado da minha aplicação? A aplicação deve emitir logs e métricas que respondam coletivamente a essa pergunta. Se não for possível responder a essas perguntas com a telemetria de aplicações existentes, trabalhe com os stakeholders da empresa e da engenharia para criarem uma lista de requisitos de telemetria.

    1. É possível solicitar consultoria técnica especializada da equipe da Conta da AWS ao identificar e desenvolver nova telemetria de aplicações.

  3. Quando a telemetria adicional de aplicações estiver identificada, trabalhe com os stakeholders da engenharia para instrumentar as aplicações.

    1. O AWS Distro para Open Telemetry fornece bibliotecas de APIs e agentes que coletam telemetria de aplicações. Este exemplo demonstra como instrumentar uma aplicação JavaScript com métricas personalizadas.

    2. bSe você quiser entender os serviços de observabilidade que a AWS oferece, trabalhe no One Observability Workshop ou solicite suporte à sua equipe da Conta da AWS.

    3. Para mergulhar mais profundamente na telemetria de aplicações, leia o artigo Como instrumentar sistemas distribuídos para obter visibilidade operacional na Amazon Builder’s Library, que explica como a Amazon instrumenta as aplicações e pode servir como um guia para o desenvolvimento de suas próprias diretrizes de instrumentação.

Nível de esforço do plano de implementação: alto. Instrumentar sua aplicação e centralizar o armazenamento de telemetria pode exigir um investimento significativo.

Recursos

Práticas recomendadas relacionadas:

OPS04-BP02 Implementar e configurar a telemetria da workload: a telemetria de aplicações é um componente da telemetria de workload. Para compreender a integridade da workload geral, entenda a integridade das aplicações individuais que compõem a workload.

OPS04-BP03 Implementar a telemetria de atividades dos usuários: a telemetria das atividades dos usuários geralmente é um subconjunto da telemetria de aplicações. As atividades dos usuários, como eventos de adições ao carrinho, cliques em streams ou transações concluídas, fornecem insight da experiência do usuário.

OPS04-BP04 Implementar a telemetria de dependências: as verificações de dependências estão relacionadas à telemetria de aplicações e podem ser instrumentadas nas aplicações. Se a aplicação contar com dependências externas, como o DNS ou um banco de dados, a aplicação poderá emitir métricas e logs sobre a acessibilidade, os tempos limite e outros eventos.

OPS04-BP05 Implementar a capacidade de rastreamento das transações: o rastreamento das transações em uma workload requer que cada aplicação emita informações sobre como ela processa eventos compartilhados. A forma como as aplicações individuais tratam esses eventos é emitida por meio da telemetria de aplicações.

OPS08-BP02 Definir as métricas da workload: as métricas da workload são os principais indicadores da integridade da workload. As métricas principais das aplicações são parte das métricas da workload.

Documentos relacionados:

Vídeos relacionados:

Exemplos relacionados:

Serviços relacionados: