$ git log --grep="ops"
Operación
Operar sistemas en el mundo real — y pagarlos.
14 posts
- 5 min de lectura
Cinco sitios en tres días
Cinco sitios pequeños en internet en tres días, y después uno de ellos ganó una base de datos y heredó todos los problemas sobre los que escribo. El trabajo de hobby no es rápido porque el código sea más simple.
- 3 min de lectura
No existe el estado de borrador
Un almacén de secretos que sincroniza en segundo plano convierte escribir un valor en desplegarlo, con un reloj que no controlas. Tu cambio no está vivo cuando lo revisas, y el que no querías activar se activa solo.
- 3 min de lectura
El primer usuario siempre paga
Un sistema que se usa dos veces por semana está frío las dos veces. Estar caliente es una propiedad del tráfico y no del código, y los caminos que menos usas son los que más necesitas que funcionen.
- 3 min de lectura
¿Quién vigila al chequeo externo?
Un lector preguntó cómo se mantienen confiables los chequeos externos con el tiempo. La respuesta honesta es: en parte. Lo que existe, una corrección al post anterior, y la brecha que encontró la pregunta.
- 3 min de lectura
Tu alerta se cerró sola
Siete alertas se dispararon cuando producción dejó de funcionar. Dos horas y cuarenta y cinco minutos después, el monitoreo anunció que la telemetría estaba restaurada. Nada estaba restaurado.
- 5 min de lectura
Salí a producción dos días antes y me salté el plan de pruebas
Una semana después de publicar un post sobre disciplina de releases, la corrección honesta: el release anterior salió antes de tiempo, sin el recorrido humano. Y los seis defectos de mi propio runbook que solo ejecutarlo pudo encontrar.
- 3 min de lectura
Integrar no es desplegar
Integrado, desplegado y verificado son tres estados distintos, y una sola palabra los esconde a los tres. Las dos brechas entre ellos, con un caso real de este mismo blog.
- 5 min de lectura
Todos los lunes despliego para nadie
Un tren de releases semanal, un congelamiento, un sábado de pruebas y una lista de treinta y cinco casillas — para una plataforma que todavía no tiene clientes pagando en producción. Por qué la ceremonia llegó antes que el riesgo.
- 3 min de lectura
Encuentra el camino que tiene una persona esperando
Todo sistema tiene un camino donde hay un ser humano parado ahí, esperando. Encuéntralo y saca de él todo lo opcional — una nota corta sobre por qué las puertas siguieron funcionando mientras nadie podía iniciar sesión.
- 6 min de lectura
Tus pruebas corren en un mundo que no existe
Nueve días operando el control de acceso de un evento real produjeron cero builds fallidos y cinco sorpresas. Ninguna era un bug: eran categorías enteras de falla que una suite no puede ver por construcción.
- 7 min de lectura
Lo que hace falta para operar la puerta de un evento real
Feria Arequipa le confió a mi plataforma el control de acceso: gente real, puertas reales, sin segundas oportunidades. Los números, el viernes en que se rompió durante el evento, y las otras tres cosas que salieron mal.
- 6 min de lectura
Nada estaba roto. Costaba $900 al mes.
Ninguna alerta se disparó, ningún dashboard se puso rojo, ningún usuario se quejó. La infraestructura estaba sana, ociosa y era cara — y lo único que terminó avisándome fue una factura.
- 5 min de lectura
49 microservicios, una falla invisible: cuando “Running” no significa que funciona
El side project sobre-ingenieriado ahora es una plataforma de 49 servicios corriendo eventos en vivo. Un incidente de viernes por la noche donde todo estaba en verde y nada funcionaba — y la lección de una línea que dejó.
- 4 min de lectura
gRPC vs REST: debugging, observabilidad y la realidad de la adopción
REST se siente como casa porque lo puedes debuggear con una pestaña del navegador. gRPC es mejor en el papel — ¿entonces por qué adoptarlo sigue doliendo?