Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
REL08-BP03 Integre las pruebas de resiliencia como parte de su implementación
Para integrar las pruebas de resiliencia, cree fallos en el sistema de forma intencionada para medir su capacidad en caso de situaciones disruptivas. Las pruebas de resiliencia son diferentes de las pruebas unitarias y funcionales que suelen estar integradas en los ciclos de implementación, ya que se centran en la identificación de fallos imprevistos en el sistema. Aunque es seguro comenzar con la integración de pruebas de resiliencia en la fase de preproducción, fíjese el objetivo de implementar estas pruebas en producción como parte de sus días de juegos.
Resultado deseado: las pruebas de resiliencia ayudan a generar confianza en la capacidad del sistema para resistir la degradación en la producción. Los experimentos identifican los puntos débiles que podrían provocar fallos, lo que le ayuda a mejorar su sistema para mitigar de manera automática y eficiente los fallos y la degradación.
Patrones comunes de uso no recomendados:
-
Falta de observabilidad y supervisión en los procesos de implementación
-
Confianza en las personas para resolver fallos del sistema
-
Mecanismos de análisis de mala calidad
-
Centrarse en los problemas conocidos de un sistema y falta de experimentación para identificar cualquier elemento desconocido
-
Identificación de fallos, pero sin ninguna resolución
-
Falta de documentación de los resultados y manuales de procedimientos
Beneficios de establecer prácticas recomendadas: las pruebas de resiliencia integradas en las implementaciones ayudan a identificar problemas desconocidos en el sistema que, de otro modo, pasarían desapercibidos y que pueden provocar tiempos de inactividad en la producción. La identificación de estos elementos desconocidos en un sistema le ayuda a documentar los resultados, integrar las pruebas en su proceso de CI/CD y crear manuales de procedimientos, lo que simplifica la mitigación mediante mecanismos eficientes y repetibles.
Nivel de riesgo expuesto si no se establece esta práctica recomendada: medio
Guía para la implementación
Los formularios de pruebas de resiliencia más comunes que se pueden integrar en las implementaciones de su sistema son la recuperación de desastres y la ingeniería del caos.
-
Incluya actualizaciones en sus planes de recuperación ante desastres y en sus procedimientos operativos estándar (SOPs) con cualquier implementación importante.
-
Integre las pruebas de fiabilidad en sus canalizaciones de implementación automatizadas. Estos servicios, como AWS Resilience Hub
, se pueden integrar en su canalización de CI/CD para establecer evaluaciones de resiliencia continuas que se evalúen automáticamente como parte de cada implementación. -
Defina sus aplicaciones en AWS Resilience Hub. Las evaluaciones de resiliencia generan fragmentos de código que le ayudan a crear procedimientos de recuperación como documentos de AWS Systems Manager para sus aplicaciones y proporcionan una lista de CloudWatch monitores y alarmas recomendados por Amazon.
-
Una vez que sus planes de recuperación ante desastres SOPs estén actualizados, complete las pruebas de recuperación ante desastres para comprobar su eficacia. Las pruebas de recuperación de desastres le ayudan a determinar si puede restaurar el sistema después de un evento y recuperar el funcionamiento normal. Puede simular varias estrategias de recuperación de desastres e identificar si su planificación es suficiente para cumplir sus requisitos de tiempo de actividad. Las estrategias comunes de recuperación de desastres incluyen copias de seguridad y restauración, el enfoque de luz piloto, la espera en frío, la espera semiactiva, la espera activa y la estrategia activa-activa, y todas difieren en costo y complejidad. Antes de realizar las pruebas de recuperación ante desastres, le recomendamos que defina su objetivo de tiempo de recuperación (RTO) y su objetivo de punto de recuperación (RPO) para simplificar la elección de la estrategia que desee simular. AWS ofrece herramientas de recuperación ante desastres que le ayudarán AWS Elastic Disaster Recovery
a empezar con la planificación y las pruebas. -
Los experimentos de ingeniería del caos introducen disrupciones en el sistema, como cortes de la red y fallos del servicio. Al ejecutar simulaciones con fallos controlados, puede descubrir las vulnerabilidades de su sistema y, al mismo tiempo, contener la repercusión de los fallos inyectados. Al igual que las demás estrategias, ejecute simulaciones de fallas controladas en entornos que no sean de producción utilizando servicios como AWS Fault Injection Service
para ganar confianza antes de implementarlos en producción.
Recursos
Documentos relacionados:
Videos relacionados: