Estrategias comunes de mitigación
Para empezar, valore la posibilidad de utilizar mitigaciones preventivas para evitar que el modo de error afecte a la historia del usuario. A continuación, debería pensar en las mitigaciones correctivas. Las mitigaciones correctivas ayudan al sistema a recuperarse automáticamente o a adaptarse a los cambios en las condiciones. Esta es una lista de las mitigaciones más comunes para cada categoría de error que se ajustan a las propiedades de resiliencia.
Categoría de error |
Propiedades de resiliencia deseadas |
Mitigaciones |
|---|---|---|
Únicos puntos de error (SPOF) |
Redundancia y tolerancia a errores |
|
Carga excesiva |
Capacidad suficiente |
|
Latencia excesiva |
Salida puntual |
|
Configuraciones incorrectas y errores |
Salida correcta |
|
Destino compartido |
Aislamiento de errores |
|
Si bien algunas de estas medidas de mitigación necesitan un esfuerzo mínimo para implementarlas, otras (como la adopción de una arquitectura basada en celdas para aislar los errores de forma predecible y reducir al mínimo los errores de destino compartido) podrían necesitar un nuevo diseño de toda la carga de trabajo y no solo de los componentes de una historia de usuario concreta. Como se mencionó anteriormente, es importante sopesar las probabilidades y el impacto del modo de error en relación con las concesiones que se deben hacer para mitigarlo.
Además de las técnicas de mitigación que se aplican a cada categoría de modo de error, debe pensar en las mitigaciones necesarias para recuperar la historia del usuario o todo el sistema. Por ejemplo, un error podría detener un flujo de trabajo e impedir que los datos se escribieran en los destinos previstos. En este caso, es posible que deba usar herramientas operativas para volver a impulsar el flujo de trabajo o corregir los datos manualmente. Es posible que también tenga que incorporar un mecanismo de puntos de control a la carga de trabajo para evitar la pérdida de datos en caso de que se produzcan errores. O puede que tenga que crear un cable andon para pausar el flujo de trabajo y dejar de aceptar nuevos trabajos para evitar más daños. En estos casos, debe pensar en las herramientas operativas y las barreras de protección que necesita.
Por último, debe asumir siempre que las personas van a cometer errores a medida que desarrolle una estrategia de mitigación. Si bien las prácticas modernas de DevOps intentan automatizar las operaciones, las personas aún tienen que interactuar con las cargas de trabajo por distintos motivos. Una acción humana incorrecta podría provocar un error en cualquiera de las categorías de SEEMS, como eliminar demasiados nodos durante el mantenimiento y provocar una sobrecarga o configurar incorrectamente una marca de característica. En realidad, estas situaciones son un fracaso de las barreras de protección preventivas. Un análisis de la causa raíz nunca debe terminar con la conclusión de que “un humano ha cometido un error”. En cambio, debe abordar las razones por las que ha sido posible cometer errores en primer lugar. Por lo tanto, la estrategia de mitigación debe considerar cómo los operadores humanos pueden interactuar con los componentes de la carga de trabajo y cómo prevenir o minimizar el impacto de los errores de los operadores humanos mediante barreras de protección.