

# OPS 4. Como implementar a observabilidade em sua workload?
<a name="ops-04"></a>

Implemente a observabilidade na workload para poder entender seu estado e tomar decisões baseadas em dados com base nos requisitos de negócios.

**Topics**
+ [OPS04-BP01 Identificar indicadores-chave de performance](ops_observability_identify_kpis.md)
+ [OPS04-BP02 Implementar a telemetria de aplicações](ops_observability_application_telemetry.md)
+ [OPS04-BP03 Implementar telemetria da experiência do usuário](ops_observability_customer_telemetry.md)
+ [OPS04-BP04 Implementar a telemetria de dependências](ops_observability_dependency_telemetry.md)
+ [OPS04-BP05 Implementar rastreamento distribuído](ops_observability_dist_trace.md)

# OPS04-BP01 Identificar indicadores-chave de performance
<a name="ops_observability_identify_kpis"></a>

 A implementação da observabilidade em sua workload começa com a compreensão de seu estado e a tomada de decisões baseadas em dados de acordo com os requisitos de negócios. Uma das formas mais eficazes de garantir o alinhamento entre as atividades de monitoramento e os objetivos de negócios é definir e monitorar os indicadores-chave de performance (KPIs). 

 **Resultado desejado:** práticas de observabilidade eficientes que estão estreitamente alinhadas aos objetivos de negócios, garantindo que os esforços de monitoramento estejam sempre a serviço de resultados comerciais tangíveis. 

 **Práticas comuns que devem ser evitadas:** 
+  KPIs indefinidos: trabalhar sem KPIs claros pode levar ao monitoramento excessivo ou insuficiente, fazendo com que sinais vitais possam ser perdidos. 
+  KPIs estáticos: não revisitar ou refinar os KPIs à medida que a workload ou os objetivos de negócios evoluem. 
+  Desalinhamento: foco em métricas técnicas que não se correlacionam diretamente com os resultados comerciais ou são mais difíceis de correlacionar com problemas do mundo real. 

 **Benefícios de implementar esta prática recomendada:** 
+  Facilidade de identificação de problemas: os KPIs de negócios geralmente mostram os problemas com mais clareza do que as métricas técnicas. Uma queda em um KPI comercial pode identificar um problema com mais eficiência do que analisar várias métricas técnicas. 
+  Alinhamento comercial: garante que as atividades de monitoramento apoiem diretamente os objetivos de negócios. 
+  Eficiência: priorize os recursos de monitoramento e a atenção nas métricas que importam. 
+  Proatividade: reconheça e resolva os problemas antes que eles tenham implicações comerciais mais amplas. 

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

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

 Para definir com eficácia os KPIs da workload: 

1.  **Comece com os resultados comerciais:** antes de mergulhar nas métricas, entenda o resultado comercial desejado. É sobre aumento de vendas, maior engajamento do usuário ou tempos de resposta mais rápidos? 

1.  **Correlacione métricas técnicas com objetivos de negócios:** nem todas as métricas técnicas têm impacto direto nos resultados comerciais. Identifique aquelas que têm, mas muitas vezes é mais fácil identificar um problema usando um KPI comercial. 

1.  **Use o [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html):** utilize o CloudWatch para definir e monitorar métricas que representam seus KPIs. 

1.  **Revise e atualize regularmente os KPIs:** à medida que sua workload e seus negócios evoluem, mantenha seus KPIs relevantes. 

1.  **Envolva as partes interessadas:** envolva as equipes técnicas e comerciais na definição e revisão dos KPIs. 

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

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

 **Práticas recomendadas relacionadas:** 
+ [OPS04-BP02 Implementar a telemetria de aplicações](ops_observability_application_telemetry.md)
+ [OPS04-BP03 Implementar telemetria da experiência do usuário](ops_observability_customer_telemetry.md)
+ [OPS04-BP04 Implementar a telemetria de dependências](ops_observability_dependency_telemetry.md)
+ [OPS04-BP05 Implementar rastreamento distribuído](ops_observability_dist_trace.md)

 **Documentos relacionados:** 
