OPS04-BP04 Implementar telemetría de dependencias - AWS Well-Architected Framework

OPS04-BP04 Implementar telemetría de dependencias

La telemetría de dependencias es esencial para supervisar el estado y el rendimiento de los servicios y componentes externos de los que depende su carga de trabajo. Proporciona información valiosa sobre la accesibilidad, los tiempos de espera y otros eventos cruciales relacionados con dependencias como DNS, bases de datos o API de terceros. Al instrumentar su aplicación para que emita métricas, registros y rastreos sobre estas dependencias, entenderá más claramente cuáles son los posibles cuellos de botella, problemas de rendimiento o errores que podrían afectar a su carga de trabajo.

Resultado deseado: las dependencias en las que se basa su carga de trabajo funcionan según lo previsto, lo que le permite abordar los problemas de forma proactiva y garantizar un rendimiento óptimo de la carga de trabajo.

Antipatrones usuales:

  • Pasar por alto las dependencias externas: centrarse únicamente en las métricas internas de las aplicaciones y descuidar las métricas relacionadas con las dependencias externas.

  • Falta de supervisión proactiva: esperar a que surjan problemas en lugar de supervisar continuamente el estado y el rendimiento de la dependencia.

  • Supervisión en silos: uso de numerosas herramientas de supervisión dispares que pueden generar vistas fragmentadas e incoherentes del estado de la dependencia.

Beneficios de establecer esta práctica recomendada:

  • Mejora de la fiabilidad de la carga de trabajo: al garantizar que las dependencias externas estén siempre disponibles y funcionen de manera óptima.

  • Mayor rapidez en la detección y resolución de problemas: identificar y abordar de forma proactiva los problemas relacionados con las dependencias antes de que afecten a la carga de trabajo.

  • Panorámica completa: obtener una visión integral de los componentes internos y externos que influyen en el estado de la carga de trabajo.

  • Mejora de la escalabilidad de la carga de trabajo: mediante la comprensión de los límites de escalabilidad y las características de rendimiento de las dependencias externas.

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

Guía para la implementación

Para implementar la telemetría de dependencias, empiece por identificar los servicios, la infraestructura y los procesos de los que depende su carga de trabajo. Cuantifique qué aspecto tienen las buenas condiciones cuando esas dependencias funcionan según lo esperado y, a continuación, determine qué datos se necesitan para medirlas. Con esa información, puede crear paneles y alertas que proporcionen información a sus equipos de operaciones sobre el estado de esas dependencias. Use herramientas de AWS para detectar y cuantificar el efecto cuando las dependencias no pueden satisfacer las necesidades. Revise continuamente su estrategia para que tenga en cuenta los cambios en las prioridades, los objetivos y los conocimientos adquiridos.

Pasos para la implementación

Para implementar la telemetría de dependencias de manera eficaz:

  1. Identifique las dependencias externas: colabore con las partes interesadas para identificar las dependencias externas de las que depende su carga de trabajo. Las dependencias externas pueden abarcar servicios como bases de datos externas, API de terceros, rutas de conectividad de red a otros entornos y servicios de DNS. El primer paso para lograr una telemetría de dependencias eficaz es comprender a la perfección cuáles son esas dependencias.

  2. Desarrolle una estrategia de supervisión: una vez que tenga una idea clara de sus dependencias externas, diseñe una estrategia de supervisión adaptada a ellas. Esto implica comprender la importancia de cada dependencia, su comportamiento esperado y cualquier acuerdo u objetivo de nivel de servicio (SLA o SLT) asociado. Configure alertas proactivas que le notifiquen los cambios de estado o las desviaciones del rendimiento.

  3. Utilice la supervisión de la red: utilice Internet Monitor y Network Monitor, que proporcionan información completa sobre las condiciones globales de Internet y la red. Estas herramientas le ayudan a conocer los cortes, interrupciones o degradaciones del rendimiento que afectan a sus dependencias externas y responder a ellos.

  4. Manténgase informado con AWS Health Dashboard: proporciona alertas y guías de corrección cuando se producen eventos en AWS que podrían afectar a sus servicios.

    1. Supervise los eventos de AWS Health con reglas de Amazon EventBridge o intégrelos mediante programación con la API de AWS Health para automatizar las acciones cuando reciba eventos de AWS Health. Puede tratarse de acciones generales, como el envío de todos los mensajes de eventos del ciclo de vida planificado a una interfaz de chat, o de acciones específicas, como el inicio de un flujo de trabajo en una herramienta de administración de servicios de TI.

    2. Si usa AWS Organizations, añada eventos de AWS Health entre cuentas.

  5. Instrumente su aplicación con AWS X-Ray: AWS X-Ray proporciona información sobre el rendimiento de las aplicaciones y sus dependencias subyacentes. Al rastrear las solicitudes de principio a fin, puede identificar cuellos de botella o errores en los servicios o componentes externos en los que se basa su aplicación.

  6. Utilice Amazon DevOps Guru: este servicio basado en machine learning identifica problemas operativos, predice cuándo pueden producirse problemas críticos y recomienda medidas concretas. Tiene un valor incalculable para obtener información sobre las dependencias y determinar que no son el origen de los problemas operativos.

  7. Supervise periódicamente: supervise continuamente las métricas y los registros relacionados con las dependencias externas. Configure alertas en caso de que se produzca un comportamiento inesperado o una degradación del rendimiento.

  8. Valide después de los cambios: siempre que se produzca una actualización o un cambio en alguna de las dependencias externas, valide su rendimiento y compruebe su conformidad con los requisitos de la aplicación.

Nivel de esfuerzo para el plan de implementación: medio.

Recursos

Prácticas recomendadas relacionadas:

Documentos relacionados:

Vídeos relacionados:

Ejemplos relacionados: