Descripción general de Fault Injection Testing

Fault Injection Testing te permite experimentar con la inyección de errores, un método para introducir errores en un sistema y probar su resiliencia antes de que causen una falla real e inesperada que afecte a tus clientes. Con Fault Injection Testing, puedes insertar fallas en varios componentes de tu entorno de Google Cloud para asegurarte de que tu aplicación las controle de manera predecible.

En la versión inicial de Fault Injection Testing, los errores suelen ser equivalentes a una falla del recurso objetivo. Estas fallas deberían activar tu aplicación para que redireccione el tráfico a instancias en buen estado si diseñaste la tolerancia a fallas en tu aplicación.

Se espera que observes tu aplicación antes, durante y después de inyectar la falla para verificar que la aplicación la haya controlado según lo previsto.

¿Por qué usar Fault Injection Testing?

Fault Injection Testing te permite ejecutar experimentos sobre la resiliencia de tus aplicaciones en Google Cloud en un amplio espectro de situaciones de falla. Una parte fundamental de este espectro es ejecutar experimentos para aproximar las zonas y regiones con fallas, que son difíciles o imposibles de ejecutar por completo por tu cuenta. Google Cloud Además, Fault Injection Testing es una herramienta valiosa de desarrollo y mejora, ya que te permite ejecutar experimentos en los mecanismos de resiliencia diseñados antes de introducirlos en un entorno de producción. Detectar los problemas antes de que surjan en la producción permite mejorar los diseños con mayor rapidez, evitar costosos tiempos de inactividad y pérdidas de reputación, y mejorar tu experiencia general.

Sin un producto de inyección de fallas nativo de Google Cloud, debes realizar tus propios experimentos. Realizar tus propios experimentos es problemático, ya queGoogle Cloud es un entorno compartido y, en muchos casos, es posible que no tengas acceso directo a los servicios y la infraestructura subyacentes. Esta situación puede generar una experimentación inadecuada y laboriosa que, en última instancia, puede ser ineficaz para alcanzar el objetivo de experimentar correctamente con la resiliencia de tu aplicación. Fault Injection Testing te ayuda a reducir el esfuerzo necesario para automatizar estos experimentos, te brinda acceso a modos de falla que de otro modo no tendrías y mejora la fidelidad de tus esfuerzos de experimentación.

En el caso de los clientes regulados, realizar experimentos con regularidad suele ser un requisito para seguir cumpliendo con los organismos que rigen la industria. En estos casos, el experimento suele tomar la forma de una prueba de recuperación ante desastres, que muestra que la falla de una zona o región no impedirá que la aplicación siga funcionando de manera eficaz.

Cómo usar Fault Injection Testing

Antes de usar Fault Injection Testing, asegúrate de lo siguiente:

  • Los entornos en los que se realizarán los experimentos tienen cierta redundancia. Cuando se inserta una falla, la aplicación de este entorno puede seguir ejecutándose en la infraestructura redundante.
  • Para los administradores o propietarios de recursos de Google Cloud : Ten en cuenta quién recibe permisos para configurar y ejecutar experimentos de Fault Injection Testing. Causar fallas en los componentes de infraestructura en ejecución en tu entorno de Google Cloud provocará interrupciones. Por lo tanto, debes otorgar permiso solo a los operadores que comprendan cómo se diseñó su entorno de nube y cómo experimentar de forma segura con la capacidad de recuperación de esa arquitectura, de modo que puedan configurar experimentos de una manera que no cause interrupciones no deseadas.

Para usar Fault Injection Testing, debes configurar un experimento. Para configurar un experimento nuevo, primero crearás una plantilla de experimento, que define la falla que se insertará y los recursos de destino. A continuación, ejecutarás el experimento desde la plantilla. Un experimento es el conjunto de acciones definidas en la plantilla que se ejecutarán en los recursos que seleccionaste en ella.