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.
Planeando tu AWS FISexperimentos
La inyección de errores es el proceso de sobrecargar una aplicación en entornos de prueba o producción mediante la creación de eventos disruptivos, como interrupciones del servidor o ralentizacionesAPI. Al observar cómo responde el sistema, se pueden implementar mejoras. Realizar experimentos en su sistema puede ayudarle a identificar las debilidades sistémicas de forma controlada, antes de que esas debilidades afecten a los clientes que dependen de su sistema. De este modo, podrá abordar los problemas de forma proactiva para evitar resultados impredecibles.
Antes de empezar, realice experimentos de inyección de fallos utilizando AWS FIS, le recomendamos que se familiarice con los siguientes principios y directrices.
importante
AWS FISlleva a cabo acciones reales sobre reales AWS recursos en su sistema. Por lo tanto, antes de empezar a usar AWS FISpara realizar experimentos, le recomendamos encarecidamente que primero complete una fase de planificación y una prueba en un entorno de preproducción o de prueba.
Principios y directrices básicos
Antes de iniciar los experimentos con AWS FIS, siga los pasos siguientes:
-
Identifique la implementación de destino del experimento: comience por identificar la implementación de destino. Si este es su primer experimento, le recomendamos que comience en un entorno de preproducción o de prueba.
-
Revise la arquitectura de la aplicación: asegúrese de haber identificado todos los componentes, las dependencias y los procedimientos de recuperación de cada componente de la aplicación. Comience por revisar la arquitectura de la aplicación. Según la aplicación, consulte la AWS Well-Architected Framework.
-
Defina el comportamiento de estado estable: defina el comportamiento de estado estable de su sistema en términos de métricas técnicas y empresariales importantes, como la latencia, la carga, los inicios de sesión fallidos por minuto, el número de reintentos o la velocidad de CPU carga de la página.
-
Formule una hipótesis: formule una hipótesis sobre cómo espera que cambie el comportamiento del sistema durante el experimento. La definición de una hipótesis sigue este formato:
Si
fault injection action
si se realiza, elbusiness or technical metric impact
no debe superarvalue
.Por ejemplo, una hipótesis para un servicio de autenticación podría ser la siguiente: “Si la latencia de la red aumenta un 10 %, los errores de inicio de sesión aumentan menos del 1 %”. Una vez finalizado el experimento, debe evaluar si la resiliencia de la aplicación se ajusta a sus expectativas empresariales y técnicas.
También recomendamos seguir estas pautas cuando trabaje con AWS FIS:
-
Empieza siempre a experimentar con AWS FISen un entorno de prueba. Nunca comience con un entorno de producción. A medida que avance en sus experimentos de inyección de errores, podrá experimentar en otros entornos controlados además del entorno de prueba.
-
Aumente la confianza de su equipo en la resiliencia de sus aplicaciones empezando con experimentos pequeños y sencillos, como ejecutar la acción aws:ec2:stop-instances en un destino.
-
La inyección de errores puede causar problemas reales. Proceda con precaución y asegúrese de que sus primeras inyecciones de errores se realicen en instancias de prueba para que ningún cliente se vea afectado.
-
Pruebe, pruebe y pruebe un poco más. La inyección de errores está destinada a implementarse en un entorno controlado con experimentos bien planificados. Esto le permite aumentar la confianza en la capacidad de su aplicación y sus herramientas para soportar condiciones turbulentas.
-
Le recomendamos encarecidamente que cuente con un excelente programa de monitorización y alertas antes de empezar. Sin él, no podrá comprender ni medir el impacto de sus experimentos, lo cual es fundamental para que las prácticas de inyección de errores sean sostenibles.
Directrices de planificación de experimentos
Con AWS FIS, realizas experimentos en tu AWS recursos para poner a prueba su teoría sobre el rendimiento de una aplicación o un sistema en caso de fallo.
Las siguientes son pautas recomendadas para planificar su AWS FISexperimentos.
-
Revise el historial de interrupciones: revise las interrupciones y eventos anteriores de su sistema. Esto puede ayudarle a hacerse una idea del estado general y la capacidad de recuperación de su sistema. Antes de empezar a realizar experimentos en el sistema, debe abordar los problemas y puntos débiles conocidos del sistema.
-
Identifique los servicios que tienen el mayor impacto: revise sus servicios e identifique los que tienen el mayor impacto en sus usuarios finales o clientes si dejan de funcionar o no funcionan correctamente.
-
Identifique el sistema de destino: el sistema de destino es el sistema en el que realizará los experimentos. Si eres nuevo en AWS FISSi no ha realizado nunca experimentos de inyección de fallos, le recomendamos que comience por realizar los experimentos en un sistema de preproducción o de prueba.
-
Consulte con su equipo: pregunte qué es lo que les preocupa. Puede formular una hipótesis para probar o refutar sus preocupaciones. También puede preguntarle a su equipo qué es lo que no les preocupa. Esta pregunta puede revelar dos falacias comunes: la falacia del costo irrecuperable y la falacia del sesgo de confirmación. Formular una hipótesis basada en las respuestas de su equipo puede ayudar a proporcionar más información sobre la realidad del estado de su sistema.
-
Revise la arquitectura de su aplicación: realice una revisión de su sistema o aplicación, y asegúrese de haber identificado todos los componentes, las dependencias y los procedimientos de recuperación de cada componente de la aplicación.
Le recomendamos que revise las AWS Well-Architected Framework. El marco puede ayudarle a crear infraestructuras seguras, de alto rendimiento, resistentes y eficientes para las aplicaciones y cargas de trabajo. Para obtener más información, consulte AWS Well-Architected.
-
Identifique las métricas aplicables: puede supervisar el impacto de un experimento en su AWS recursos que utilizan CloudWatch las métricas de Amazon. Puede utilizar estas métricas para determinar el punto de referencia o el “estado estable” en el que su aplicación tiene un rendimiento óptimo. A continuación, puede monitorizar estas métricas durante el experimento o después de él para determinar el impacto. Para obtener más información, consulte Monitorización de métricas de uso de AWS FIS con Amazon CloudWatch.
-
Defina un umbral de rendimiento aceptable para su sistema: identifique la métrica que represente un estado estable aceptable para su sistema. Utilizará esta métrica para crear una o más CloudWatch alarmas que representen una condición de interrupción del experimento. Si se activa la alarma, el experimento se detiene automáticamente. Para obtener más información, consulte Condiciones de parada para AWS FIS.