Estrategias de arquitectura para supervisar la confiabilidad de la carga de trabajo

Se aplica a esta recomendación de lista de comprobación de confiabilidad de Azure Well-Architected Framework:

RE:10 Mida y realice un seguimiento continuo del estado del sistema mediante indicadores de tiempo de actividad y confiabilidad entre componentes y flujos críticos. Asegúrese de que estos datos se conservan y son accesibles para admitir la detección oportuna, la respuesta y el análisis posterior al incidente.

La supervisión de la confiabilidad es la práctica de medir el nivel de cumplimiento de los requisitos empresariales a lo largo del tiempo, con respecto a la resistencia y la capacidad de recuperación. Un sistema de supervisión bien diseñado proporciona una vista en tiempo real y tendencias del comportamiento del sistema mediante el establecimiento de visibilidad en las capas de plataforma, infraestructura y carga de trabajo.

Al correlacionar estas señales entre componentes y a lo largo del tiempo, la supervisión permite un análisis rápido y seguro de incidentes y interrupciones. Cree un enfoque estructurado para que la información sea significativa, las alertas impulsan las acciones correctas y los aprendizajes se vuelven a incorporar a la arquitectura y las operaciones.

Las estrategias clave de este artículo se basan en la práctica operativa fundamental de observabilidad, que se describe en Estrategias de arquitectura de OE:07 para diseñar un sistema de supervisión. Las instrucciones sobre la implementación de la práctica de supervisión están disponibles en la Guía de diseño de supervisión. Se recomienda revisar primero esos recursos.

Definiciones

Término Definición
Acuerdo de Nivel de Servicio (contrato de nivel de servicio) Compromisos externos que recibe de proveedores o que realiza a sus clientes. No cumplir los Acuerdos de Nivel de Servicio puede provocar penalizaciones financieras, daños de reputación o una experiencia de usuario degradada.
SLO (objetivos de nivel de servicio) Objetivos internos de rendimiento y confiabilidad usados para definir umbrales que desencadenan alertas y miden el estado del sistema con respecto a los objetivos empresariales.
Modelo de salud Representación jerárquica de la condición del sistema mediante estados de salud claros (saludable, deteriorado, no saludable) con señales en tiempo real y capacidad de desglosar desde el sistema general hasta los componentes individuales.
Sello Una unidad de implementación con límites de capacidad definidos, como el número máximo de usuarios simultáneos, el rendimiento o los umbrales de uso de recursos. Varios sellos permiten el escalado horizontal y la distribución regional.
FMA (análisis del modo de error) Un análisis sistemático para identificar posibles puntos de error en un sistema, que se usan para guiar la estrategia de supervisión y las mejoras de confiabilidad.
RTO (objetivo de tiempo de recuperación) Tiempo máximo aceptable para detectar, responder y recuperarse de un error o incidente.
RPO (objetivo de punto de recuperación) Cantidad máxima aceptable de pérdida de datos medida en el tiempo, que representa la cantidad de datos que se pueden perder durante un escenario de error.
Transacciones sintéticas Pruebas automatizadas que simulan acciones reales de usuario e interacciones de un extremo a otro para validar el estado del sistema y detectar problemas desde la perspectiva del cliente, lo que proporciona validación externa de la disponibilidad del sistema.
Identificadores de correlación Identificadores únicos usados para realizar el seguimiento de transacciones y solicitudes en varios servicios y componentes, lo que permite la identificación y el análisis de problemas en sistemas distribuidos.
Errores transitorios Errores temporales en dependencias del sistema que normalmente se resuelven en un breve período de tiempo, como tiempos de espera de red o falta de disponibilidad temporal del servicio.
Latencia de cola El tiempo de respuesta experimentado por las solicitudes más lentas, normalmente medidos en percentiles altos (p95, p99), donde los problemas de rendimiento suelen aparecer primero.

Supervisión de la carga de trabajo y su funcionalidad

