Ingeniería del Caos
Disciplina de experimentar en sistemas de producción para descubrir debilidades antes de que causen incidentes, inyectando fallos controlados.
seed#chaos-engineering#resilience#fault-injection#testing#reliability
¿Qué es?
Chaos Engineering es la práctica de inyectar fallos controlados en sistemas para descubrir debilidades antes de que causen incidentes reales. Popularizada por Netflix con Chaos Monkey.
Principios
- Definir el estado estable del sistema
- Hipotetizar que el estado se mantiene ante perturbaciones
- Introducir variables del mundo real (fallos de red, latencia, crashes)
- Buscar diferencias entre hipótesis y realidad
Tipos de experimentos
| Tipo | Qué simula | Qué valida |
|---|---|---|
| Terminar instancias | Fallo de servidor | Auto-healing, redundancia |
| Inyectar latencia | Red degradada | Timeouts, circuit breakers |
| Fallo de dependencias | Servicio externo caído | Fallbacks, graceful degradation |
| Agotar recursos | CPU/memoria/disco al límite | Autoscaling, alertas |
| Corrupción de datos | Datos inconsistentes | Validación, reconciliación |
Herramientas
| Herramienta | Enfoque |
|---|---|
| Chaos Monkey | Terminar instancias (Netflix) |
| Gremlin | Plataforma SaaS completa |
| Litmus | Kubernetes-native (CNCF) |
| AWS FIS | Fault Injection Simulator |
Precauciones
- Empezar en ambientes no productivos
- Tener rollback automático
- Comunicar experimentos al equipo
- Minimizar blast radius
¿Por qué importa?
Los sistemas distribuidos fallan de formas impredecibles. Chaos engineering convierte esas fallas en eventos planificados y controlados, revelando debilidades antes de que se conviertan en incidentes en producción. Es la práctica que construye confianza real en la resiliencia del sistema.
Referencias
- Principles of Chaos Engineering — Manifiesto.
- Chaos Monkey — Netflix, 2024. La herramienta original de chaos engineering.
- Chaos Engineering: History, Principles, and Practice — Gremlin, 2024. Historia y principios de chaos engineering.