

# OPS 4 ¿Cómo diseña la carga de trabajo para poder comprender su estado?
<a name="ops-04"></a>

 Diseñe la carga de trabajo para que proporcione la información necesaria en todos los componentes (por ejemplo, métricas, registros y rastreos) para que pueda comprender el estado interno. Esto le permite proporcionar respuestas efectivas cuando sea apropiado. 

**Topics**
+ [OPS04-BP01 Implementar telemetría de aplicaciones](ops_telemetry_application_telemetry.md)
+ [OPS04-BP02 Implementar y configurar telemetría de cargas de trabajo](ops_telemetry_workload_telemetry.md)
+ [OPS04-BP03 Implementar telemetría de actividades de usuario](ops_telemetry_customer_telemetry.md)
+ [OPS04-BP04 Implementar telemetría de dependencias](ops_telemetry_dependency_telemetry.md)
+ [OPS04-BP05 Implementar trazabilidad de transacciones](ops_telemetry_dist_trace.md)

# OPS04-BP01 Implementar telemetría de aplicaciones
<a name="ops_telemetry_application_telemetry"></a>

 La telemetría de aplicaciones es la base de la observabilidad de su carga de trabajo. Su aplicación debe emitir telemetría que proporcione información sobre el estado de la aplicación y la consecución de resultados empresariales. Desde la resolución de problemas hasta la medición del impacto de una nueva característica, la telemetría de aplicaciones informa sobre la forma de crear, operar y hacer evolucionar su carga de trabajo. 

 La telemetría de aplicaciones consiste en métricas y registros. Las métricas son información de diagnóstico, como el pulso o la temperatura. Las métricas se utilizan colectivamente para describir el estado de su aplicación. La recopilación de métricas a lo largo del tiempo puede servir para desarrollar líneas de base y detectar anomalías. Los registros son mensajes que la aplicación envía sobre su estado interno o los eventos que se producen. Los códigos de error, los identificadores de transacción y las acciones del usuario son ejemplos de eventos que se registran. 

 **Resultado deseado:** 
+  Su aplicación emite métricas y registros que proporcionan información sobre su estado y la consecución de resultados empresariales. 
+  Las métricas y los registros se almacenan de forma centralizada para todas las aplicaciones de la carga de trabajo. 

 **Antipatrones usuales:** 
+  Su aplicación no emite telemetría. Se ve obligado a confiar en que sus clientes le digan cuando algo va mal. 
+  Un cliente ha informado de que su aplicación no responde. No tiene telemetría y no puede confirmar que el problema existe o caracterizarlo sin usar la aplicación por sí mismo para entender la experiencia actual del usuario. 

 **Beneficios de establecer esta práctica recomendada:** 
+  Podrá conocer el estado de su aplicación, la experiencia del usuario y la consecución de los resultados empresariales. 
+  Puede reaccionar rápidamente a los cambios en el estado de su aplicación. 
+  Puede desarrollar tendencias de estado de la aplicación. 
+  Puede tomar decisiones fundamentadas sobre la mejora de su aplicación. 
+  Puede detectar y resolver los problemas de la aplicación más rápidamente. 

 **Nivel de riesgo expuesto si no se establece esta práctica recomendada:** alto 

## Guía para la implementación
<a name="implementation-guidance"></a>

 La implementación de la telemetría de aplicaciones consta de tres pasos: identificar una ubicación para almacenar la telemetría, identificar la telemetría que describe el estado de la aplicación e instrumentar la aplicación para que emita telemetría. 

 **Ejemplo de cliente** 

AnyCompany Retail tiene una arquitectura basada en microservicios. Como parte de su proceso de diseño arquitectónico, identificó la telemetría de aplicaciones que le ayudaría a comprender el estado de cada microservicio. Por ejemplo, el servicio de carro de usuario emite telemetría sobre eventos como añadir al carro, abandonar el carro y el tiempo que se tarda en añadir un artículo al carro. Todos los microservicios registran los errores, las advertencias y la información sobre las transacciones. La telemetría se envía a Amazon CloudWatch para su almacenamiento y análisis. 

 **Pasos para la implementación** 

1.  Identificar una ubicación central para el almacenamiento de telemetría para las aplicaciones de su carga de trabajo. La ubicación debe admitir tanto la recopilación de telemetría como la capacidad de análisis. La detección de anomalías y la información automatizada son características recomendables. 

   1.  [Amazon CloudWatch](https://aws.amazon.com/cloudwatch) ofrece funciones de recopilación de telemetría, paneles, análisis y generación de eventos. 

1.  Para identificar qué telemetría necesita, empiece por responder a esta pregunta: ¿cuál es el estado de mi aplicación? Su aplicación debe emitir registros y métricas que respondan colectivamente a esta pregunta. Si no puede responder a las preguntas con la telemetría de aplicaciones existente, colabore con las partes interesadas de la empresa e ingeniería para crear una lista de requisitos de telemetría. 

   1.  Puede solicitar el asesoramiento técnico de su equipo de Cuenta de AWS para identificar y desarrollar una nueva telemetría de aplicaciones. 

1.  Una vez identificada la telemetría de aplicaciones adicional, colabore con las partes interesadas de ingeniería para instrumentar su aplicación. 

   1.  [AWS Distro for Open Telemetry](https://aws-otel.github.io/) proporciona API, bibliotecas y agentes que recopilan la telemetría de aplicaciones. [En este ejemplo se muestra cómo instrumentar una aplicación JavaScript con métricas personalizadas](https://aws-otel.github.io/docs/getting-started/js-sdk/metric-manual-instr). 

   1.  Si desea conocer los servicios de observabilidad que AWS ofrece, realice el taller [One Observability Workshop](https://catalog.workshops.aws/observability/en-US) o solicite asistencia a su equipo de Cuenta de AWS. 

   1.  Para profundizar en la telemetría de aplicaciones, lea el artículo [Instrumenting distributed systems for operational visibility](https://aws.amazon.com/builders-library/instrumenting-distributed-systems-for-operational-visibility/) (Instrumentación de los sistemas distribuidos para la visibilidad de las operaciones) en Amazon Builder’s Library, donde se explica cómo Amazon instrumenta las aplicaciones y puede servir de guía para desarrollar sus propias directrices de instrumentación. 

 **Nivel de esfuerzo para el plan de implementación:** alto. Instrumentar su aplicación y centralizar el almacenamiento de telemetría puede requerir una inversión significativa. 

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

 **Prácticas recomendadas relacionadas:** 

[OPS04-BP02 Implementar y configurar telemetría de cargas de trabajo](ops_telemetry_workload_telemetry.md) – La telemetría de aplicaciones es un componente de la telemetría de la carga de trabajo. Para entender el estado de la carga de trabajo global es necesario entender el estado de las aplicaciones individuales que componen la carga de trabajo. 

[OPS04-BP03 Implementar telemetría de actividades de usuario](ops_telemetry_customer_telemetry.md) – La telemetría de la actividad del usuario suele ser un subconjunto de la telemetría de aplicaciones. La actividad de los usuarios, como los eventos de añadir al carrito, los flujos de clics o las transacciones completadas, proporcionan información sobre la experiencia del usuario. 

[OPS04-BP04 Implementar telemetría de dependencias](ops_telemetry_dependency_telemetry.md) – Las comprobaciones de dependencia están relacionadas con la telemetría de aplicaciones y pueden instrumentarse en su aplicación. Si su aplicación está sujeta a dependencias externas como DNS o una base de datos, su aplicación puede emitir métricas y registros sobre la accesibilidad, los tiempos de espera y otros eventos. 

[OPS04-BP05 Implementar trazabilidad de transacciones](ops_telemetry_dist_trace.md) – El seguimiento de las transacciones en una carga de trabajo requiere que cada aplicación emita información sobre cómo procesa los eventos compartidos. La forma en que las aplicaciones individuales gestionan estos eventos se emite a través de su telemetría de aplicaciones. 

[OPS08-BP02 Definir las métricas de las cargas de trabajo](ops_workload_health_design_workload_metrics.md) – Las métricas de la carga de trabajo son los indicadores clave del estado de la carga de trabajo. Las métricas clave de la aplicación forman parte de las métricas de la carga de trabajo. 

 **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: instrumentación de los sistemas distribuidos para la visibilidad de las operaciones) 
+  [AWS Distro for OpenTelemetry](https://aws-otel.github.io/) 
+  [Documento técnico de excelencia operativa de AWS Well-Architected: diseñar telemetría](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/design-telemetry.html) 
+  [Creación de métricas a partir de eventos de registro mediante filtros](https://docs.aws.amazon.com/Amazon/latest/logs/MonitoringLogData.html) 
+  [Implementación del registro y la supervisión con Amazon CloudWatch](https://docs.aws.amazon.com/prescriptive-guidance/latest/implementing-logging-monitoring-cloudwatch/welcome.html) 
+  [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/) (Supervisión del estado y el rendimiento de las aplicaciones con AWS Distro for 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/) (Nuevo - Cómo supervisar mejor las métricas de su aplicación personalizada utilizando el agente de Amazon CloudWatch 
+  [Observability at AWS](https://aws.amazon.com/products/management-and-governance/use-cases/monitoring-and-observability/) (Observabilidad en AWS) 
+  [Scenario – Publish metrics to CloudWatch](https://docs.aws.amazon.com/Amazon/latest/monitoring/PublishMetrics.html) (Escenario: publicar métricas en CloudWatch) 
+  [Start Building – How to Monitor your Applications Effectively](https://aws.amazon.com/startups/start-building/how-to-monitor-applications/) (Empezar a crear: cómo supervisar aplicaciones eficazmente)5 
+  [Using CloudWatch with an AWS SDK](https://docs.aws.amazon.com/Amazon/latest/monitoring/sdk-general-information-section.html) (Uso de CloudWatch con un SDK de AWS) 

 **Vídeos relacionados: ** 
+  [AWS re:Invent 2021 - Observability the open-source way](https://www.youtube.com/watch?v=vAnIhIwE5hY) (Observabilidad con código abierto) 
+  [Collect Metrics and Logs from Amazon EC2 instances with the CloudWatch Agent](https://www.youtube.com/watch?v=vAnIhIwE5hY) (Recopilar métricas y registros de instancias de Amazon EC2 con el agente de CloudWatch) 
+  [How to Easily Setup Application Monitoring for Your AWS Workloads - AWS Online Tech Talks](https://www.youtube.com/watch?v=LKCth30RqnA) (Cómo configurar fácilmente la supervisión de aplicaciones para sus cargas de trabajo de AWS: charlas técnicas en línea de AWS) 
+  [Mastering Observability of Your Serverless Applications - AWS Online Tech Talks](https://www.youtube.com/watch?v=CtsiXhiAUq8) (Dominar la observabilidad de sus aplicaciones sin servidor: charlas técnicas en línea de AWS) 
+  [Open Source Observability with AWS - AWS Virtual Workshop](https://www.youtube.com/watch?v=vAnIhIwE5hY) (Observabilidad de código abierto con AWS: taller virtual de AWS) 

 **Ejemplos relacionados:** 
+  [Ejemplo de recursos de registro y supervisión de AWS](https://github.com/aws-samples/logging-monitoring-apg-guide-examples) 
+  [Solución de AWS: marco de supervisión de Amazon CloudWatch](https://aws.amazon.com/solutions/implementations/amazon-cloudwatch-monitoring-framework/?did=sl_card&trk=sl_card) 
+  [Solución de AWS: registro centralizado](https://aws.amazon.com/solutions/implementations/centralized-logging/) 
+  [Taller sobre observabilidad](https://catalog.workshops.aws/observability/en-US) 

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

# OPS04-BP02 Implementar y configurar telemetría de cargas de trabajo
<a name="ops_telemetry_workload_telemetry"></a>

 Diseñe y configure la carga de trabajo para que emita información sobre su estado interno y su situación actual, por ejemplo, el volumen de llamadas a la API, los códigos de estado HTTP y los eventos de escalado. Utilice esta información para determinar cuándo se requiere una respuesta. 

 Utilice un servicio como [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) para agregar registros y métricas de los componentes de la carga de trabajo (por ejemplo, los registros de la API de [AWS CloudTrail](https://aws.amazon.com/cloudtrail/), [métricas de AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/lambda-monitoring.html), [registros de flujo de Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) y [otros servicios](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/aws-services-sending-logs.html)). 

 **Patrones de uso no recomendados comunes:** 
+  Sus clientes se quejan del bajo rendimiento. No hay cambios recientes en su aplicación y por eso sospecha que hay un problema con un componente de la carga de trabajo. No tiene telemetría que analizar para determinar qué componente o componentes son los que están contribuyendo al bajo rendimiento. 
+  Su aplicación no está disponible. Le falta la telemetría para determinar si es un problema de red. 

 **Beneficios de establecer esta práctica recomendada:** entender lo que ocurre dentro de su carga de trabajo le permite responder en caso necesario. 

 **Nivel de riesgo expuesto si no se establece esta práctica recomendada:** Alto 

## Guía para la implementación
<a name="implementation-guidance"></a>
+  Implementar la telemetría de registros y métricas: agregue instrumentación a su carga de trabajo para emitir información sobre su estado interno, situación y el logro de resultados comerciales. Utilice esta información para determinar cuándo se requiere una respuesta. 
  +  [Obtener una mejor observación de sus máquinas virtuales con Amazon CloudWatch: charlas técnicas en línea de AWS](https://youtu.be/1Ck_me4azMw) 
  +  [Cómo funciona Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_architecture.html) 
  +  [¿Qué es Amazon CloudWatch?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 
  +  [Uso de métricas de Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html) 
  +  [¿Qué es Amazon CloudWatch Logs?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) 
    +  Implementar y configurar telemetría de carga de trabajo: diseñe y configure la carga de trabajo para que emita información sobre su estado interno y su situación actual (por ejemplo, el volumen de llamadas a la API, los códigos de estado HTTP y los eventos de escalado). 
      +  [Referencia de métricas y dimensiones de Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CW_Support_For_AWS.html) 
      +  [AWS CloudTrail](https://aws.amazon.com/cloudtrail/) 
      +  [¿Qué es AWS CloudTrail?](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html) 
      +  [Registros de flujo de 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/) 
+  [Documentación de Amazon CloudWatch](https://docs.aws.amazon.com/cloudwatch/index.html) 
+  [Referencia de métricas y dimensiones de Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CW_Support_For_AWS.html) 
+  [Cómo funciona Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_architecture.html) 
+  [Uso de métricas de Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html) 
+  [Registros de flujo de VPC](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) 
+  [¿Qué es AWS CloudTrail?](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html) 
+  [¿Qué es Amazon CloudWatch Logs?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) 
+  [¿Qué es Amazon CloudWatch?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 

 **Vídeos relacionados:** 
+  [Administración del rendimiento de las aplicaciones en AWS](https://www.youtube.com/watch?v=5T4stR-HFas) 
+  [Obtener una mejor observación de sus máquinas virtuales con Amazon CloudWatch](https://youtu.be/1Ck_me4azMw) 
+  [Obtener una mejor observación de sus máquinas virtuales con Amazon CloudWatch: charlas técnicas en línea de AWS](https://youtu.be/1Ck_me4azMw) 

# OPS04-BP03 Implementar telemetría de actividades de usuario
<a name="ops_telemetry_customer_telemetry"></a>

Agregue instrumentación al código de aplicación para emitir información sobre la actividad de los usuarios. Entre los ejemplos actividad de usuario se incluyen secuencias de clics o transacciones iniciadas, abandonadas y completadas. Utilice esta información para comprender cómo se utiliza la aplicación, los patrones de uso y para determinar cuándo se requiere una respuesta. La captura de la actividad real de los usuarios le permite crear una actividad sintética que se puede utilizar para supervisar y probar su carga de trabajo en producción.

 **Resultado deseado:** 
+  Su carga de trabajo emite telemetría sobre la actividad del usuario en todas las aplicaciones. 
+  Aprovecha la actividad sintética de los usuarios para supervisar su aplicación durante las horas de menor actividad. 

 **Patrones comunes de uso no recomendados:** 
+ Sus desarrolladores han desplegado una nueva característica sin telemetría de usuario. No puede saber si sus clientes la utilizan sin preguntarles. 
+ Tras un despliegue en su aplicación frontend, observa un aumento del uso. Al carecer de telemetría de la actividad de los usuarios, es difícil identificar el problema exacto.
+  Se produce un problema en su aplicación durante las horas de menor actividad. No se da cuenta del problema hasta por la mañana, cuando sus usuarios se conectan en línea, porque no ha configurado la actividad de usuario sintética. 

 **Beneficios de establecer esta práctica recomendada:** 
+  Conoce los patrones comunes de los usuarios o los comportamientos inesperados para optimizar la funcionalidad de la aplicación y adaptarla a sus objetivos empresariales. 
+  Supervisa la aplicación desde la perspectiva de sus usuarios para detectar problemas en la experiencia del usuario, como enlaces interrumpidos o respuestas lentas al hacer clic. 
+  Identifica la causa raíz de los problemas mediante el seguimiento de los pasos que ha dado el usuario afectado. 
+  La actividad de usuario sintética puede proporcionar señales de alerta temprana del deterioro del rendimiento durante las horas de menor actividad, lo que le permite adoptar medidas correctivas antes de que los usuarios reales se vean afectados. 

 **Nivel de riesgo expuesto si no se establece esta práctica recomendada:** medio 

## Guía para la implementación
<a name="implementation-guidance"></a>

 Diseñe el código de aplicación para emitir información sobre la actividad de los usuarios. Utilice esta información para comprender cómo se utiliza la aplicación, los patrones de uso y para determinar cuándo se requiere una respuesta. Utilice la actividad de usuario sintética para proporcionar información sobre el rendimiento de las aplicaciones durante las horas de menor actividad. 

 **Ejemplo de cliente** 

 AnyCompany Retail implementa la telemetría de la actividad del usuario en varias capas de su aplicación. La telemetría del frontend realiza un seguimiento de los eventos de puntero y movimiento, mientras que los microservicios del backend emiten telemetría de seguimiento de eventos como añadir un artículo al carrito del usuario y pagar. Juntos proporcionan observabilidad a la experiencia del usuario. AnyCompany Retail también utiliza la telemetría de usuario sintética para detectar problemas cuando hay menos usuarios en la carga de trabajo. 

 **Pasos para la implementación** 

1.  Añada instrumentación a su aplicación para que emita telemetría (métricas, eventos, registros y trazas) sobre la actividad de los usuarios. Tras incorporar instrumentación, los componentes de frontend emiten telemetría automáticamente a medida que el usuario interactúa con la interfaz. Las aplicaciones backend emiten telemetría sobre los eventos y las transacciones de los usuarios. 

   1.  [Amazon CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) puede proporcionar información sobre la experiencia del usuario final de las aplicaciones frontend. 

   1.  Puede usar [AWS Distro for Open Telemetry](https://aws-otel.github.io/) para añadir instrumentación y capturar la telemetría de sus aplicaciones. 

   1.  [Amazon Pinpoint](https://docs.aws.amazon.com/pinpoint/latest/developerguide/welcome.html) puede analizar el comportamiento de los usuarios a través de campañas y proporcionar información sobre la interacción de los usuarios. 

   1.  Los clientes con Enterprise Support pueden solicitar un [taller de creación de una estrategia de supervisión](https://aws.amazon.com/premiumsupport/technology-and-programs/proactive-services/) de su administrador técnico de cuentas. Este taller le ayuda a erigir una estrategia de observabilidad para su carga de trabajo. 

1.  Establezca una actividad de usuario sintética para supervisar su aplicación. La actividad de usuario sintética simula las acciones del usuario para validar que su aplicación funciona correctamente. 

   1.  [Amazon CloudWatch Synthetics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) puede simular la actividad de los usuarios utilizando valores controlados. 

 **Nivel de esfuerzo para el plan de implementación:** alto. Puede requerir un importante esfuerzo de desarrollo instrumentar completamente la aplicación para recopilar la telemetría de la actividad del usuario. 

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

 **Prácticas recomendadas relacionadas:** 
+  [OPS04-BP01 Implementar telemetría de aplicaciones](ops_telemetry_application_telemetry.md): la telemetría de aplicación es necesaria para crear una telemetría de la actividad del usuario. 
+  [OPS04-BP02 Implementar y configurar telemetría de cargas de trabajo](ops_telemetry_workload_telemetry.md): parte de la telemetría de la actividad del usuario también puede considerarse telemetría de la carga de trabajo. 

 **Documentos relacionados:** 
+ [Cómo supervisar aplicaciones eficazmente](https://aws.amazon.com/startups/start-building/how-to-monitor-applications/)

 **Vídeos relacionados: ** 
+ [AWS re:Invent 2020: Monitoring production services at Amazon](https://www.youtube.com/watch?v=hnPcf_Czbvw) (AWS re:Invent 2020: Supervisión de los servicios de producción en Amazon)
+ [AWS re:Invent 2021 - Optimize applications through end user insights with Amazon CloudWatch RUM](https://www.youtube.com/watch?v=NMaeujY9A9Y) (AWS re:Invent 2021: Optimizar las aplicaciones mediante la información del usuario final con Amazon CloudWatch RUM)
+ [ Testing and Monitoring APIs on AWS - AWS Online Tech Talks ](https://www.youtube.com/watch?v=VQM38CZyjFY)(Pruebas y supervisión de las API en AWS - Charlas técnicas en línea de AWS)

 **Ejemplos relacionados:** 
+ [Cliente web de Amazon CloudWatch RUM](https://github.com/aws-observability/aws-rum-web)
+ [AWS Distro for Open Telemetry ](https://aws-otel.github.io/)
+ [ Implementing Real User Monitoring of Amplify Application using Amazon CloudWatch RUM ](https://aws.amazon.com/blogs/mobile/implementing-real-user-monitoring-of-amplify-application-using-amazon-cloudwatch-rum/)(Implementación de la supervisión de usuario real de una aplicación de Amplify mediante Amazon CloudWatch RUM)
+ [Taller sobre observabilidad](https://catalog.workshops.aws/observability/en-US/intro)

 **Servicios 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 telemetría de dependencias
<a name="ops_telemetry_dependency_telemetry"></a>

Diseñe y configure la carga de trabajo para emitir información sobre el estado de los recursos de los que depende. Se trata de recursos externos a su carga de trabajo. Entre los ejemplos de dependencias externas se pueden incluir las bases de datos externas, el DNS y la conectividad de la red. Utilice esta información para determinar cuándo se requiere una respuesta y proporcionar un contexto adicional sobre el estado de la carga de trabajo.

 **Resultado deseado:** 
+  Su carga de trabajo emite telemetría sobre el estado de las dependencias externas. 
+  Se le notifica cuando las dependencias no son adecuadas. 

 **Patrones comunes de uso no recomendados:** 
+ Sus usuarios no pueden acceder a su sitio. No puede determinar si el motivo es un problema de DNS, sin realizar manualmente una comprobación para ver si su proveedor de DNS está operativo. 
+ Su aplicación de carro de compra no puede completar las transacciones. No puede determinar si se trata de un problema con su proveedor de procesamiento de tarjetas de crédito sin ponerse en contacto con ellos para verificarlo. 

 **Beneficios de establecer esta práctica recomendada:** 
+  La supervisión de las dependencias externas permite anticiparse a los problemas. 
+  El conocimiento del estado de sus dependencias contribuye a la resolución de problemas. 

 **Nivel de riesgo expuesto si no se establece esta práctica recomendada:** medio 

## Guía para la implementación
<a name="implementation-guidance"></a>

 Colabore con las partes interesadas para identificar las dependencias externas de su carga de trabajo. Las dependencias externas pueden incluir bases de datos externas, API o conectividad de red entre su carga de trabajo y los recursos de otros entornos. Desarrolle una estrategia de supervisión para conocer el estado de las dependencias y dar la alarma de forma proactiva si cambia el estado. 

 **Ejemplo de cliente** 

 La carga de trabajo de comercio electrónico de AnyCompany Retail depende de una base de datos que se encuentra en otro entorno. Cada noche, los datos se incorporan a la base de datos para utilizarse en la plataforma de comercio electrónico. La conectividad a la red y la compatibilidad de base de datos pertenecen a otros equipos. El equipo de comercio electrónico configuró varias alarmas de valor controlado para alertarles cuando la conectividad de la red cae, la base de datos no está accesible y cuando el trabajo no se completa. 

 **Pasos para la implementación** 

1.  Identifique las dependencias externas de su carga de trabajo. Implemente la telemetría para hacer un seguimiento del estado o la accesibilidad de las dependencias. 

   1.  Los clientes de AWS pueden utilizar [Panel de AWS Health](https://docs.aws.amazon.com/health/latest/ug/what-is-aws-health.html) para supervisar el estado de los servicios de AWS y recibir notificaciones de eventos de estado. 

   1.  [Amazon CloudWatch Synthetics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) se puede utilizar para supervisar API, URL y contenido de sitios web. 

1.  Configure alertas para notificar a su organización cuando el estado de una dependencia sea incorrecto o esté inaccesible. 

   1.  Los clientes con Enterprise Support pueden solicitar un [taller de creación de una estrategia de supervisión](https://aws.amazon.com/premiumsupport/technology-and-programs/proactive-services/) de su administrador técnico de cuentas. Este taller le ayudará a desarrollar una estrategia de observabilidad para su carga de trabajo. 

1.  Identifique los contactos para las dependencias en los casos en los que el estado de la dependencia no sea correcto. Documente cómo contactar con el propietario de la dependencia, los acuerdos de servicio y el proceso de escalamiento. 

 **Nivel de esfuerzo para el plan de implementación:** medio. La implementación de la telemetría de dependencias puede requerir crear soluciones de supervisión personalizadas. 

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

 **Prácticas recomendadas relacionadas:** 
+  [OPS04-BP01 Implementar telemetría de aplicaciones](ops_telemetry_application_telemetry.md): puede incorporar la supervisión de las dependencias en la telemetría de su aplicación. 

 **Documentos relacionados:** 
+ [ Monitor your private internal endpoints 24x7 using CloudWatch Synthetics ](https://aws.amazon.com/blogs/mt/monitor-your-private-endpoints-using-cloudwatch-synthetics/)(Supervisar los puntos de conexión internos privados ininterrumpidamente con CloudWatch Synthetics)

 **Vídeos relacionados: ** 
+ [AWS re:Invent 2018: Monitor All Your Things: Amazon CloudWatch in Action with BBC ](https://www.youtube.com/watch?v=uuBuc6OAcVY)(AWS re:Invent 2018: Supervisar todos los objetos: Amazon CloudWatch en acción con BBC)
+ [AWS re:Invent 2022 - Developing an observability strategy](https://www.youtube.com/watch?v=Ub3ATriFapQ) (AWS re:Invent 2022: Desarrollo de una estrategia de observabilidad)
+ [AWS re:Invent 2022 - Observability best practices at Amazon ](https://www.youtube.com/watch?v=zZPzXEBW4P8)(AWS re:Invent 2022: Prácticas recomendadas de observabilidad en Amazon)

 **Ejemplos relacionados:** 
+ [Taller sobre observabilidad](https://catalog.workshops.aws/observability/en-US/intro)
+ [Laboratorios de Well-Architected: supervisión de dependencias](https://www.wellarchitectedlabs.com/operational-excellence/100_labs/100_dependency_monitoring/)

 **Servicios 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 trazabilidad de transacciones
<a name="ops_telemetry_dist_trace"></a>

Implemente el código de su aplicación y configure los componentes de su carga de trabajo para que emitan eventos, los cuales se activan como resultado de operaciones lógicas únicas y se consolidan a través de varios límites de la carga de trabajo. Genere mapas para ver cómo fluyen los rastreos a través de sus servicios y carga de trabajo. Obtenga información sobre las relaciones entre los componentes e identifique y analice los problemas. Utilice la información recopilada para determinar cuándo se requiere una respuesta y para identificar los factores que contribuyen al problema. 

 **Resultado deseado:** 
+  Recopilar rastreos de transacciones en toda la carga de trabajo para conocer mejor la relación entre los componentes. 
+  Generar mapas para comprender mejor cómo fluyen las transacciones y los eventos en su carga de trabajo. 

 **Antipatrones usuales:** 
+  Ha implementado una arquitectura de microservicios sin servidor que abarca múltiples cuentas. Sus clientes tienen problemas de rendimiento intermitentes. No puede descubrir qué función o componente es responsable porque carece de trazabilidad de las transacciones. 
+ Hay un cuello de botella en el rendimiento de su carga de trabajo. Debido a la falta de trazabilidad de las transacciones, no puede ver la relación entre los componentes de la aplicación e identificar el cuello de botella.
+  El identificador utilizado para los rastreos no es único a escala global, lo que provoca una colisión de rastreos al analizar el comportamiento de la carga de trabajo. 

 **Beneficios de establecer esta práctica recomendada:** 
+  Comprender el flujo de transacciones a través de su carga de trabajo proporciona información sobre el comportamiento esperado de las transacciones de la carga de trabajo. 
+  Podrá ver las variaciones del comportamiento esperado en la carga de trabajo y responder si es necesario. 
+  Podrá localizar las transacciones por su identificador único generado, independientemente de dónde se hayan generado. 

 **Nivel de riesgo expuesto si no se establece esta práctica recomendada:** bajo 

## Guía para la implementación
<a name="implementation-guidance"></a>

 Diseñe su aplicación y su carga de trabajo para emitir información sobre el flujo de transacciones a través de los componentes del sistema. Los datos que deben incluirse en las transacciones son un identificador de transacción único a escala global, la etapa de la transacción, el componente activo y el tiempo para completar la actividad. Utilice esta información para determinar lo que está en curso, lo que está completo y cuáles son los resultados de las actividades completadas. 

 **Ejemplo de cliente** 

 En AnyCompany Retail, todas las transacciones tienen un UUID único generado a escala global. Este UUID se pasa entre microservicios durante las transacciones. El UUID se utiliza para crear rastreos de las transacciones a medida que los usuarios interactúan con la carga de trabajo. Con los rastreos, se genera un mapa de la topología de la carga de trabajo que se utiliza para solucionar los problemas de la carga de trabajo y mejorar el rendimiento. 

 **Pasos para la implementación** 

1.  Instrumente las aplicaciones de su carga de trabajo para que emitan rastreos de transacciones. Para hacerlo, puede generar un identificador único para cada transacción y pasar el identificador entre aplicaciones. 

   1.  Puede utilizar la autoinstrumentación en [AWS Distro for OpenTelemetry](https://aws-otel.github.io/) para implementar rastreos en sus aplicaciones existentes sin modificar el código de la aplicación. 

1.  Genere mapas de la topología de la aplicación. Utilice estos mapas para mejorar el rendimiento, obtener información y ayudar en la resolución de problemas. 

   1.  [AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) puede generar mapas de las aplicaciones de su carga de trabajo. 

 **Nivel de esfuerzo para el plan de implementación:** medio. La implementación de rastreos de transacciones podría requerir un esfuerzo de desarrollo moderado. 

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

 **Prácticas recomendadas relacionadas:** 
+  [OPS04-BP01 Implementar telemetría de aplicaciones](ops_telemetry_application_telemetry.md) - La telemetría de las aplicaciones abarca la trazabilidad y la gestión de las transacciones, y debe implementarse en primer lugar. 

 **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/) (Descubrir problemas de la aplicación y obtener notificaciones con 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/) (Cómo Wealthfront utiliza AWS X-Ray para analizar y depurar aplicaciones distribuidas)
+ [ 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/) (Novedades de AWS Distro for OpenTelemetry: ya está disponible la función de rastreo)

 **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: Profundización en AWS X-Ray: monitorización de aplicaciones modernas)
+ [AWS re:Invent 2022 - Building observable applications with OpenTelemetry (BOA310)](https://www.youtube.com/watch?v=efk8XFJrW2c) (AWS re:Invent 2022: Creación de aplicaciones observables con OpenTelemetry)
+ [AWS re:Invent 2022 - Observability the open-source way (COP301-R)](https://www.youtube.com/watch?v=2IJPpdp9xU0) (AWS re:Invent 2022: Observabilidad con código abierto)
+ [ Capturing Trace Data with the AWS Distro for OpenTelemetry](https://www.youtube.com/watch?v=837NtV0McOA) (Capturar datos de rastreo con AWS Distro for OpenTelemetry)
+ [ Optimize Application Performance with AWS X-Ray](https://www.youtube.com/watch?v=5lIdNrrO_o8) (Optimización del rendimiento de la aplicación con AWS X-Ray)

 **Ejemplos relacionados:** 
+ [AWS X-Ray Multi API Gateway Tracing Example](https://github.com/aws-samples/aws-xray-multi-api-gateway-tracing-example) (Ejemplo de rastreo de varias puertas de enlace API para AWS X-Ray)

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