

# OPS04-BP03 Implementar a 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. 

 **Antipadrões comuns:** 
+  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 desempenho 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 extremos 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 estabelecer 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 o desempenho do dispositivo e do navegador: entenda o desempenho 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. 
+  Desempenho aprimorado 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 para a telemetria da atividade do usuário, a AWS oferece serviços como [Amazon CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) e [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 da 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 em JavaScript do CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) para integrar o RUM à sua aplicação. 

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

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

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

   1.  Projete canários usando [scripts do CloudWatch](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 desempenho consistentes. 

1.  **Analise e aja com base nos dados:** Utilize dados de RUM e transações sintéticas para obter insights e tomar medidas corretivas quando anomalias forem detectadas. Use painéis do CloudWatch e alarmes 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 os 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:** 
+ [ Optimize applications through end user insights with Amazon CloudWatch RUM (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)
+ [AWS on Air ft. Real-User Monitoring for Amazon CloudWatch (Monitoramento de usuários reais do Amazon CloudWatch) ](https://www.youtube.com/watch?v=r6wFtozsiVE)

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