Tenemos la infraestructura escrita como código: archivos que declaran cómo debe verse producción, para que desplegar sea repetible y no un acto de memoria. La promesa es linda. Se rompe el primer día que entras a producción 'rapidito’ a arreglar algo en vivo y no lo escribes de vuelta.
Eso fue lo que encontramos. Uno de nuestros servicios no aplicaba un deploy limpio: el sistema se negaba, porque lo que estaba corriendo en vivo ya no coincidía con lo que decía la fuente. Tres cosas habían driftado —parchadas a mano en algún momento, nunca commiteadas—:
- La conexión a la base de datos había migrado a un pool en vivo —otro puerto, otra configuración—. La fuente seguía apuntando al viejo.
- El autoescalado estaba capado a 4 réplicas en vivo, por buenas razones. La fuente decía 10.
- Y un usuario de correo tenía una letra de menos: un typo que ya nos había tumbado el correo saliente una vez.
La infraestructura-como-código no miente. Tú le mientes, el día que parchas en vivo y no lo commiteas. El deploy que se niega no es el problema: es el único que se acordó de la verdad.
El arreglo fue minúsculo: tres archivos, seis líneas que entran, dos que salen. Reconciliar la fuente con lo vivo —no al revés—, porque esta vez lo vivo era lo correcto. Después de eso, el deploy corrió a la primera, sin forzar nada.
Lo contamos porque la lección no es 'hicimos un fix’. Es que la deriva entre lo que crees que tienes y lo que de verdad tienes corre en silencio, gratis, todos los días que parchas sin escribir. El recibo es el tamaño del diff: seis líneas para volver a poner de acuerdo a la realidad con su documentación. Lo barato del arreglo es la medida de lo caro que es no hacerlo a tiempo.