Supervise lo que realmente entrega el sistema. Empiece por realizar un seguimiento de si los flujos de trabajo críticos se completan correctamente y generan resultados válidos. Un sistema puede aparecer en buen estado mientras sigue produciendo salidas incorrectas o incompletas, por lo que la ejecución por sí sola no es suficiente.

Por ejemplo, si una carga de trabajo genera informes cada seis horas, la supervisión debe confirmar dos cosas: que el trabajo se ejecutó como programado y que generó un resultado válido, como un informe no vacío con contenido y tamaño esperados. Este tipo de validación ayuda a garantizar que el sistema no solo se está ejecutando, sino que también ofrece funcionalidad para la que se diseñó.

Supervisión de la experiencia del usuario

Supervise la confiabilidad desde una perspectiva empresarial y de usuario. Como parte del análisis del modo de falla (FMA), ya debería haber identificado flujos de usuario clave. Para cada flujo, realice un seguimiento de cómo afectan los errores de cualquier componente o dependencia a la experiencia del usuario y cuál es el resultado esperado. Por ejemplo, en un flujo de pago de comercio electrónico, una interrupción del servicio o una sobrecarga en los sistemas de pago o inventario puede impedir que los clientes completen las compras.

La confiabilidad también refleja la calidad del servicio. En un flujo de pago, los usuarios deben poder completar las compras de un extremo a otro sin interrupción. Use métricas de latencia basadas en percentiles como p50, p95 y p99 para comprender la experiencia real del usuario, con especial atención a la latencia final en la que los problemas de rendimiento a menudo aparecen primero.

Importante

La supervisión del rendimiento proporciona una vista de cómo se comporta el sistema bajo carga real desglosando la latencia de un extremo a otro entre las capas del sistema. Conecta los cambios de rendimiento para que pueda comprender lo que influye en un cambio en el comportamiento. Esto podría deberse a implementaciones, actualizaciones de configuración y eventos de escalado. Juntos, la confiabilidad y la supervisión del rendimiento proporcionan una imagen completa del comportamiento del sistema y resaltan dónde la atención centrada tendrá el mayor impacto. Para obtener información sobre la supervisión del rendimiento, consulte Supervisión del rendimiento.

Seguimiento de los objetivos de disponibilidad

Realice un seguimiento de la forma en que el sistema cumple sus objetivos definidos para los tiempos de disponibilidad, rendimiento y respuesta. Estos objetivos suelen formalizarse como acuerdos de nivel de servicio (SLA) y objetivos de nivel de servicio (SLO) y reflejan las expectativas que ha establecido con los usuarios. La supervisión contra ellos mantiene la confiabilidad alineada con los resultados empresariales reales. Para obtener más información, consulte Objetivos de confiabilidad y Contratos de nivel de servicio.

Céntrese en los indicadores clave que contribuyen a esos objetivos y realice un seguimiento a lo largo del tiempo. Cuando algo se desvía, debería tener la capacidad de analizar en profundidad los componentes o subsistemas específicos implicados. Captura todas las señales relevantes, incluidos los problemas enmascarados por redundancia o conmutación por error, de modo que puedas comprender lo que realmente ha ocurrido y evitar repeticiones.

Combine el reconocimiento en tiempo real con el contexto histórico. Las señales en tiempo real le ayudan a responder rápidamente cuando los objetivos están en riesgo, mientras que las tendencias a lo largo del tiempo revelan patrones y problemas periódicos. La clasificación de las causas de desviaciones de objetivo y la agregación de estas métricas apoya también informes claros de SLA y ayuda a guiar las mejoras continuas.

Supervise los Acuerdos de Nivel de Servicio clave proporcionados por sus proveedores y servicios de plataforma (de Microsoft y otros). Debería hacer lo siguiente:

  • Seguimiento de indicadores de posibles infracciones del Acuerdo de Nivel de Servicio en tiempo real
  • Capturar y conservar la evidencia necesaria para admitir una notificación del Acuerdo de Nivel de Servicio si se produce una infracción

Seguimiento de los objetivos de recuperabilidad

