Un entorno de staging significativamente distinto a producción es un entorno que miente. Dejamos de usar uno así después de 2018. La regla actual: staging corre el mismo código, la misma versión mayor de Postgres, el mismo runtime de Node y la misma configuración de edge que producción — sólo cambian los datos y el alcance de los secretos.
La diferencia en los datos es la parte difícil. Usamos una réplica anonimizada nocturna de producción, con PII anonimizada a nivel de columna mediante un script que vive en el mismo repo que la aplicación. Si el esquema de producción cambia sin que cambie el script, el build se rompe. Esa es la idea.
La mayoría de entornos de staging están mal a propósito. El nuestro está mal por accidente — y trabajamos duro para que siga siéndolo.
El beneficio es enorme. Una regresión que habría ido a producción se atrapa en staging un martes por la tarde, con captura, por el ingeniero que escribió el cambio. El incidente del viernes a la noche se vuelve un comentario en una PR del martes.
El coste son cinco días/persona al trimestre para mantener la paridad intacta. Lo facturamos en claro como parte del retainer. Algún cliente lo cuestiona. Ningún cliente lo ha cuestionado dos veces.