Marco del ciclo de vida de la resiliencia: un enfoque continuo para mejorar la resiliencia
Amazon Web Services (colaboradores)
octubre de 2023(historial del documento)
Hoy en día, las organizaciones modernas se enfrentan a un número cada vez mayor de desafíos relacionados con la resiliencia, especialmente a medida que las expectativas de los clientes cambian hacia una mentalidad de estar siempre activado y siempre disponible. Los equipos remotos y las aplicaciones distribuidas y complejas se combinan con una creciente necesidad de tener lanzamientos frecuentes. Como resultado, las organizaciones y sus aplicaciones deben ser más resilientes que nunca.
AWS define la resiliencia como la capacidad de una aplicación para resistir las interrupciones o recuperarse de ellas, incluidas las interrupciones relacionadas con la infraestructura, los servicios dependientes, los errores de configuración y los problemas transitorios de la red. (Consulte La resiliencia y los componentes de la fiabilidad en la documentación del pilar de fiabilidad del Marco de AWS Well-Architected). Sin embargo, para lograr el nivel de resiliencia deseado, a menudo es necesario hacer concesiones. Deberá evaluar y ajustar la complejidad operativa, la complejidad de ingeniería y el costo en consecuencia.
Con base en años de trabajo con clientes y equipos internos, AWS ha desarrollado un marco de ciclo de vida de la resiliencia que recoge los aprendizajes y las prácticas recomendadas en materia de resiliencia. En el marco se describen cinco etapas clave, las cuales se ilustran en el siguiente diagrama. En cada etapa, puede utilizar estrategias, servicios y mecanismos para mejorar su postura en materia de resiliencia.
Estas etapas se explican en las siguientes secciones de esta guía:
Términos y definiciones
Los conceptos de resiliencia de cada etapa se aplican en diferentes niveles, desde componentes individuales hasta sistemas completos. Para implementar estos conceptos es necesario hacer una definición clara de varios términos:
-
Un componente es un elemento que desempeña una función y consta de recursos de software y tecnología. Algunos ejemplos de componentes son la configuración del código, la infraestructura, como las redes, o incluso los servidores, los almacenes de datos y las dependencias externas, como los dispositivos de autenticación multifactor (MFA).
-
Una aplicación es un conjunto de componentes que ofrece valor comercial, como una tienda web orientada al cliente o el proceso de backend que mejora los modelos de machine learning. Una aplicación podría constar de un subconjunto de componentes en una sola cuenta de AWS o ser un conjunto de varios componentes que abarcan varias regiones y Cuentas de AWS.
-
Un sistema es un conjunto de aplicaciones, personas y procesos necesarios para administrar una función empresarial determinada. Abarca la aplicación necesaria para ejecutar una función; los procesos operativos, como la integración y la entrega continuas (CI/CD), la observabilidad, la administración de la configuración, la respuesta a incidentes y la recuperación ante desastres; y los operadores que administran dichas tareas.
-
Una interrupción es un evento que impide que la aplicación desempeñe su función empresarial de forma adecuada.
-
El deterioro es el efecto que una interrupción tiene en una aplicación si no se mitiga. Las aplicaciones pueden verse afectadas si sufren una serie de interrupciones.
Resiliencia continua
El ciclo de vida de la resiliencia es un proceso continuo. Incluso dentro de la misma organización, los equipos de aplicaciones pueden funcionar con diferentes niveles de integridad en cada etapa, en función de los requisitos de la aplicación. Sin embargo, cuanto más completa sea cada etapa, mayor será el nivel de resiliencia que tendrá la aplicación.
Debe pensar en el ciclo de vida de la resiliencia como un proceso estándar que su organización puede poner en práctica. AWS ha ajustado el ciclo de vida de la resiliencia intencionadamente para que sea parecido al ciclo de vida del desarrollo de software (SDLC), con el objetivo de incorporar la planificación, las pruebas y el aprendizaje en todos los procesos operativos mientras desarrolla y utiliza las aplicaciones. Como ocurre con muchos procesos de desarrollo ágiles, el ciclo de vida de la resiliencia se puede repetir con cada iteración del proceso de desarrollo. Le recomendamos que, a lo largo del tiempo, profundice progresivamente en las prácticas de cada etapa del ciclo de vida.