

# 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)