You have not selected any currencies to display

Bl0ckch41nnewsIngeniería del Caos, War Games y la Resiliencia

16


En términos generales, el proceso de la ingeniería del caos se basa en
«experimentar con los límites».

La Ingeniería del Caos es la disciplina de experimentar en un Sistema, con la
finalidad de generar confianza en la capacidad del Sistema para soportar
condiciones turbulentas en producción.


La
ingeniería del caos
es la ciencia detrás de inyectar fallas intencionalmente en los sistemas
para medir la capacidad de recuperación.

Como cualquier método científico, Chaos Engineering se enfoca en
experimentos / hipótesis y luego compara los resultados con un control. El
ejemplo por excelencia de Chaos Engineering en un sistema distribuido es
eliminar servicios aleatorios para ver cómo responden los elementos y qué
detrimento se manifiesta en el viaje del usuario.

Para llevar simulaciones más dinámicas y «juegos de guerra» a los campos
cibernéticos, las simulaciones deben ser más dinámicas y personalizables.

No se puede esperar que los humanos enfrenten eficazmente amenazas que cambian
cada vez más rápido a menos que la capacitación para detener esas amenazas
evolucione tan rápidamente como para capturar los últimos TTP, idealmente casi
tan pronto como se identifiquen como indicadores de compromiso (IoC) en la
naturaleza.

Proceso del caos

Para ello, primero se define un estado estable, en el que un sistema funciona
según lo definido como normal. Un grupo de control asegura que es el escenario
caótico el que influye en el sistema; el grupo de control continúa trabajando
fuera de este escenario de prueba.

Ahora se introducen problemas en el escenario de prueba (fallas del servidor,
discos duros defectuosos, fallas, escenarios de sobrecarga, ataques
informáticos). El objetivo principal de la ingeniería del caos es probar cómo
lidiar con estos problemas. ¿Cómo se pueden ampliar los límites de un sistema?
¿Qué redundancias son necesarias para mantener en funcionamiento el servicio
existente? ¿Y cómo se pueden eliminar las debilidades dadas?

Para ganar más confianza en un sistema, es esencial limitar los errores y
mantener los estados del sistema estables tanto como sea posible. Precisamente
por eso, es fundamental someter los sistemas a pruebas críticas y provocar
errores de forma selectiva.

En realidad, la ingeniería del caos está lejos de ser caótica: es un enfoque
disciplinado basado en datos para realizar experimentos que utilizan el
comportamiento caótico para estresar los sistemas y descubrir sus debilidades
(o demostrar su resiliencia). Los principales beneficios incluyen:

  • Exponer la deuda técnica
  • Generar confianza en los sistemas implementados y entre los equipos que
    contribuyen a esos sistemas.
  • Identificar y realizar integraciones comprobables y posibles puntos de
    falla.
  • Habilitar el aprendizaje basado en experimentos
  • Ofrecer confiabilidad y resiliencia mejoradas de los sistemas para reducir
    el tiempo de inactividad
  • Estos beneficios, a su vez, ayudan a mejorar la experiencia y la
    satisfacción del cliente.

Ingeniería de la Resiliencia: Construyendo para resistir

La ingeniería de la resiliencia se centra en la creación de sistemas
tecnológicos que no solo funcionan de manera eficiente en condiciones ideales,
sino que también pueden resistir y recuperarse rápidamente de eventos
inesperados o errores.

Aquí hay algunos conceptos clave:

  • Identificación de puntos críticos del error: Los ingenieros de la
    resiliencia llevan a cabo un análisis exhaustivo para identificar los puntos
    críticos del error en un sistema. Estos son los componentes que, si generan
    problemas, pueden tener un impacto significativo en el rendimiento general.
  • Implementación de redundancias: Para aumentar la resistencia, se
    introducen elementos redundantes en el sistema. Esto implica la duplicación
    de componentes críticos, de modo que si uno da error, otro pueda tomar su
    lugar sin interrupciones significativas.
  • Estrategias de recuperación eficientes: Se desarrollan planes de
    recuperación sólidos para garantizar que, en caso de un error, el sistema
    pueda volver a un estado operativo normal en el menor tiempo posible.
  • Pruebas rigurosas: La ingeniería de la resiliencia implica pruebas
    exhaustivas bajo diversas condiciones para simular eventos inesperados y
    evaluar cómo responde el sistema. Esto garantiza que las estrategias de
    recuperación sean efectivas y que el sistema pueda adaptarse a situaciones
    impredecibles.