Realice un seguimiento de la capacidad de recuperación tratando cada prueba y incidente real como un evento medible. Use los datos de supervisión para validar que el sistema y el equipo pueden cumplir los objetivos de recuperación definidos en condiciones reales.

Mida las señales clave, como el tiempo para detectar, responder y recuperar (RTO), junto con la exposición a la pérdida de datos (RPO). Incluya indicadores como la preparación y capacidad de la conmutación por error, las tasas de éxito de conmutación por error y el tiempo de ejecución de la conmutación por error, el éxito de la copia de seguridad y la restauración, el retraso en la replicación y cuánto se necesita de intervención manual.

Estas métricas también resaltan las brechas operativas, como procedimientos poco claros, retrasos en la decisión o documentación de difícil acceso, lo que puede afectar al rendimiento de la recuperación. Use estas conclusiones para reforzar tanto el diseño del sistema como las prácticas de respuesta a incidentes.

Note

Tenga cuidado de que las directivas de limpieza o retención no sean tan agresivas que eliminen registros o telemetría justo cuando más los necesite. Para cada escenario, pregunte: ¿Qué datos necesitaríamos comprender qué ha ocurrido antes y durante el incidente? Un enfoque útil consiste en pensar en diferentes tipos de investigaciones posteriores a incidentes, como:

  • Interrupciones de la plataforma o de la infraestructura
  • Problemas de disponibilidad de la aplicación (por ejemplo, después de un cambio de implementación o configuración)
  • Errores de la aplicación que causan pérdida de datos o daños
  • Incidentes de seguridad

Hacer que las alertas sean accionables con un modelo de salud

Diseñe alertas para que apunten claramente a algo en lo que vale la pena actuar y fúndelas en un modelo de salud que represente el sistema mediante estados simples como saludable, degradado y no saludable.

Estructure el modelo de mantenimiento jerárquicamente, desde componentes individuales hasta el sistema completo, por lo que puede realizar un seguimiento rápido de los problemas a su origen. Defina umbrales mediante objetivos de nivel de servicio (SLO) y combine señales como métricas, registros, seguimientos y comprobaciones sintéticas para crear una imagen confiable del estado del sistema. Esto proporciona a los operadores una vista clara de lo que funciona, lo que no es y dónde actuar sin profundizar en los datos sin procesar. Para obtener más información, consulte la guía de diseño sobre el modelado de salud.

Configura las alertas para las condiciones reales centrándose en la experiencia integral y las transacciones críticas, de modo que reflejen el impacto real del usuario. Reduzca el ruido considerando las fluctuaciones transitorias y activando cambios significativos en el estado de salud en lugar de interrupciones o picos aislados. Combine alertas en tiempo real con información de tendencias para detectar problemas inmediatos y degradación gradual, lo que ayuda a los equipos a responder rápidamente y mantenerse centrados.

Riesgo: el modelado de estado requiere recopilar señales significativas en todo el sistema. Confiar solo en métricas simples, como CPU o memoria, puede perder lo que realmente importa. Incluya datos de experiencia del usuario y comprobaciones sintéticas para obtener una vista completa. Definir "saludable" requiere alineación, y los umbrales mal ajustados pueden crear ruido y reducir la efectividad.

Supervisión de todas las capas del sistema

Supervise cada capa del sistema, la aplicación, el almacenamiento y la red para mantener una vista completa de las señales de confiabilidad.

En el nivel de aplicación, realice un seguimiento del éxito, el error y la latencia mediante registros, métricas y sondeos de estado. Use identificadores de correlación para seguir las solicitudes entre servicios y facilitar la solución de problemas. Recopile registros de forma asincrónica para que no afecten al rendimiento de las solicitudes y mantenga los registros de diagnóstico y auditoría separados para mayor claridad. Agregue transacciones sintéticas y sondeos de punto de conexión para confirmar lo que los clientes realmente experimentan.

