Página de inicio de OpenText.
Temas técnicos

¿Qué es la ingeniería del caos?

Ilustración de elementos informáticos centrada en una bombilla

Descripción general

Pregunte a cualquier gestor de proyectos, desarrollador o jefe de equipo. Durante el ciclo de vida del desarrollo de software pueden fallar varias cosas, como fallos, ciberataques y caídas del sistema. Es inevitable que se produzcan fallos inesperados, que pueden perturbar todo el proceso, limitar los resultados y malgastar recursos vitales.

Ingeniería del caos

La ingeniería del caos es una disciplina que estudia cómo pueden producirse estos fallos y proporciona metodologías para ayudar a evitarlos. Al comprender la causa de los fallos, los ingenieros del caos pueden elaborar planes para prevenirlos o mitigarlos.

La ingeniería del caos no consiste en crear el caos, sino en utilizar experimentos controlados para identificar posibles puntos de fallo en un sistema antes de que causen problemas. De este modo, los ingenieros del caos pueden prevenir proactivamente cortes y otras interrupciones.

¿Qué es exactamente la ingeniería del caos?

La ingeniería del caos consiste en inyectar intencionadamente fallos en un sistema para probar su resistencia. El objetivo es identificar posibles puntos de fallo y corregirlos antes de que provoquen una interrupción real u otro tipo de trastorno.

Hay muchas formas de crear caos en un sistema, pero lo más importante es tener un plan. Sin un plan, es fácil crear más problemas de los que se resuelven. Cuando elabore su plan, tendrá que decidir qué quiere probar y cómo va a hacerlo. Una vez que tenga un plan, podrá empezar a experimentar.

Los desarrolladores de software pueden introducir fácilmente la ingeniería del caos en sus flujos de trabajo con OpenText™ Professional Performance Engineering, OpenText™ Enterprise Performance Engineering o OpenText™ Core Performance Engineering. Estas soluciones no sólo aprovechan las pruebas de carga de rendimiento, sino que facilitan la ejecución de otros experimentos de ingeniería del caos directamente dentro del software.

Al crear estos eventos en un entorno controlado de no producción, puede probar cómo reacciona su sistema e identificar cualquier problema potencial.

Una vez identificados los posibles puntos de fallo, puede empezar a trabajar para mitigarlos. Esto podría implicar la adición de supervisión o registro para ayudar a identificar los problemas cuando se producen o cambiar su diseño para que sea más resistente a los fallos.

¿Qué son los principios de la ingeniería del caos?

Los principios de la ingeniería del caos son:

  • Planifica: Decide qué quieres probar y cómo vas a hacerlo. El objetivo es crear una hipótesis. ¿Qué puede fallar en un sistema? ¿Cuáles son las posibles vulnerabilidades que pueden explotarse?
  • Experimenta: Inyecta fallos en el sistema y observa cómo reacciona. La inyección de fallos es simplemente el proceso de introducir un problema en un sistema existente para exponer una vulnerabilidad. Esencialmente, es el hábito de "meter la pata" en un sistema a propósito para ver qué pasa.
  • Analiza: Utiliza los datos de tus experimentos para identificar posibles puntos de fallo.
  • Mitigar: Si encuentras un problema, puedes terminar tu experimento para centrarte en mitigarlo. Si no, puedes escalar tu experimento hasta llegar al quid de la cuestión.

¿Cuáles son las ventajas de la ingeniería del caos?

Entonces, ¿por qué iba una empresa a romper cosas a propósito? Exponer los fallos del sistema es necesario para hacerlo más robusto. La ingeniería del caos puede ayudarle a evitar cortes y otras interrupciones. Identificando los posibles puntos de fallo y corrigiéndolos antes de que causen problemas, podrá evitar interrupciones de forma proactiva.

Además, la ingeniería del caos aporta varias ventajas técnicas, empresariales y para el cliente. El principal beneficio es permitir a las empresas crear productos más sólidos que repercutan en sus resultados y satisfagan las expectativas de los clientes.

La ingeniería del caos, también conocida como pruebas de resistencia, puede ayudar a las empresas a cumplir la Ley de Resistencia Operativa Digital (DORA), cuyo objetivo es probar periódicamente la resistencia de los sistemas para evaluar las vulnerabilidades.

¿En qué se diferencia la ingeniería del caos de las pruebas?

La ingeniería del caos se diferencia de las pruebas en algunos aspectos fundamentales. La ingeniería del caos se centra en encontrar posibles puntos de fallo antes de que causen problemas. Las pruebas, por su parte, se centran en verificar que el sistema funciona como se espera. En resumen, la ingeniería del caos es proactiva, mientras que las pruebas son reactivas.

Los ingenieros del caos trabajan para evitar cortes y otras interrupciones introduciendo y corrigiendo fallos controlados antes de que puedan causar problemas en un entorno real. Estos fallos controlados ayudan a identificar qué partes del sistema son más resistentes y cuáles necesitan más trabajo. Las pruebas sólo pueden verificar que el sistema funciona una vez terminado.

¿En qué se parece a OpenText Professional Performance Engineering?

OpenText Professional Performance Engineering es una herramienta que se centra principalmente en un tipo específico de ingeniería de rendimiento. Con OpenText Professional Performance Engineering, puede implementar pruebas de carga avanzadas que simulan las condiciones de uso del mundo real, lo que puede ayudarle a identificar posibles problemas de rendimiento de carga antes de que causen problemas.

Pero OpenText Professional Performance Engineering no es simplemente una herramienta de ingeniería de rendimiento que ejecuta pruebas de carga en un entorno estable; es una herramienta que combina tanto la ingeniería de rendimiento como la ingeniería del caos en una sola plataforma.

OpenText Professional Performance Engineering trabaja directamente con Gremlin, una reconocida plataforma de fallos como servicio (FaaS) que permite crear diferentes tipos de eventos de caos, como picos de CPU, latencia de red y fallos de disco. Puede organizar e iniciar fácilmente experimentos de caos Gremlin directamente dentro de OpenText Professional Performance Engineering y ejecutar pruebas de carga basadas en condiciones anormales.

En general, OpenText Professional Performance Engineering le permite prevenir proactivamente las interrupciones de carga durante diferentes tipos de eventos caóticos. Al identificar posibles puntos de fallo antes de que causen problemas, esta herramienta puede ayudar a ahorrar tiempo, dinero y valiosos recursos.

Ponga en práctica la ingeniería del caos con soluciones de ingeniería del rendimiento

En última instancia, la ingeniería del caos es el motor del éxito de cualquier proyecto de software. Los desarrolladores de software pueden aplicar la ingeniería del caos para llevar a cabo proyectos que resistan el paso del tiempo.

A través de las asociaciones de OpenText con Gremlin y Steadybit, las soluciones de ingeniería de rendimiento de OpenText pueden probar el rendimiento de los sistemas bajo carga y diferentes eventos de caos simultáneamente, lo que le permite encontrar posibles puntos de fallo y corregir los problemas de forma proactiva.

Notas al pie