Etapa 4: funcionamiento
Una vez que haya completado la etapa 3: evaluación y pruebas, ya podrá implementar la aplicación en producción. En la etapa de funcionamiento, implementa la aplicación en producción y administra la experiencia de los clientes. El diseño y la implementación de la aplicación determinan muchos de sus resultados de resiliencia, pero esta etapa se centra en las prácticas operativas que el sistema utiliza para mantener y mejorar la resiliencia. Establecer una cultura de excelencia operativa ayuda a crear estándares y coherencia en estas prácticas.
Observabilidad
La parte más importante de entender la experiencia del cliente es mediante la supervisión y las alarmas. Tiene que equipar la aplicación para entender su estado y necesita varias perspectivas, lo que significa que debe medir tanto desde el lado del servidor como del cliente, normalmente con canarios. Las métricas deben incluir datos sobre las interacciones de la aplicación con las dependencias y dimensiones que se ajusten a sus límites de aislamiento de errores. También debe generar registros que proporcionen más detalles sobre cada unidad de trabajo que realice la aplicación. Podría considerar la posibilidad de combinar métricas y registros mediante una solución como el formato de métricas integrado de Amazon CloudWatch. Es probable que observe que siempre necesita una mayor observabilidad, así que valore las concesiones necesarias en materia de costo, esfuerzo y complejidad para implementar el nivel de instrumentación deseado.
Los siguientes enlaces proporcionan las prácticas recomendadas para instrumentar la aplicación y crear alarmas:
-
Monitoring production services at Amazon
(presentación de AWS re:Invent 2020) -
Amazon Builders' Library: Operational Excellence at Amazon
(presentación de AWS re:Invent 2021) -
Observability best practices at Amazon
(presentación de AWS re:Invent 2022) -
Instrumentación de los sistemas distribuidos para obtener visibilidad operativa
(artículo de Amazon Builders' Library) -
Building dashboards for operational visibility
(artículo de Amazon Builders' Library)
Administración de eventos
Debe contar con un proceso de administración de eventos para gestionar las averías cuando las alarmas (o, lo que sería peor, los clientes) le indiquen que se ha producido algún problema. Este proceso debe incluir la contratación de un operador de guardia, la derivación de los problemas al equipo correspondiente y el establecimiento de manuales de procedimientos para adoptar enfoques coherentes de solución de problemas que ayuden a eliminar los errores humanos. Sin embargo, las averías no suelen producirse de forma aislada: una sola aplicación podría afectar a muchas otras aplicaciones que dependen de ella. Para abordar los problemas rápidamente, debe comprender todas las aplicaciones que se ven afectadas y reúne a los operadores de varios equipos en una sola teleconferencia. Sin embargo, según el tamaño y la estructura de la organización, este proceso puede requerir un equipo de operaciones centralizado.
Además de configurar un proceso de administración de eventos, debe revisar periódicamente las métricas a través de paneles. Las revisiones periódicas lo ayudan a entender la experiencia del cliente y las tendencias a largo plazo en el rendimiento de la aplicación. Le servirán para identificar los problemas y los cuellos de botella antes de que tengan un impacto significativo en producción. Revisar las métricas de forma coherente y estandarizada ofrece ventajas importantes, pero requiere la participación de todas las partes interesadas y una inversión de tiempo.
Los siguientes enlaces proporcionan las prácticas recomendadas para crear paneles de control y revisar las métricas operativas:
-
Building dashboards for operational visibility
(artículo de Amazon Builders' Library) -
Amazon's approach to failing successfully
(presentación de AWS re:Invent 2019)
Resiliencia continua
Durante la etapa 2: diseño e implementación y la etapa 3: evaluación y pruebas, inició las actividades de revisión y pruebas antes de implementar la aplicación en producción. Durante la etapa de funcionamiento, debe continuar iterando esas actividades en producción. Debe revisar periódicamente la postura de resiliencia de la aplicación mediante revisiones del Marco de AWS Well-Architected
También puede plantearse la posibilidad de realizar experimentos de días de juego
Al poner en funcionamiento sus aplicaciones, detectar eventos operativos, revisar las métricas y probar la aplicación, encontrará numerosas oportunidades para responder y aprender.