Compensación. Elegir entre el registro asincrónico y sincrónico implica un equilibrio entre el rendimiento y la confiabilidad de la telemetría.

  • El registro asincrónico mantiene el registro fuera de la ruta crítica, lo que reduce la latencia y mejora el rendimiento del sistema. Sin embargo, presenta un riesgo de pérdida de telemetría, especialmente si se produce un error antes de vaciar o conservar los registros.

  • El registro sincrónico garantiza que los registros se escriben antes de que continúe el procesamiento, lo que mejora la durabilidad y la auditoría de los datos. La compensación es una mayor latencia y un acoplamiento más estricto entre el rendimiento de la aplicación y el sistema de registro de logs.

En la mayoría de los escenarios, el registro asincrónico es el enfoque preferido debido a su impacto mínimo en el rendimiento. Sin embargo, en entornos altamente regulados o sensibles a auditoría, es posible que se requiera registro sincrónico para garantizar que los eventos críticos se capturan de forma confiable.

En la capa de datos y almacenamiento, céntrese en la disponibilidad, tasas de éxito de escritura, latencia de consulta, tiempos de espera, bloqueos y presión de recursos. Examine las tendencias a lo largo del tiempo para identificar cuellos de botella crecientes y distinguir los problemas de corta duración de la degradación sostenida.

En la capa de red, supervise la conectividad, la latencia, la pérdida de paquetes, el ancho de banda y los patrones de tráfico. Combine registros de flujo, comprobaciones de puntos de conexión y pruebas sintéticas para exponer problemas de enrutamiento, anomalías o comportamiento relacionado con la seguridad. Conecte estas señales a los datos de la aplicación y de la plataforma para comprender dónde se originan los problemas.

Los registros operativos ayudan a diagnosticar problemas, realizar un seguimiento del rendimiento y comprender el comportamiento del sistema. No están diseñados para servir como fuente de verdad para eventos empresariales, auditorías o informes normativos, que normalmente requieren una mayor rastreabilidad.

Qué supervisar en detalle para cada capa se aborda en la Guía de diseño de supervisión.

Definir y supervisar la capacidad de sello

Defina límites claros de capacidad para cada unidad de implementación, o stamp, y superviselos estrechamente. Cada instancia opera dentro de un límite finito, ya sea el máximo de usuarios simultáneos, el rendimiento máximo o los umbrales de utilización de recursos. Por lo tanto, hacer que esos límites sean explícitos le proporcionará una base de referencia confiable para la toma de decisiones.

Esta visibilidad le ayuda a identificar cuándo un sello está cerca de saturación, antes de que afecte a la confiabilidad. También admite decisiones oportunas de escalado horizontal, como agregar nuevas instancias o redistribuir la carga, y confirma que el tráfico fluye según lo diseñado.

Definir estos límites no siempre es sencillo. La capacidad puede ser difícil de medir, especialmente cuando depende de varios servicios subyacentes con diferentes características de escalado. Debe usar instrucciones de plataforma, como cuotas y límites de Microsoft Azure, como punto de partida. En la práctica, la capacidad se determina a menudo a través de pruebas de carga, observación y ajuste iterativo en lugar de modelado inicial preciso.

Supervisión de la distribución de carga entre instancias redundantes

Al ejecutar la carga de trabajo en varias instancias redundantes, incluida la distribución de instancias entre distintas regiones o zonas, el tráfico y el uso de recursos deben mantenerse equilibrados entre esas instancias.

Quiere detectar desequilibrios que a menudo apuntan a problemas de enrutamiento, problemas de configuración o restricciones de dependencia. También garantiza que los destinos de conmutación por error tengan capacidad suficiente para absorber el tráfico cuando sea necesario y confirma que los mecanismos de redundancia se comportan según lo esperado durante los escenarios de error y operación de estado estable.

Detectar modos de fallo

Como parte del ejercicio de análisis del modo de fallo (FMA), debiera haber identificado los posibles puntos de fallo.

En la práctica de supervisión de confiabilidad, mantenga la vigilancia continua en esos puntos. Empiece por centrarse en señales más sencillas, como errores transitorios. Supervise el comportamiento de reintento y las tasas de errores transitorios para comprender cómo se comportan las dependencias y los servicios subyacentes en condiciones operativas reales. Estas señales proporcionan una visión temprana de la inestabilidad emergente. Ayudan a reconocer cuándo los patrones de reintento se desfasan de la norma esperada, mantienen una sensación de si el sistema permanece en buen estado bajo carga e identifican cuándo comienza a degradarse una dependencia o un servicio externo antes de que afecte a la experiencia del usuario.

