aproximadamente
Publicado el 12 de diciembre de 2022

Chaos engineering: ¿qué es y cómo funciona?

Chaos engineering: ¿qué es y cómo funciona?

¿Qué harías si al entrar en un CPD te encontraras una sala con cientos de cables enmarañados? ¿Qué harías si tuvieras que desenredarlos y organizarlos? Una posible solución sería escoger un cable al azar y desenchufarlo para observar el resultado y etiquetar el cable en consecuencia. En el mundo de la programación esta tarea se ha convertido en toda una disciplina: chaos engineering.

Chaos engineering se utiliza para prevenir errores y conocer mejor el sistema

¿Qué es chaos engineering?

Chaos engineering es la disciplina que, mediante la experimentación controlada, mejora la capacidad de adaptación de un sistema distribuido ante una situación adversa.

¿Y qué tipo de situaciones tiene como objeto evitar la metodología de chaos engineering? El tipo de situaciones que provoca grandes pérdidas económicas a las empresas, como los cortes de servicio. En 2019, se estima que Facebook perdió 90 millones de dólares tras una caída en sus servidores de tan solo 14 horas. La empresa Delta Airlines, por su parte, sufrió un impacto de unos 150 millones de dólares tras un corte de energía que originó la cancelación de más de 2 000 vuelos.

Netflix, WhatsApp, Instagram, HBO… son muchas de las plataformas que dejan de funcionar sin previo aviso para el usuario y que ponen en un serio aprieto a los programadores y las programadoras de sus empresas, obligándolos a trabajar a contrarreloj y bajo extrema presión. La metodología chaos engineering busca poner fin a este tipo de situaciones adelantándose a los acontecimientos, prediciendo los posibles errores y automatizando las posibles soluciones. Su trabajo no dista mucho del perfil de Site Reliability Engineer. Ambos buscan una mayor estabilidad del sistema y prevén errores, y, por tanto, comparten departamento en muchas organizaciones.

¿Cómo funciona la metodología chaos engineering?

Los pasos de la metodología chaos engineering no son tan sencillos como el ejemplo de la sala enmarañada de cables. Esta disciplina no consiste en romper el sistema aleatoriamente y observar los resultados, requiere un procedimiento seguro y bien descrito:

  1. Definición del estado actual del sistema.
  2. Lanzamiento de una hipótesis positiva para probar un experimento que trastoque en gran medida la estabilidad del sistema.
  3. Definición de un entorno que garantice un impacto mínimo y limite el número de usuarios afectados.
  4. Identificación de métricas y preparación de la monitorización en tiempo real del sistema.
  5. Notificación a todos los departamentos que puedan verse afectados por el experimento.
  6. Ejecución del experimento.
  7. Análisis de los resultados basado en métricas.
  8. Nueva ejecución del experimento con un incremento del alcance en el sistema.
  9. Automatización para la solución de posibles escenarios futuros similares.


Estos pasos no solo aseguran que el sistema soporte el fallo o que ahora esté preparado para solucionarlo, sino que comprueban y mejoran la monitorización en tiempo real, y entrenan a los equipos para identificar y solventar problemas reales con mayor rapidez y eficacia.

Chaos engineering es una buena salida profesional para los programadores especializados en sistemas distribuidos en la nube

¿Es chaos engineering una buena salida profesional?

La metodología chaos engineering no es una disciplina que esté dando sus primeros pasos. A finales de 2010, Netflix publicó en su blog el artículo 5 Lessons We’ve Learned Using AWS para explicar la importancia de la nube y los sistemas distribuidos y, también, la complejidad de su gestión. Ya por aquel entonces crearon un conjunto de soluciones llamado Chaos Monkey para provocar fallos en los servidores y observar cómo afectaban a su infraestructura.


Así nació chaos engineering, una metodología que no ha parado de perfeccionarse desde entonces y que está en pleno crecimiento gracias al éxito del almacenamiento en la nube, las redes sociales y las plataformas de entretenimiento en línea.


Igual que el control de versiones, chaos engineering se presenta como una herramienta muy útil y  y absolutamente necesaria para el mundo de la programación y el mantenimiento de sistemas. Si tu pasión es la informática y te mueves como pez en el agua en los sistemas distribuidos, ¡no lo dudes y da un giro profesional a tu carrera con BETWEEN!

Etiquetas: IT

Artículos Relacionados

Bioconstrucción: ¿los edificios del futuro?

¿Creías que ya lo habías visto todo en el mundo de la edificación? Como las fábricas tradicionales con OPC UA, el edge computing y los cobots, el mundo de la construcción está ...

Topics: IT

5 sistemas de control de versiones imprescindibles en los proyectos de desarrollo

Hace unos meses hablábamos sobre la seguridad en el desarrollo de software, uno de los aspectos más importantes de un proyecto. Hoy hablaremos sobre otro pilar básico del mundo de ...

Topics: IT

¿Qué es OPC UA?

La reinvención de las fábricas tradicionales como smart factories será determinante para maximizar la producción y competir en el mercado futuro. Pero… ¿cómo superar las barreras ...

Topics: IT