Cuando aceptación miente
Una aplicación pasa todas las pruebas en aceptación y falla en producción. Al investigar aparece la diferencia: otra versión del sistema operativo, otra configuración de red, un servicio que en aceptación estaba simulado y en producción no. Aceptación no estaba probando lo que iba a pasar en producción; estaba probando otra cosa.
Lo que cambia y lo que no
Entre entornos hay diferencias legítimas y diferencias peligrosas.
Pueden variar, siempre que estén escritas:
- El tamaño (menos capacidad en desarrollo).
- Los datos (en aceptación, datos de prueba o anonimizados; nunca personales reales sin protección).
- Los valores de los secretos (mismos nombres, distintos valores).
- Las direcciones de publicación.
No deben variar nunca:
- El artefacto desplegado (la misma huella, como vimos en el artículo anterior).
- La plataforma de ejecución y sus versiones.
- El método de despliegue.
- La forma de la configuración: las mismas claves, aunque cambien los valores.
Cómo se mantiene
- La configuración por entorno vive aparte del código y tiene la misma estructura en todos.
- Las diferencias están en un solo sitio, generalmente el registro, y no repartidas en scripts.
- Los entornos se crean con el mismo código de infraestructura, con parámetros distintos. Si un entorno se configuró a mano, tarde o temprano será distinto de los demás.
- Se comparan periódicamente: una revisión automática detecta lo que se ha ido separando.
Con artefactos idénticos y entornos comparables, queda la última protección antes de publicar: validar todo lo que se pueda comprobar sin que nadie tenga que mirarlo.
Cómo lo aplicamos: Ingeniería de Plataforma.