Ingeniería del Caos: Desafiando para fortalecer

La ingeniería del caos adopta un enfoque más desafiante al introducir eventos
inesperados y situaciones caóticas controladas en un sistema. Aquí se destacan
algunos aspectos clave:

  1. Simulación de eventos disruptivos: Los ingenieros del caos simulan
    situaciones adversas, como errores en el hardware, interrupciones en la red
    o cambios en el entorno. Este enfoque permite identificar debilidades
    ocultas que podrían no ser evidentes en condiciones normales.
  2. Aprendizaje de la adversidad controlada: La idea es aprender de eventos
    caóticos controlados. Al exponer el sistema a situaciones desafiantes de
    manera controlada, los equipos de ingeniería pueden identificar y abordar
    debilidades antes de que se conviertan en problemas reales.
  3. Ciclo de mejora continua: La ingeniería del caos no solo se trata de
    identificar problemas, sino también de utilizar esa información para mejorar
    continuamente la resiliencia del sistema. Este enfoque proactivo contribuye
    a un ciclo constante de mejora.

Colaboración efectiva: Resiliencia y Caos trabajando juntos


La verdadera fortaleza se encuentra en la colaboración efectiva entre la
ingeniería de la resiliencia y la ingeniería del caos.

Ambas prácticas se complementan mutuamente para ofrecer soluciones
tecnológicas sólidas y adaptativas. Mientras que la ingeniería de la
resiliencia construye la fortaleza inherente del sistema, la ingeniería del
caos desafía ese sistema para revelar y corregir debilidades potenciales.

La ingeniería de la resiliencia y del caos son herramientas poderosas en la
gestión de sistemas tecnológicos en constante cambio. En un mundo donde la
incertidumbre es la norma, estas disciplinas no solo permiten la
supervivencia, sino que también fomentan la innovación y la mejora continua.
Al abrazar estos principios, las organizaciones pueden construir y mantener
sistemas tecnológicos robustos, capaces de enfrentar los desafíos del panorama
digital actual.

La ingeniería del caos es medicina preventiva.

Chaos Engineering es un enfoque disciplinado para identificar fallas antes de
que se conviertan en interrupciones. Al probar proactivamente cómo responde un
sistema bajo estrés, puede identificar y corregir fallas antes de que terminen
en las noticias.

Chaos Engineering te permite comparar lo que crees que sucederá con lo que
realmente sucede en tus sistemas. Literalmente, «rompe cosas a propósito» para
aprender a construir sistemas más resistentes.

Los principales beneficios de Chaos Engineering son:

  • Cliente: la mayor disponibilidad y durabilidad del servicio significa que
    ninguna interrupción interrumpe su vida diaria.
  • Negocios: Chaos Engineering puede ayudar a prevenir pérdidas extremadamente
    grandes en ingresos y costes de mantenimiento, crear ingenieros más felices
    y comprometidos, mejorar la capacitación de guardia para los equipos de
    ingeniería y mejorar el Programa de administración de SEV (incidentes) para
    toda la empresa.
  • Técnico: los conocimientos de los experimentos de caos pueden significar una
    reducción de incidentes, reducción de la carga de guardia, mayor comprensión
    de los modos de falla del sistema, diseño mejorado del sistema, tiempo medio
    más rápido para la detección de SEV y reducción de SEV repetidos.

Muchas empresas de tecnología más grandes practican la Ingeniería del Caos
para comprender mejor sus sistemas distribuidos y arquitecturas de
microservicios. La lista incluye Netflix, LinkedIn, Facebook, Google,
Microsoft, Amazon y muchos otros. La lista siempre está creciendo.

Por ejemplo, para llevar a cabo estas pruebas en la práctica,
Netflix se basa en el software Simian Army (ahora
Chaos Monkey) Esta suite de errores simula una situación en la que los monos
utilizan el software y provocan diversos errores sobre la nube. Varias
herramientas de prueba tienen nombres correspondientes.

Se puede hacer una revisión de algunas de las herramientas y
frameworks más extendidos para la ingeniería del caos, viendo para cada
uno de ellos sus principales cualidades y los casos de uso donde mejor
encajan.

Fuentes:



Source link

Los comentarios están cerrados.