También se incluyen errores de mayor impacto, como interrupciones de zona de disponibilidad que afectan a un subconjunto de infraestructuras, interrupciones de servicio o interrupciones regionales que desconectan toda una región de Azure. Incluso observe los escenarios de seguridad, como DDoS u otra actividad malintencionada, errores de configuración de componentes y problemas de rendimiento, ya que cada uno de ellos puede afectar a la confiabilidad general de la solución.

Para obtener información sobre FMA, consulte Estrategias de arquitectura para el análisis del modo de error.

Informarse sobre el estado de confiabilidad de la plataforma

Necesita información clara sobre el estado de la plataforma para administrar la confiabilidad de forma eficaz. Esa conciencia le ayuda a determinar rápidamente si un problema se origina en la carga de trabajo o en la plataforma en la nube subyacente.

Azure Service Health proporciona visibilidad sobre el estado de Azure. Configure alertas en Service Health para recibir notificaciones cuando cambien las condiciones de la plataforma. Recibirá actualizaciones sobre interrupciones activas que afectan a los recursos, eventos de mantenimiento planeado que pueden introducir interrupciones y degradaciones regionales o específicas del servicio.

Facilitación con Azure

  • Incorpore servicios de supervisión y alertas de plataforma en la nube, entre los que se incluyen:

  • Azure Monitor es una solución de supervisión completa que se usa para recopilar, analizar y responder a los datos de supervisión de los entornos locales y en la nube.

  • Log Analytics es una herramienta de Azure Portal que se usa para editar y ejecutar consultas de registro en los datos del área de trabajo de Log Analytics.

  • Application Insights es una extensión de Azure Monitor. Proporciona características de supervisión del rendimiento de la aplicación (APM).

  • Azure Monitor Insights son herramientas de análisis avanzadas que ayudan a supervisar servicios de Azure, como máquinas virtuales, servicios de aplicaciones y contenedores. Las conclusiones se basan en Azure Monitor y Log Analytics.

  • Azure Monitor para soluciones de SAP es un producto de supervisión nativo de Azure para entornos de SAP que se ejecutan en la plataforma.

  • El monitor de conexión es una herramienta para realizar un seguimiento continuo de la conectividad de red y el rendimiento en los recursos de Azure. Ejecuta pruebas sintéticas y proporciona alertas y diagnósticos en tiempo real para detectar errores al principio. Puede crear libros personalizados para visualizar el estado de conectividad y las métricas de rendimiento agregadas.

  • Los registros de flujo de red virtual se pueden habilitar entre cargas de trabajo para supervisar el tráfico de red. El análisis de tráfico se puede usar para analizar y enriquecer estos registros de flujo para exponer información detallada, como el tráfico bloqueado, los flujos malintencionados y los puertos activos expuestos a Internet. La creación de libros de trabajo permite a los equipos supervisar el comportamiento del tráfico en vivo y recibir alertas. Use vistas de escala de tiempo y visualizaciones de topología para supervisar fácilmente los patrones de tráfico que podrían indicar la degradación del rendimiento o las amenazas de seguridad.

  • Para conocer los procedimientos recomendados de varias áreas de trabajo, consulte Diseño de una arquitectura de área de trabajo de Log Analytics.

Example

Para ver ejemplos de soluciones de supervisión del mundo real, consulte Supervisión de aplicaciones web en azure y arquitectura de línea de base para un clúster de Azure Kubernetes Service.

  • Alertas de línea base de Azure Monitor (AMBA) es un repositorio central de definiciones de alertas que los clientes y asociados pueden usar para mejorar su experiencia de observabilidad a través de la adopción de Azure Monitor.

Lista de comprobación de confiabilidad

Consulte el conjunto completo de recomendaciones.