

# OPS 4  Como você projeta sua carga de trabalho para entender o estado dela?
<a name="ops-04"></a>

 Projete sua carga de trabalho para que as informações necessárias sejam fornecidas em todos os componentes (tais como métricas, logs e rastreamento) a fim de que você entenda seu estado interno. Isso permite que você forneça respostas efetivas quando for apropriado. 

**Topics**
+ [OPS04-BP01 Implementar a telemetria de aplicações](ops_telemetry_application_telemetry.md)
+ [OPS04-BP02 Implementar e configurar a telemetria da workload](ops_telemetry_workload_telemetry.md)
+ [OPS04-BP03 Implementar a telemetria de atividades dos usuários](ops_telemetry_customer_telemetry.md)
+ [OPS04-BP04 Implementar a telemetria de dependências](ops_telemetry_dependency_telemetry.md)
+ [OPS04-BP05 Implementar a capacidade de rastreamento das transações](ops_telemetry_dist_trace.md)

# OPS04-BP01 Implementar a telemetria de aplicações
<a name="ops_telemetry_application_telemetry"></a>

 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 name="implementation-guidance"></a>

 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](https://aws.amazon.com/cloudwatch) fornecerá a coleta da telemetria, os painéis, a análise e os recursos para a geração de eventos. 

1.  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. 

1.  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](https://aws-otel.github.io/) 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](https://aws-otel.github.io/docs/getting-started/js-sdk/metric-manual-instr). 

   1.  bSe você quiser entender os serviços de observabilidade que a AWS oferece, trabalhe no [One Observability Workshop ](https://catalog.workshops.aws/observability/en-US) ou solicite suporte à sua equipe da Conta da AWS. 

   1.  Para mergulhar mais profundamente na telemetria de aplicações, leia o artigo [Como instrumentar sistemas distribuídos para obter visibilidade operacional](https://aws.amazon.com/builders-library/instrumenting-distributed-systems-for-operational-visibility/) 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
<a name="resources"></a>

 **Práticas recomendadas relacionadas:** 

[OPS04-BP02 Implementar e configurar a telemetria da workload](ops_telemetry_workload_telemetry.md): 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](ops_telemetry_customer_telemetry.md): 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](ops_telemetry_dependency_telemetry.md): 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](ops_telemetry_dist_trace.md): 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](ops_workload_health_design_workload_metrics.md): 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:** 
+  [AWS Builders Library – Instrumenting Distributed Systems for Operational Visibility](https://aws.amazon.com/builders-library/instrumenting-distributed-systems-for-operational-visibility/) (AWS Builders Library: Como instrumentar sistemas distribuídos para obter observabilidade operacional) 
+  [AWS Distro para OpenTelemetry](https://aws-otel.github.io/) 
+  [AWS Whitepaper Well-Architected Operational Excellence: Design Telemetry](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/design-telemetry.html) (Excelência operacional do Well-Architected: Design de telemetria) 
+  [Creating metrics from log events using filters ](https://docs.aws.amazon.com/Amazon/latest/logs/MonitoringLogData.html) (Criação de métricas de eventos de logs usando filtros) 
+  [Implementing Logging and Monitoring with Amazon CloudWatch](https://docs.aws.amazon.com/prescriptive-guidance/latest/implementing-logging-monitoring-cloudwatch/welcome.html) (Implementação de registro em log e monitoramento com o Amazon CloudWatch) 
+  [Monitoring application health and performance with AWS Distro for OpenTelemetry](https://aws.amazon.com/blogs/opensource/monitoring-application-health-and-performance-with-aws-distro-for-opentelemetry/) (Monitoramento da integridade e da performance das aplicações com o AWS Distro para OpenTelemetry) 
+  [New: How to better monitor your custom application metrics using Amazon CloudWatch Agent](https://aws.amazon.com/blogs/devops/new-how-to-better-monitor-your-custom-application-metrics-using-amazon-cloudwatch-agent/) (Novidade: Como monitorar melhor as métricas de aplicações personalizadas usando o agente do Amazon CloudWatch) 
+  [Observability at AWS](https://aws.amazon.com/products/management-and-governance/use-cases/monitoring-and-observability/) (Observabilidade na AWS) 
+  [Scenario – Publish metrics to CloudWatch](https://docs.aws.amazon.com/Amazon/latest/monitoring/PublishMetrics.html) (Cenário: Publicar métricas no CloudWatch) 
+  [Start Building – How to Monitor your Applications Effectively](https://aws.amazon.com/startups/start-building/how-to-monitor-applications/) (Comece a criar: Como monitorar suas aplicações com eficácia) 
+  [Using CloudWatch with an AWS SDK](https://docs.aws.amazon.com/Amazon/latest/monitoring/sdk-general-information-section.html) (Usar o CloudWatch com um AWS SDK) 

 **Vídeos relacionados:** 
+  [AWS re:Invent 2021: Observability the open-source way](https://www.youtube.com/watch?v=vAnIhIwE5hY) (re:Invent da AWS de 2021: observabilidade por código aberto) 
+  [Collect Metrics and Logs from Amazon EC2 instances with the CloudWatch Agent ](https://www.youtube.com/watch?v=vAnIhIwE5hY) (Coletar métricas e logs das instâncias do Amazon EC2 com o agente do CloudWatch) 
+  [How to Easily Setup Application Monitoring for Your AWS Workloads - AWS Online Tech Talks ](https://www.youtube.com/watch?v=LKCth30RqnA) (Como configurar facilmente o monitoramento de aplicações para as workloads da AWS: AWS Online Tech Talks) 
+  [Mastering Observability of Your Serverless Applications - AWS Online Tech Talks](https://www.youtube.com/watch?v=CtsiXhiAUq8) (Domínio da observabilidade de aplicações de tecnologia sem servidor: AWS Online Tech Talks) 
+  [Open Source Observability with AWS - AWS Virtual Workshop ](https://www.youtube.com/watch?v=vAnIhIwE5hY) (Observabilidade de código aberto com a AWS: Workshop virtual da AWS) 

 **Exemplos relacionados:** 
+  [AWS Logging & Monitoring Example Resources](https://github.com/aws-samples/logging-monitoring-apg-guide-examples) (Recursos de exemplo de registro em log e monitoramento da AWS) 
+  [Solução da AWS: Amazon CloudWatch Monitoring Framework](https://aws.amazon.com/solutions/implementations/amazon-cloudwatch-monitoring-framework/?did=sl_card&trk=sl_card) 
+  [Solução da AWS: Centralized Logging](https://aws.amazon.com/solutions/implementations/centralized-logging/) 
+  [Um workshop de observabilidade](https://catalog.workshops.aws/observability/en-US) 

 **Serviços relacionados:** 
+ [ Amazon CloudWatch ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html)

# OPS04-BP02 Implementar e configurar a telemetria da workload
<a name="ops_telemetry_workload_telemetry"></a>

 Projete e configure a workload para emitir informações sobre o estado interno e o status atual, como o volume de chamadas da API, os códigos de status HTTP e os eventos de escalabilidade. Use essas informações para auxiliá-lo na determinação de quando uma resposta é necessária. 

 Use um serviço, como o [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) para agregar logs e métricas de componentes de carga de trabalho (por exemplo, logs de API do [AWS CloudTrail](https://aws.amazon.com/cloudtrail/), [métricas do AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/lambda-monitoring.html), [logs de fluxo da Amazon VPC ](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html)e aos [outros serviços](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/aws-services-sending-logs.html)). 

 **Antipadrões comuns:** 
+  Seus clientes estão reclamando sobre performance insatisfatória. Não há alterações recentes em seu aplicativo e, portanto, você suspeita de um problema com um componente de carga de trabalho. Você não tem telemetria para analisar e determinar quais componentes estão contribuindo para a performance insatisfatória. 
+  Seu aplicativo está inacessível. Você não tem a telemetria para determinar se é um problema de rede. 

 **Benefícios do estabelecimento desta prática recomendada:** Entender o que está acontecendo dentro da sua carga de trabalho permite que você responda, se necessário. 

 **Nível de exposição a riscos quando esta prática recomendada não for estabelecida:** Alto 

## Orientações para a implementação
<a name="implementation-guidance"></a>
+  Implementar telemetria de log e de métricas: prepare a workload para emitir informações sobre o estado interno, o status e a obtenção de resultados dos negócios. Use essas informações para determinar quando uma resposta é necessária. 
  +  [Gaining better observability of your VMs with Amazon CloudWatch - AWS Online Tech Talks (Como obter melhor observabilidade das VMs com o Amazon CloudWatch: AWS Online Tech Talks)](https://youtu.be/1Ck_me4azMw) 
  +  [How Amazon CloudWatch works (Como funciona o Amazon CloudWatch)](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_architecture.html) 
  +  [What is Amazon CloudWatch (O que é o Amazon CloudWatch?)](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 
  +  [Using Amazon CloudWatch metrics (Uso de métrica do Amazon CloudWatch)](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html) 
  +  [What is Amazon CloudWatch Logs? (O que é o Amazon CloudWatch?)](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) 
    +  Implementar e configurar telemetria na workload: projete e configure a workload para emitir informações sobre o estado interno e o status atual (como volume de chamadas da API, códigos de status HTTP e eventos de escalabilidade). 
      +  [Amazon CloudWatch metrics and dimensions reference (Referência de métricas e de dimensões do Amazon CloudWatch)](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CW_Support_For_AWS.html) 
      +  [AWS CloudTrail](https://aws.amazon.com/cloudtrail/) 
      +  [What Is AWS CloudTrail? (O que é o Amazon CloudTrail?)](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html) 
      +  [Logs de fluxo da VPC](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) 

## Recursos
<a name="resources"></a>

 **Documentos relacionados:** 
+  [AWS CloudTrail](https://aws.amazon.com/cloudtrail/) 
+  [Documentação do Amazon CloudWatch](https://docs.aws.amazon.com/cloudwatch/index.html) 
+  [Amazon CloudWatch metrics and dimensions reference (Referência de métricas e de dimensões do Amazon CloudWatch)](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CW_Support_For_AWS.html) 
+  [How Amazon CloudWatch works (Como funciona o Amazon CloudWatch)](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_architecture.html) 
+  [Using Amazon CloudWatch metrics (Uso de métrica do Amazon CloudWatch)](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html) 
+  [Logs de fluxo da VPC](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) 
+  [What Is AWS CloudTrail? (O que é o Amazon CloudTrail?)](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html) 
+  [What is Amazon CloudWatch Logs? (O que é o Amazon CloudWatch?)](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) 
+  [What is Amazon CloudWatch (O que é o Amazon CloudWatch?)](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 

 **Vídeos relacionados:** 
+  [Application Performance Management on AWS (Gerenciamento da performance de aplicações na AWS)](https://www.youtube.com/watch?v=5T4stR-HFas) 
+  [Gaining Better Observability of Your VMs with Amazon CloudWatch (Como obter melhor observabilidade de suas VMs com o Amazon CloudWatch)](https://youtu.be/1Ck_me4azMw) 
+  [Gaining better observability of your VMs with Amazon CloudWatch - AWS Online Tech Talks (Como obter melhor observabilidade das VMs com o Amazon CloudWatch: AWS Online Tech Talks)](https://youtu.be/1Ck_me4azMw) 

# OPS04-BP03 Implementar a telemetria de atividades dos usuários
<a name="ops_telemetry_customer_telemetry"></a>

Use o código da aplicação para emitir informações sobre atividades do usuário. Exemplos de atividade do usuário incluem fluxos de cliques ou transações iniciadas, abandonadas e concluídas. Use essas informações para ajudar a entender como o aplicativo é usado, padrões de uso e determinar quando uma resposta é necessária. A identificação da atividade dos usuários reais possibilita que você crie uma atividade sintética que pode ser usada para monitorar e testar sua workload na produção.

 **Resultado desejado:** 
+  Sua workload emite telemetria de atividades dos usuários em todas as aplicações. 
+  Você utiliza atividades de usuário sintético para monitorar a aplicação durante horários fora do pico. 

 **Antipadrões comuns:** 
+ Seus desenvolvedores implantaram um novo recurso sem telemetria do usuário. Não é possível saber se os clientes estão usando o recurso sem perguntar a eles. 
+ Após uma implantação em sua aplicação front-end, você observa um aumento na utilização. Como você não conta com telemetria de atividades dos usuários, é difícil identificar o problema exato.
+  Em um horário fora do pico, ocorre um problema em sua aplicação. Você só o percebe de manhã, quando os usuários se conectam, porque não configurou uma atividade de usuário sintético. 

 **Benefícios do estabelecimento desta prática recomendada:** 
+  Compreenda os padrões comuns ou comportamentos inesperados do usuário a fim de otimizar a funcionalidade da aplicação para que ela se ajuste às suas metas de negócios. 
+  Monitore a aplicação do ponto de vista dos usuários para detectar problemas com a experiência do usuário, como links quebrados ou respostas lentas aos cliques. 
+  Identifique a causa raiz dos problemas seguindo os passos que o usuário afetado realizou. 
+  As atividades de usuário sintético podem oferecer sinais de alerta antecipados de queda de performance durante horários fora do pico, o que permite que você tome uma medida corretiva antes de os usuários reais serem afetados. 

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

## Orientações para a implementação
<a name="implementation-guidance"></a>

 Projete o código da aplicação para emitir informações sobre atividades do usuário. Use essas informações para ajudar a entender como o aplicativo é usado, padrões de uso e determinar quando uma resposta é necessária. Utilize a atividade de usuário sintético para fornecer insights sobre a performance da aplicação durante horários fora do pico. 

 **Exemplo de clientes** 

 A Loja UmaEmpresa implementa telemetria de atividades dos usuários em várias camadas da aplicação. A telemetria de front-end monitora eventos de ponteiro e movimento, ao passo que os microsserviços de back-end emitem telemetria monitorando eventos como adição de um produto ao carrinho do usuário e finalização da compra. Juntos, eles oferecem observabilidade sobre a experiência do usuário. A Loja UmaEmpresa também usa telemetria de usuários sintéticos para identificar problemas quando há menos usuários na workload. 

 **Etapas da implementação** 

1.  Instrumente sua aplicação para emitir telemetria (métricas, eventos, logs e rastreamentos) sobre as atividades dos usuários. Assim que instrumentados, os componentes de front-end emitem telemetria automaticamente à medida que o usuário interage com a interface do usuário. As aplicações de back-end emitem telemetria sobre eventos e transações dos usuários. 

   1.  O [Amazon CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) pode oferecer insights sobre a experiência do usuário final para aplicações de front-end. 

   1.  Você pode usar o [AWS Distro para Open Telemetry](https://aws-otel.github.io/) para instrumentar e capturar telemetria de suas aplicações. 

   1.  [O Amazon Pinpoint](https://docs.aws.amazon.com/pinpoint/latest/developerguide/welcome.html) pode analisar o comportamento dos usuários por meio de campanhas e oferecer insights sobre o envolvimento dos usuários. 

   1.  Os clientes que contam com o Enterprise Support podem solicitar o workshop [Como criar uma estratégia de monitoramento](https://aws.amazon.com/premiumsupport/technology-and-programs/proactive-services/) ao respectivo gerente de conta técnico. Esse workshop ajuda você a elaborar uma estratégia de observabilidade para sua workload. 

1.  Crie uma atividade de usuário sintético para monitorar sua aplicação. Uma atividade de usuário sintético simula ações do usuário para validar se sua aplicação está funcionando adequadamente. 

   1.  O [Amazon CloudWatch Synthetics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) pode simular atividades do usuário usando canários. 

 **Nível de esforço do plano de implementação:** alto. A instrumentação total de sua aplicação para coletar telemetria de atividades dos usuários pode exigir um esforço de desenvolvimento significativo. 

## Recursos
<a name="resources"></a>

 **Práticas recomendadas relacionadas:** 
+  [OPS04-BP01 Implementar a telemetria de aplicações](ops_telemetry_application_telemetry.md): a telemetria de aplicações é necessária para incorporar a telemetria de atividades dos usuários. 
+  [OPS04-BP02 Implementar e configurar a telemetria da workload](ops_telemetry_workload_telemetry.md): parte da telemetria de atividades dos usuários também pode ser considerada telemetria de workload. 

 **Documentos relacionados:** 
+ [Como monitorar suas aplicações com eficácia](https://aws.amazon.com/startups/start-building/how-to-monitor-applications/)

 **Vídeos relacionados:** 
+ [AWS re:Invent 2020: Monitoramento de serviços de produção na Amazon ](https://www.youtube.com/watch?v=hnPcf_Czbvw)
+ [AWS re:Invent 2021: Otimização de aplicações por meio de insights sobre o usuário final com o Amazon CloudWatch RUM ](https://www.youtube.com/watch?v=NMaeujY9A9Y)
+ [ Teste e monitoramento de APIs na AWS: AWS Online Tech Talks ](https://www.youtube.com/watch?v=VQM38CZyjFY)

 **Exemplos relacionados:** 
+ [ Cliente da Web do Amazon CloudWatch RUM ](https://github.com/aws-observability/aws-rum-web)
+ [AWS Distro para Open Telemetry ](https://aws-otel.github.io/)
+ [ Implementação do monitoramento de usuários reais de uma aplicação Amplify usando o Amazon CloudWatch RUM ](https://aws.amazon.com/blogs/mobile/implementing-real-user-monitoring-of-amplify-application-using-amazon-cloudwatch-rum/)
+ [Um workshop de observabilidade](https://catalog.workshops.aws/observability/en-US/intro)

 **Serviços relacionados:** 
+ [ Amazon CloudWatch RUM ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html)
+ [ Amazon CloudWatch Synthetics ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html)
+ [ Amazon Pinpoint ](https://docs.aws.amazon.com/pinpoint/latest/developerguide/welcome.html)

# OPS04-BP04 Implementar a telemetria de dependências
<a name="ops_telemetry_dependency_telemetry"></a>

Projete e configure sua workload para emitir informações sobre o status dos recursos dos quais ela depende. Trata-se de recursos externos à workload. Exemplos de dependências externas podem incluir bancos de dados externos, DNS e conectividade de rede. Use essas informações para determinar quando uma resposta é necessária e forneça contexto adicional sobre o estado da workload.

 **Resultado desejado:** 
+  Sua workload emite telemetria sobre o status das dependências externas. 
+  Você recebe notificação quando há dependências não íntegras. 

 **Antipadrões comuns:** 
+ Seus usuários não conseguem alcançar seu site. Não é possível determinar se o motivo é um problema de DNS sem executar manualmente uma verificação para ver se o provedor de DNS está funcionando. 
+ Seu aplicativo de carrinho de compras não consegue concluir transações. Não é possível determinar se há um problema com o provedor de processamento do seu cartão de crédito sem entrar em contato com ele para verificar. 

 **Benefícios do estabelecimento desta prática recomendada:** 
+  O monitoramento de dependências externas possibilita a identificação antecipada de problemas. 
+  Ter percepção da integridade de suas dependências ajuda na resolução de problemas. 

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

## Orientações para a implementação
<a name="implementation-guidance"></a>

 Trabalhe com as partes interessadas para identificar as dependências externas de sua workload. As dependências externas podem incluir bancos de dados externos, APIs ou conectividade entre sua workload e recursos em outros ambientes. Desenvolva uma estratégia de monitoramento para oferecer visibilidade sobre a integridade das dependências e alertar proativamente se o status mudar. 

 **Exemplo de clientes** 

 A workload de comércio eletrônico da Loja UmaEmpresa depende de um banco de dados localizado em outro ambiente. Toda noite, os dados são inseridos no banco de dados para uso em uma plataforma de comércio eletrônico. A conectividade de rede e o suporte ao banco de dados são propriedade de outras equipes. A equipe de comércio eletrônico configurou vários alarmes canário para alertá-la quando a conectividade de rede cair, o banco de dados ficar inacessível e não for possível concluir o trabalho. 

 **Etapas da implementação** 

1.  Identifique as dependências externas de sua workload. Implemente telemetria para monitorar a integridade ou a acessibilidade das dependências. 

   1.  Os clientes da AWS podem usar o [AWS Health Dashboard](https://docs.aws.amazon.com/health/latest/ug/what-is-aws-health.html) para monitorar a integridade dos serviços da AWS e receber notificações sobre eventos de integridade. 

   1.  O [Amazon CloudWatch Synthetics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) pode ser usado para monitorar APIs, URLs e conteúdos de site. 

1.  Configure alertas para notificar sua organização quando uma dependência não for íntegra ou não for acessível. 

   1.  Os clientes que contam com o Enterprise Support podem solicitar o workshop [Como criar uma estratégia de monitoramento](https://aws.amazon.com/premiumsupport/technology-and-programs/proactive-services/) ao respectivo gerente de conta técnico. Esse workshop ajudará você a elaborar uma estratégia de observabilidade para sua workload. 

1.  Identifique contatos para dependências nos casos em que a dependência não for íntegra. Documente acordos de serviço, processo de encaminhamento e como entrar em contato com o proprietário da dependência. 

 **Nível de esforço do plano de implementação:** médio. A implementação de telemetria de dependências pode exigir a criação de soluções de monitoramento personalizadas. 

## Recursos
<a name="resources"></a>

 **Práticas recomendadas relacionadas:** 
+  [OPS04-BP01 Implementar a telemetria de aplicações](ops_telemetry_application_telemetry.md): você pode introduzir o monitoramento de dependências na telemetria de sua aplicação. 

 **Documentos relacionados:** 
+ [ Monitore ininterruptamente seus endpoints internos privados usando o CloudWatch Synthetics ](https://aws.amazon.com/blogs/mt/monitor-your-private-endpoints-using-cloudwatch-synthetics/)

 **Vídeos relacionados:** 
+ [AWS re:Invent 2018: Monitore tudo: Amazon CloudWatch em ação com a BBC ](https://www.youtube.com/watch?v=uuBuc6OAcVY)
+ [AWS re:Invent 2022: Desenvolvimento de uma estratégia de observabilidade ](https://www.youtube.com/watch?v=Ub3ATriFapQ)
+ [AWS re:Invent 2022: Práticas recomendadas de observabilidade na Amazon ](https://www.youtube.com/watch?v=zZPzXEBW4P8)

 **Exemplos relacionados:** 
+ [Um workshop de observabilidade](https://catalog.workshops.aws/observability/en-US/intro)
+ [ Laboratórios do Well-Architected: Monitoramento de dependências ](https://www.wellarchitectedlabs.com/operational-excellence/100_labs/100_dependency_monitoring/)

 **Serviços relacionados:** 
+  [Amazon CloudWatch Synthetics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) 
+ [AWS Health](https://docs.aws.amazon.com/health/latest/ug/what-is-aws-health.html)

# OPS04-BP05 Implementar a capacidade de rastreamento das transações
<a name="ops_telemetry_dist_trace"></a>

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
<a name="implementation-guidance"></a>

 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** 

1.  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. 

   1.  É possível usar a autoinstrumentação no [AWS Distro para OpenTelemetry](https://aws-otel.github.io/) a fim de implementar rastreamentos nas aplicações existentes sem modificar o código da aplicação. 

1.  Gere mapas da topologia da aplicação. Use esses mapas para melhorar o desempenho, obter informações e auxiliar na resolução de problemas. 

   1.  O [AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 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
<a name="resources"></a>

 **Práticas recomendadas relacionadas:** 
+  [OPS04-BP01 Implementar a telemetria de aplicações](ops_telemetry_application_telemetry.md) – 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 ](https://aws.amazon.com/blogs/mt/discover-application-issues-get-notifications-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 ](https://aws.amazon.com/blogs/mt/wealthfront-utilizes-aws-x-ray-analyze-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 ](https://aws.amazon.com/blogs/aws/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) ](https://www.youtube.com/watch?v=5MQkX57eTh8) (AWS re:Invent 2018: aprofundamento no AWS X-Ray: monitore aplicações modernas (DEV324))
+ [AWS re:Invent 2022 - Building observable applications with OpenTelemetry (BOA310) ](https://www.youtube.com/watch?v=efk8XFJrW2c) (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)](https://www.youtube.com/watch?v=2IJPpdp9xU0) (AWS re:Invent 2022: capacidade de observação por código aberto (COP301-R))
+ [ Capturing Trace Data with the AWS Distro for OpenTelemetry ](https://www.youtube.com/watch?v=837NtV0McOA) (Captura de dados de rastreamento com o AWS Distro para OpenTelemetry)
+ [ Optimize Application Performance with AWS X-Ray](https://www.youtube.com/watch?v=5lIdNrrO_o8) (Otimize o desempenho das aplicações com o AWS X-Ray)

 **Exemplos relacionados:** 
+ [AWS X-Ray Multi API Gateway Tracing Example ](https://github.com/aws-samples/aws-xray-multi-api-gateway-tracing-example) (Exemplo de rastreamento do gateway de várias APIs do AWS X-Ray)

 **Serviços relacionados:** 
+  [AWS Distro for OpenTelemetry](https://aws-otel.github.io/) 
+  [AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 