"En pruebas funcionaba"
Es una de las frases más repetidas en cualquier incidente. Y casi siempre es verdad: lo que funcionaba en pruebas no era exactamente lo que se desplegó en producción. Se volvió a compilar, se actualizó una dependencia entre medias, la etiqueta "última versión" apuntaba ya a otra cosa.
La huella del artefacto
Cuando una aplicación se empaqueta (por ejemplo, como imagen de contenedor), el resultado tiene una huella criptográfica única, un digest: un identificador calculado a partir de su contenido exacto. Si cambia un solo byte, cambia la huella.
Desplegar por digest significa:
- Se construye una vez, en un entorno controlado, para la arquitectura de destino.
- Se registra la huella de lo construido.
- Cada entorno recibe ese mismo artefacto por su huella, no por un nombre o una etiqueta que pueda cambiar.
- La compuerta a producción aprueba una huella concreta: la que pasó la aceptación.
Las etiquetas legibles ("versión 2.3") siguen siendo útiles para las personas, pero no deciden qué se despliega.
Lo que se gana
- Lo aprobado es lo desplegado, sin margen de duda.
- Volver atrás es inmediato: se redespliega la huella anterior, que sigue existiendo tal cual.
- La trazabilidad es completa: de una huella se llega al código, a la construcción y a la aprobación que la llevó a producción.
Que el artefacto sea idéntico en todos los entornos solo tiene sentido si los entornos también se parecen. Ese es el siguiente paso.
Cómo lo aplicamos: Ingeniería de Plataforma.