+ [Práticas recomendadas de observabilidade da AWS](https://aws-observability.github.io/observability-best-practices/)
+ [Guia do usuário do CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html)
+ [Curso de desenvolvimento de habilidades de observabilidade da AWS](https://explore.skillbuilder.aws/learn/course/external/view/elearning/14688/aws-observability)

 **Vídeos relacionados:** 
+ [Desenvolver de uma estratégia de observabilidade](https://www.youtube.com/watch?v=Ub3ATriFapQ)

 **Exemplos relacionados:** 
+  [Workshop One Observability](https://catalog.workshops.aws/observability/en-US) 

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

 A telemetria de aplicações serve como base para a observabilidade da workload. É fundamental emitir uma telemetria que ofereça informações práticas sobre o estado da sua aplicação e a obtenção de resultados técnicos e comerciais. Da solução de problemas à medição do impacto de um novo recurso ou à garantia do alinhamento com os indicadores-chave de performance (KPIs) de negócios, a telemetria de aplicações informa a maneira como você cria, opera e desenvolve sua workload. 

 Métricas, logs e rastreamentos formam os três pilares principais da observabilidade. Eles servem como ferramentas de diagnóstico que descrevem o estado de sua aplicação. Com o tempo, eles auxiliam na criação de linhas de base e na identificação de anomalias. No entanto, para garantir o alinhamento entre as atividades de monitoramento e os objetivos de negócios, é fundamental definir e monitorar os KPIs. Os KPIs de negócios geralmente facilitam a identificação de problemas em comparação com métricas técnicas isoladas. 

 Outros tipos de telemetria, como monitoramento de usuários reais (RUM) e transações sintéticas, complementam essas fontes de dados primárias. O RUM oferece informações sobre as interações do usuário em tempo real, enquanto as transações sintéticas simulam possíveis comportamentos do usuário, ajudando a detectar gargalos antes que usuários reais os encontrem. 

 **Resultado desejado:** obtenha insights acionáveis sobre a performance da sua workload. Esses insights permitem que você tome decisões proativas sobre otimização de performance, tenha maior estabilidade da workload, simplifique os processos de CI/CD e utilize recursos de forma eficaz. 

 **Práticas comuns que devem ser evitadas:** 
+  **Observabilidade incompleta:** negligência da incorporação da observabilidade em todas as camadas da workload, resultando em pontos cegos que podem obscurecer insights vitais sobre performance e comportamento do sistema. 
+  **Visualização fragmentada dos dados:** quando os dados estão espalhados por várias ferramentas e sistemas, torna-se difícil manter uma visão holística da integridade e da performance da sua workload. 
+  **Problemas relatados pelo usuário:** um sinal de que falta a detecção proativa de problemas por meio da telemetria e do monitoramento de KPI de negócios. 

 **Benefícios de implementar esta prática recomendada:** 
+  **Tomada de decisão informada:** com insights de telemetria e KPIs de negócios, você pode tomar decisões baseadas em dados. 
+  **Eficiência operacional aprimorada:** a utilização de recursos baseada em dados leva à redução de custos. 
+  **Estabilidade aprimorada da workload:** detecção e resolução mais rápidas de problemas, levando a um melhor tempo de atividade. 
+  **Processos racionalizados de CI/CD:** os insights dos dados de telemetria facilitam o refinamento dos processos e a entrega confiável de código. 

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

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

 Para implementar a telemetria de aplicações para sua workload, use serviços da AWS como o [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) e o [AWS X-Ray](https://aws.amazon.com/xray/). O Amazon CloudWatch fornece um conjunto abrangente de ferramentas de monitoramento, permitindo que você observe seus recursos e aplicações em ambientes da AWS e on-premises. Ele coleta, rastreia e analisa métricas, consolida e monitora dados de log e reage às mudanças em seus recursos, aprimorando sua compreensão de como a workload opera. Em conjunto, o AWS X-Ray permite rastrear, analisar e depurar suas aplicações, oferecendo uma compreensão profunda do comportamento da workload. Com recursos como mapas de serviços, distribuições de latência e cronogramas de rastreamento, o AWS X-Ray fornece insights sobre a performance da workload e os gargalos que a afetam. 

### Etapas de implementação
<a name="implementation-steps"></a>

1.  **Identifique quais dados coletar:** determine as métricas essenciais, os logs e os rastreamentos essenciais que ofereceriam informações substanciais sobre a integridade, a performance e o comportamento da sua workload. 

1.  **Implante o [agente do CloudWatch](https://aws.amazon.com/cloudwatch/):** o agente do CloudWatch é fundamental na aquisição de métricas do sistema e da aplicação e de logs de sua workload e de sua infraestrutura subjacente. O agente do CloudWatch também pode ser usado para coletar OpenTelemetry ou rastreamentos do X-Ray e enviá-los ao X-Ray. 

1.  **Implemente a detecção de anomalias para logs e métricas:** use a [detecção de anomalias do CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/LogsAnomalyDetection.html) e a [detecção de anomalias do CloudWatch Metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Anomaly_Detection.html) para identificar automaticamente atividades incomuns nas operações da aplicação. Essas ferramentas usam algoritmos de machine learning para detectar e alertar sobre anomalias, o que aprimora os recursos de monitoramento e acelera o tempo de resposta a possíveis interrupções ou ameaças à segurança. Configure esses recursos para gerenciar proativamente a integridade e a segurança das aplicações. 

1.  **Proteja dados de log confidenciais:** use a [proteção de dados do Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/mask-sensitive-log-data.html) para mascarar informações confidenciais em seus logs. Esse recurso ajuda a manter a privacidade e a conformidade por meio da detecção automática e do mascaramento de dados confidenciais antes de serem acessados. Implemente o mascaramento de dados para tratar e proteger com segurança detalhes confidenciais, como informações de identificação pessoal (PII). 

1.  **Defina e monitore os KPIs de negócios:** estabeleça [métricas personalizadas](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html) que se alinhem aos seus [resultados de negócios](https://aws-observability.github.io/observability-best-practices/guides/operational/business/monitoring-for-business-outcomes/). 

1.  **Instrumente sua aplicação com o AWS X-Ray:** além de implantar o agente CloudWatch, é fundamental [instrumentar sua aplicação](https://docs.aws.amazon.com/xray/latest/devguide/xray-instrumenting-your-app.html) para emitir dados de rastreamento. Esse processo pode fornecer mais insights sobre o comportamento e a performance da workload. 

1.  **Padronize a coleta de dados em toda a sua aplicação:** padronize as práticas de coleta de dados em toda a aplicação. A uniformidade ajuda a correlacionar e analisar dados, fornecendo uma visão abrangente do comportamento da aplicação. 

1.  **Implemente a observabilidade entre contas:** aumente a eficiência do monitoramento entre várias Contas da AWS com a [observabilidade entre contas do Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html). Com esse recurso, é possível consolidar métricas, logs e alarmes de contas diferentes em uma única visualização, o que simplifica o gerenciamento e melhora os tempos de resposta para problemas identificados em todo o ambiente da AWS da organização. 

1.  **Analise e aja com base em dados:** quando a coleta e a normalização dos dados estiverem implementadas, use o [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/features/) para análise de métricas e logs e o [AWS X-Ray](https://aws.amazon.com/xray/features/) para análise de rastreamento. Essa análise pode gerar informações cruciais sobre a integridade, a performance e o comportamento da workload, orientando o processo de tomada de decisão. 

 **Nível de esforço do plano de implementação:** Alto 

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

 **Práticas recomendadas relacionadas:** 
+  [OPS04-BP01 Definir KPIs da workload](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_observability_identify_kpis.html) 
+  [OPS04-BP03 Implementar a telemetria de atividades dos usuários](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_observability_customer_telemetry.html) 
+  [OPS04-BP04 Implementar a telemetria de dependências](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_observability_dependency_telemetry.html) 
+  [OPS04-BP05 Implementar a rastreabilidade das transações](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_observability_dist_trace.html) 

 **Documentos relacionados:** 
+  [Práticas recomendadas de observabilidade da AWS](https://aws-observability.github.io/observability-best-practices/) 
+  [Guia do usuário do CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 
+  [AWS X-Ray Guia do desenvolvedor](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 
+  [Instrumentar sistemas distribuídos para visibilidade operacional](https://aws.amazon.com/builders-library/instrumenting-distributed-systems-for-operational-visibility) 
+  [Curso de desenvolvimento de habilidades de observabilidade da AWS](https://explore.skillbuilder.aws/learn/course/external/view/elearning/14688/aws-observability) 
+  [Novidades do Amazon CloudWatch](https://aws.amazon.com/about-aws/whats-new/management-and-governance/?whats-new-content.sort-by=item.additionalFields.postDateTime&whats-new-content.sort-order=desc&awsf.whats-new-products=general-products%23amazon-cloudwatch) 
+  [Novidades da AWS X-Ray](https://aws.amazon.com/about-aws/whats-new/developer-tools/?whats-new-content.sort-by=item.additionalFields.postDateTime&whats-new-content.sort-order=desc&awsf.whats-new-products=general-products%23aws-x-ray) 

 **Vídeos relacionados:** 
+  [AWS re:Invent 2022: práticas recomendadas de observabilidade na Amazon](https://youtu.be/zZPzXEBW4P8) 
+  [AWS re:Invent 2022: desenvolver uma estratégia de observabilidade](https://youtu.be/Ub3ATriFapQ) 

 **Exemplos relacionados:** 
+  [Workshop One Observability](https://catalog.workshops.aws/observability) 
+  [Biblioteca de soluções da AWS: monitorar aplicações com o Amazon CloudWatch](https://aws.amazon.com/solutions/implementations/application-monitoring-with-cloudwatch) 

# OPS04-BP03 Implementar telemetria da experiência do usuário
<a name="ops_observability_customer_telemetry"></a>

 É essencial obter insights profundos sobre as experiências dos clientes e as interações com sua aplicação. O monitoramento de usuários reais (RUM) e as transações sintéticas servem como ferramentas poderosas para essa finalidade. O RUM fornece dados sobre interações reais do usuário, oferecendo uma perspectiva não filtrada da satisfação do usuário, enquanto as transações sintéticas simulam as interações do usuário, ajudando a detectar possíveis problemas antes mesmo que eles afetem os usuários reais. 

 **Resultado desejado:** uma visão holística da experiência do cliente, detecção proativa de problemas e otimização das interações do usuário para oferecer experiências digitais perfeitas. 

 **Práticas comuns que devem ser evitadas:** 
+  Aplicações sem monitoramento de usuários reais (RUM): 
  +  Detecção atrasada de problemas: sem o RUM, talvez você não fique ciente dos gargalos ou problemas de performance até que os usuários reclamem. Essa abordagem reativa pode levar à insatisfação do cliente. 
  +  Falta de insights sobre a experiência do usuário: não usar o RUM significa perder dados cruciais que mostram como usuários reais interagem com sua aplicação, limitando sua capacidade de otimizar a experiência do usuário. 
+  Aplicações sem transações sintéticas: 
  +  Casos de borda perdidos: transações sintéticas ajudam você a testar caminhos e funções que podem não ser usados com frequência por usuários comuns, mas são essenciais para determinadas funções de negócios. Sem eles, esses caminhos podem ter problemas de funcionamento e passar despercebidos. 
  +  Verificação de problemas quando a aplicação não está sendo usada: testes sintéticos regulares podem simular momentos em que usuários reais não estão interagindo ativamente com sua aplicação, garantindo que o sistema sempre funcione corretamente. 

 **Benefícios de implementar esta prática recomendada:** 
+  Detecção proativa de problemas: identifique e resolva possíveis problemas antes que eles afetem usuários reais. 
+  Experiência otimizada do usuário: o feedback contínuo do RUM ajuda a refinar e aprimorar a experiência geral do usuário. 
+  Informações sobre a performance do dispositivo e do navegador: entenda a performance da sua aplicação em vários dispositivos e navegadores, permitindo uma maior otimização. 
+  Fluxos de trabalho de negócios validados: transações sintéticas regulares garantem que as principais funcionalidades e os caminhos críticos permaneçam operacionais e eficientes. 
+  Performance aprimorada da aplicação: utilize as informações coletadas de dados reais do usuário para melhorar a capacidade de resposta e a confiabilidade da aplicação. 

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

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

 Para aproveitar o RUM e as transações sintéticas na telemetria da atividade do usuário, a AWS oferece serviços como o [Amazon CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) e o [Amazon CloudWatch Synthetics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html). Métricas, logs e rastreamentos, juntamente com dados de atividades do usuário, fornecem uma visão abrangente do estado operacional da aplicação e da experiência do usuário. 

### Etapas de implementação
<a name="implementation-steps"></a>

1.  **Implemente o Amazon CloudWatch RUM:** integre sua aplicação ao CloudWatch RUM para coletar, analisar e apresentar dados reais do usuário. 

   1.  Use a biblioteca [JavaScript RUM do CloudWatch para integrar o RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) à aplicação. 

   1.  Configure painéis para visualizar e monitorar dados reais do usuário. 

1.  **Configure o CloudWatch Synthetics:** crie canários ou rotinas com script para simular as interações do usuário com sua aplicação. 

   1.  Defina fluxos de trabalho e caminhos de aplicação críticos. 

   1.  Crie canários usando [scripts do CloudWatch Synthetics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) para simular as interações do usuário nesses caminhos. 

   1.  Programe e monitore os canários para serem executados em intervalos específicos, garantindo verificações de performance consistentes. 

1.  **Analise e aja sobre os dados:** utilize dados de RUM e transações sintéticas para obter insights e tomar medidas corretivas quando anomalias forem detectadas. Use painéis e alarmes do CloudWatch para se manter informado. 

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

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

 **Práticas recomendadas relacionadas:** 
+  [OPS04-BP01 Identificar indicadores-chave de performance](ops_observability_identify_kpis.md) 
+  [OPS04-BP02 Implementar a telemetria de aplicações](ops_observability_application_telemetry.md) 
+  [OPS04-BP04 Implementar a telemetria de dependências](ops_observability_dependency_telemetry.md) 
+  [OPS04-BP05 Implementar rastreamento distribuído](ops_observability_dist_trace.md) 

 **Documentos relacionados:** 
+ [Guia do Amazon CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html)
+ [Guia do Amazon CloudWatch Synthetics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html)

 **Vídeos relacionados:** 
+ [Otimizar aplicações com base em insights do usuário final com o Amazon CloudWatch RUM](https://www.youtube.com/watch?v=NMaeujY9A9Y)
+ [Destaque da AWS On Air: Monitoramento de usuários reais para Amazon CloudWatch ](https://www.youtube.com/watch?v=r6wFtozsiVE)

 **Exemplos relacionados:** 
+ [Workshop One Observability](https://catalog.workshops.aws/observability/en-US/intro)
+ [Repositório do Git para cliente Web do Amazon CloudWatch RUM](https://github.com/aws-observability/aws-rum-web)
+ [Usar o Amazon CloudWatch Synthetics para medir o tempo de carregamento da página](https://github.com/aws-samples/amazon-cloudwatch-synthetics-page-performance)

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

 A telemetria de dependências é essencial para monitorar a integridade e a performance dos serviços e componentes externos dos quais a workload depende. Ela fornece insights valiosos sobre acessibilidade, tempos limite e outros eventos críticos relacionados a dependências, como DNS, bancos de dados ou APIs de terceiros. Ao instrumentar sua aplicação para emitir métricas, logs e rastreamentos sobre essas dependências, você adquire uma compreensão mais clara dos possíveis gargalos, problemas de performance ou falhas que podem afetar a workload. 

 **Resultado desejado:** as dependências das quais a workload depende estão funcionando conforme o esperado, permitindo que você resolva problemas de forma proativa e garanta a performance ideal da workload. 

 **Práticas comuns que devem ser evitadas:** 
+  **Negligenciar as dependências externas:** focar apenas nas métricas internas da aplicação e negligenciar as métricas relacionadas às dependências externas. 
+  **Ausência de monitoramento proativo**: aguardar o surgimento de problemas em vez de monitorar continuamente a integridade e a performance da dependência. 
+  **Monitoramento em silos:** usar várias ferramentas de monitoramento diferentes, o que pode resultar em visualizações fragmentadas e inconsistentes da integridade da dependência. 

 **Benefícios de implementar esta prática recomendada:** 
+  **Maior confiabilidade da workload:** garantia de que as dependências externas estejam consistentemente disponíveis e tenham uma performance ideal. 
+  **Detecção e resolução mais rápidas de problemas:** identificação e resolução proativa de problemas com dependências antes que elas afetem a workload. 
+  **Visão abrangente:** obtenção de uma visão holística dos componentes internos e externos que influenciam a integridade da workload. 
+  **Escalabilidade aprimorada da workload:** compreensão dos limites de escalabilidade e das características de performance das dependências externas. 

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

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

 Implemente a telemetria de dependências começando com a identificação dos serviços, da infraestrutura e dos processos dos quais a workload depende. Quantifique quais são as boas condições quando essas dependências estão funcionando conforme o esperado e determine quais dados serão necessários para medi-las. Com essas informações, você pode criar painéis e alertas que forneçam insights para suas equipes de operações sobre o estado dessas dependências. Use ferramentas da AWS para descobrir e quantificar os impactos quando as dependências não tiverem a performance necessária. Revise continuamente sua estratégia para considerar as mudanças nas prioridades, metas e insights obtidos. 

### Etapas de implementação
<a name="implementation-steps"></a>

 Para implementar a telemetria de dependências de forma eficaz: 

1.  **Identifique dependências externas:** colabore com as partes interessadas para identificar as dependências externas das quais a workload depende. As dependências externas podem abranger serviços como bancos de dados externos, APIs de terceiros, rotas de conectividade de rede para outros ambientes e serviços de DNS. O primeiro passo para uma telemetria de dependências eficaz é entender de forma abrangente quais são essas dependências. 

1.  **Desenvolver uma estratégia de monitoramento:** depois de obter uma visão clara de suas dependências externas, elabore uma estratégia de monitoramento personalizada para elas. Isso envolve entender a importância de cada dependência, seu comportamento esperado e quaisquer contratos ou metas de nível de serviço associados (SLA ou SLTs). Configure alertas proativos para receber notificações sobre mudanças de status ou desvios de performance. 

1.  **Use o [monitoramento de rede](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Network-Monitoring-Sections.html):** use o [Internet Monitor](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-InternetMonitor.html) e o [Network Monitor](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/what-is-network-monitor.html) para obter informações abrangentes sobre as condições globais da Internet e da rede. Essas ferramentas ajudam você a entender e reagir a interrupções ou degradações de performance que afetam as dependências externas. 

1.  **Mantenha-se a par do [AWS Health](https://aws.amazon.com/premiumsupport/technology/aws-health/):** o AWS Health é a fonte de informações confiável sobre a integridade dos seus recursos da Nuvem AWS. Use o AWS Health para visualizar e receber notificações sobre quaisquer eventos de serviço atuais e alterações futuras, como eventos planejados de ciclo de vida, a fim de que possa tomar medidas para mitigar os impactos. 

   1.  [Crie notificações de eventos do AWS Health ajustados à finalidade](https://docs.aws.amazon.com/health/latest/ug/user-notifications.html) para canais de e-mail e chat por meio do [Notificações de Usuários da AWS](https://docs.aws.amazon.com/notifications/latest/userguide/what-is-service.html) e integre-as programaticamente às [suas ferramentas de monitoramento e alerta por meio do Amazon EventBridge](https://docs.aws.amazon.com/health/latest/ug/cloudwatch-events-health.html) ou da [API do AWS Health](https://docs.aws.amazon.com/health/latest/APIReference/Welcome.html). 

   1.  Para planejar e acompanhar o progresso de eventos de integridade que exijam ações, utilize o Amazon EventBridge ou a API do AWS Health para fazer a integração com ferramentas de gerenciamento de alterações ou de ITSM que você já esteja usando (como [Jira](https://docs.aws.amazon.com/smc/latest/ag/cloud-sys-health.html) ou [ServiceNow](https://docs.aws.amazon.com/smc/latest/ag/sn-aws-health.html)). 

   1.  Se você usar o AWS Organizations, habilite a [visualização da organização para o AWS Health](https://docs.aws.amazon.com/health/latest/ug/aggregate-events.html) a fim de agregar eventos do AWS Health em todas as contas. 

1.  **Instrumente sua aplicação com o [AWS X-Ray](https://aws.amazon.com/xray/):** o AWS X-Ray fornece informações sobre a performance das aplicações e de suas respectivas dependências subjacentes. Ao rastrear as solicitações do início ao fim, você pode identificar gargalos ou falhas nos serviços ou componentes externos dos quais sua aplicação depende. 

1.  **Use o [Amazon DevOps Guru](https://aws.amazon.com/devops-guru/):** esse serviço orientado por machine learning identifica problemas operacionais, prevê quando problemas críticos podem ocorrer e recomenda ações específicas a serem tomadas. Ele é inestimável para ter informações sobre dependências e determinar que elas não são a fonte dos problemas operacionais. 

1.  **Monitore regularmente:** monitore continuamente métricas e logs relacionados a dependências externas. Configure alertas para comportamento inesperado ou diminuição de performance. 

1.  **Valide após as alterações:** sempre que houver uma atualização ou alteração em qualquer uma das dependências externas, valide sua performance e verifique o alinhamento com os requisitos da sua aplicação. 

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

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

 **Práticas recomendadas relacionadas:** 
+  [OPS04-BP01 Definir KPIs da workload](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_observability_identify_kpis.html) 
+  [OPS04-BP02 Implementar a telemetria de aplicações](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_observability_application_telemetry.html) 
+  [OPS04-BP03 Implementar a telemetria de atividades dos usuários](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_observability_customer_telemetry.html) 
+  [OPS04-BP05 Implementar a rastreabilidade das transações](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_observability_dist_trace.html) 
+  [OP08-BP04 Criar alertas acionáveis](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_workload_observability_create_alerts.html) 

 **Documentos relacionados:** 
+  [Guia do usuário do Amazon Personal Health Dashboard](https://docs.aws.amazon.com/health/latest/ug/what-is-aws-health.html) 
+  [Guia do usuário do AWS Internet Monitor](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-InternetMonitor.html) 
+  [AWS X-Ray Guia do desenvolvedor](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 
+  [Guia do usuário do AWS DevOps Guru](https://docs.aws.amazon.com/devops-guru/latest/userguide/welcome.html) 

 **Vídeos relacionados:** 
+  [Visibilidade sobre como as questões da Internet afetam a performance de aplicações](https://www.youtube.com/watch?v=Kuc_SG_aBgQ) 
+  [Introdução ao Amazon DevOps Guru](https://www.youtube.com/watch?v=2uA8q-8mTZY) 
+  [Gerenciar eventos do ciclo de vida dos recursos em grande escala com o AWS Health](https://www.youtube.com/watch?v=VoLLNL5j9NA) 

 **Exemplos relacionados:** 
+  [AWS Health Aware](https://github.com/aws-samples/aws-health-aware/) 
+  [Usar a filtragem baseada em tags para gerenciar o monitoramento e os alertas do AWS Health em grande escala](https://aws.amazon.com/blogs/mt/using-tag-based-filtering-to-manage-health-monitoring-and-alerting-at-scale/) 

# OPS04-BP05 Implementar rastreamento distribuído
<a name="ops_observability_dist_trace"></a>

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

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

 Para implementar o rastreamento distribuído de forma eficaz: 

1.  **Adote o [AWS X-Ray](https://aws.amazon.com/xray/):** 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. 

1.  **Instrumente seus serviços:** verifique se cada serviço, de uma função do [AWS Lambda](https://aws.amazon.com/lambda/) a uma [instância do EC2](https://aws.amazon.com/ec2/), envia dados de rastreamento. Quanto mais serviços você instrumentar, mais clara será a visão completa. 

1.  **Incorpore o [monitoramento de usuários reais do CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) e o [monitoramento sintético](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html):** 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. 

1.  **Use o [agente do CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html):** o agente pode enviar rastreamentos a partir do X-Ray ou do OpenTelemetry, aumentando a profundidade dos insights obtidos. 

1.  **Use o [Amazon DevOps Guru](https://aws.amazon.com/devops-guru/):** o DevOps Guru usa dados do X-Ray, CloudWatch, AWS Config e AWS CloudTrail para fornecer recomendações práticas. 

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

1.  **Configure alertas:** configure alarmes no [CloudWatch](https://aws.amazon.com/cloudwatch/) para padrões incomuns ou latências estendidas, permitindo o tratamento proativo de problemas. 

1.  **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
<a name="resources"></a>

 **Práticas recomendadas relacionadas:** 
+  [OPS04-BP01 Identificar indicadores-chave de performance](ops_observability_identify_kpis.md) 
+  [OPS04-BP02 Implementar a telemetria de aplicações](ops_observability_application_telemetry.md) 
+  [OPS04-BP03 Implementar telemetria da experiência do usuário](ops_observability_customer_telemetry.md) 
+  [OPS04-BP04 Implementar a telemetria de dependências](ops_observability_dependency_telemetry.md) 

 **Documentos relacionados:** 
+ [Guia do desenvolvedor do AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html)
+ [Guia do usuário do agente do Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html)
+ [Guia do usuário do Amazon DevOps Guru](https://docs.aws.amazon.com/devops-guru/latest/userguide/welcome.html)

 **Vídeos relacionados:** 
+ [Usar o AWS X-Ray Insights](https://www.youtube.com/watch?v=tl8OWHl6jxw)
+ [Destaque da AWS On Air: Observabilidade: Amazon CloudWatch e AWS X-Ray](https://www.youtube.com/watch?v=qBDBnPkZ-KI)

 **Exemplos relacionados:** 
+ [Instrumentar sua aplicação para o AWS X-Ray](https://aws.amazon.com/xray/latest/devguide/xray-instrumenting-your-app.html)