Netflix ejecutaba su servicio de streaming en AWS, donde los fallos de instancias son habituales y las caídas habían golpeado duramente al sector; en lugar de esperar a llevarse una sorpresa, el equipo de ingeniería decidió sorprenderse a sí mismo.

Romper producción a propósito: Chaos Monkey apaga aleatoriamente instancias de AWS en vivo para que los ingenieros deban construir servicios que sobrevivan sin que los clientes lo noten.

Una pequeña herramienta elige una instancia al azar de cada clúster y, durante el horario laboral de un día de trabajo, la apaga sin aviso, con ingenieros presentes para observar cómo reacciona el servicio. Netflix publicó Chaos Monkey como código abierto en julio de 2012 y luego añadió Janitor Monkey y Security Monkey al 'Simian Army'; su regla declarada: 'la mejor defensa contra los grandes fallos inesperados es fallar a menudo'.

Chaos Monkey obligó a la arquitectura de Netflix a tolerar la pérdida de instancias sin impacto para el cliente y convirtió los simulacros de fallo en rutina; la herramienta de código abierto recibió cobertura en TechCrunch y Wired, Jeff Atwood, de Stack Exchange, atribuyó a esa misma idea la solución de sus caídas, y la práctica creció hasta convertirse en la disciplina de la ingeniería del caos.

Netflix ejecutaba su servicio de streaming en AWS, y en la nube las instancias fallan: los hosts mueren, hay microcortes de red, los balanceadores de carga se comportan mal. En lugar de esperar a que una caída revelara los puntos débiles, el equipo de ingeniería creó Chaos Monkey, un software que desactiva aleatoriamente instancias de producción durante el horario laboral, mientras los ingenieros observaban.

El nombre surgió de 'soltar un mono salvaje con un arma en tu centro de datos para que derribe instancias al azar y muerda los cables, todo mientras seguimos sirviendo a nuestros clientes sin interrupción'. Lo importante no era la herramienta en sí, sino el cambio de mentalidad: si tu sistema debe sobrevivir a ataques diarios aleatorios, construyes recuperación automática en lugar de confiar en que nada se rompa.

En julio de 2012 Netflix publicó Chaos Monkey como código abierto, y la idea se extendió. La cobertura en TechCrunch y Wired convirtió 'fallar a menudo' en un lema de ingeniería conocido; Jeff Atwood, de Stack Exchange, dijo que su equipo solo resolvió su problema de caídas después de que 'Chaos Monkey los eligiera'. La práctica se formalizó más tarde como ingeniería del caos: experimentar con sistemas de producción para generar confianza en que pueden resistir condiciones turbulentas.

Los fallos aleatorios y no atendidos durante el horario laboral convierten caídas raras y aterradoras en simulacros rutinarios con ingenieros preparados.

Fallar a menudo fuerza mecanismos de recuperación automática, de modo que un fallo a las 3 de la madrugada deja de ser una crisis.

La publicación como código abierto dio alas a la idea: otras empresas adoptaron la práctica y se convirtió en una disciplina.

El nombre hizo inolvidable el concepto, y por eso la práctica se extendió tan rápido.

No esperes a la caída que no puedes predecir: provoca fallos pequeños durante el día, con ingenieros observando, para que el sistema —y el equipo— aprendan resiliencia antes de que un desastre a las 3 de la madrugada se lo enseñe.

Netflix siguió ampliando la idea: Latency Monkey, Doctor Monkey, Chaos Kong para zonas de disponibilidad completas y, más tarde, la Chaos Automation Platform, con un equipo dedicado de ingeniería del caos formado en 2015. El repositorio original de Simian Army se retiró en 2021, sustituido por herramientas independientes, pero la práctica superó a Netflix: la ingeniería del caos se convirtió en una disciplina del sector con libros, conferencias, herramientas comerciales y adoptantes como Capital One.

CONSULTA LAS PRUEBAS

Las fuentes

  1. Netflix/SimianArmy — Tools for keeping your cloud operating in top form Netflix (GitHub) · github.com
  2. Netflix Open Sources Chaos Monkey — A Tool Designed To Cause Failure So You Can Make A Stronger Cloud TechCrunch · beta.techcrunch.com ·
  3. Netflix Abuses Amazon With Monkeys. Now You Can Too Wired · wired.com ·
  4. What is Chaos Monkey? Chaos engineering explained InfoWorld · infoworld.com ·