Cuando “fallar en grande” ya no es opción

Cloudflare activó "Code Orange: Fail Small" tras dos outages que tumbaron medio Internet. Lecciones brutales para todos: trata config como código, diseña asumiendo fallo total, y ten break glass que realmente funcione. Si ellos necesitan este plan, ¿qué revisas tú en tu stack hoy?

3 min de lectura
Cuando “fallar en grande” ya no es opción

¡Bienvenidos de vuelta! Después de una semana donde el trabajo me tuvo corriendo con cambios jerárquicos que no paraban reorganizaciones, reuniones eternas y ajustes de equipo que te dejan exhausto, por fin puedo sentarme a escribir. Esta vez sobre Cloudflare, que también viene de una temporada complicada. Vamos a desmenuzarlo con algo más que un simple resumen: mi lectura honesta de qué significa esto para quienes como nosotros vivimos de sistemas que no pueden fallar.

Cloudflare dice "basta de fallar en grande"

En seis semanas, Cloudflare tuvo dos outages que dejaron a medio Internet mirando pantallas en blanco: 18 de noviembre (dos horas y pico sin tráfico) y 5 de diciembre (28% de apps afectadas por 25 minutos). Su respuesta: "Code Orange: Fail Small", un plan prioritario para que los errores no se vuelvan tsunamis globales.

Pero aquí va mi take: esto no es solo Cloudflare arreglando su patio trasero. Es una confesión pública de que incluso los gigantes cometen errores de principiante en deployment, y una lección brutal para todos los que pensamos que "nuestra arquitectura sí aguanta".

Dos outages, mismo pecado original

18 de noviembre: Un update automático al clasificador de bots se propagó mal vía Quicksilver y rompió todo → desde Workers KV hasta el login del dashboard.

5 de diciembre: Un parche rápido para una vulnerabilidad en React Server Components hizo lo mismo: config mala → red global en segundos.

El patrón que me da escalofríos: ambos fueron cambios con buenas intenciones (seguridad, bots) que se desplegaron como si fueran inofensivos, cuando en realidad eran minas. Y el superpoder de Cloudflare propagar config a cientos de data centers en segundos se convirtió en su kriptonita.

Lo que Cloudflare va a cambiar (y por qué TODOS deberíamos copiarlo)

El plan tiene tres patas, pero la que más me convence es esta:

1. Configuraciones con "cinturón y casco"
Ya tratan el software con Health Mediated Deployment (HMD): rollouts graduales, métricas, rollback automático. Ahora las configs pasarán por lo mismo. Adiós al "empujo y que Dios reparta suerte".

2. Diseñar asumiendo que TODO va a fallar
Revisarán interfaces entre servicios para que un fallo en Bot Management no tire el dashboard. Defaults sensatos: "si se rompe X, déjalo pasar con clasificación básica en vez de bloquear todo".

3. Emergencias sin atarse las manos
Break glass mejorados, sin dependencias circulares tipo "no puedo arreglar el sistema porque el sistema de login también está caído".

Meta concreta: Para fin de Q1 2026, toda su producción con HMD para configs. No es bla bla; es un deadline público.

Mi opinión dura: esto es más grave de lo que parece

Cloudflare no es una startup. Es infraestructura crítica de Internet: LinkedIn, Zoom, Shopify, medio mundo CDN detrás suyo. Que fallen así expone algo sistémico:

Los hyperscalers también deployan como si vivieran en un mundo sin caos. Pensaban que su escala los hacía inmunes, pero un bad config los tumbó más rápido que a cualquier monolith mal hecho.

Para mí, esto grita tres verdades incómodas:

  • Velocidad != madurez. Propagación global en segundos es genial... hasta que no lo es.
  • Seguridad y bots no justifican cowboy coding. Urgencia operativa no es excusa para saltarte gates.
  • Si ellos necesitan Code Orange, ¿qué estamos haciendo mal nosotros?

Lecciones que ya estoy aplicando (y deberías considerar)

Después de leer su postmortem, revisé mi propio stack y encontré dos agujeros que me pusieron la piel de gallina:

En mi proyecto LegalSuite (sistema de casos judiciales):

  • Una config de rate limiting que se propaga igual a todos los contenedores Docker sin validación previa.
  • Dependencia circular entre el dashboard admin y el servicio de autenticación interna.

Cambios que lancé esta semana:

# Antes: config push directo a todos los nodos
kubectl apply -f rate-limits.yaml --all-namespaces

# Ahora: rollout gradual con gates
# 1. Canary (5% tráfico)
# 2. Validar métricas 15min
# 3. Expandir 25% → 50% → 100%
# 4. Rollback automático si error_rate > 1%

Para todos:

  1. Trata config como código. Versiona, testa, despliega gradual.
  2. Diseña para el peor caso desde el día 1. Defaults que salven el barco.
  3. Simula outages YA. No esperes a que te toque.

El diferenciador: esto cambia la conversación sobre resiliencia

Cloudflare no solo dijo "lo sentimos". Dieron deadlines públicos, métricas claras y un plan técnico detallado. Eso es confianza ganada a pulso.

Para los que diseñamos sistemas reales (no demos):

  • Fail Small no es un slogan, es arquitectura.
  • Tu próximo deploy puede ser tu próximo outage. Diseña asumiendo que lo será.
  • La escala amplifica errores, no los perdona.

Después de mi semana reorganizando equipos y poniendo orden, este post me dio la excusa perfecta para alinear a mi gente en "resiliencia first". Porque si Cloudflare necesita Code Orange, todos necesitamos nuestro propio plan B.

Nos vemos pronto, cuando alguien más nos recuerde que en infra nada sobrevive sin un buen "qué pasa si todo sale mal". Manténganse estables.