The Pre-Prod Environment Discipline
Pre-prod environments rot if not actively maintained. The discipline that keeps them representative and the cost of letting them drift.
Parity dimensions
Configuration: pre-prod uses the same configuration system as prod. Not a stripped-down version.
Data shape: similar volume and distribution. Synthetic data must match the real shape.
Traffic: pre-prod gets representative traffic. Either replayed from prod or synthetic at realistic rate.
Failure modes: pre-prod can experience the same failures (network partitions, vendor outages) via injection.
How it rots
Drift in configuration. Prod gets a tweak that pre-prod does not. Within a quarter, divergence is meaningful.
Stale data. Tests pass against last year's data; today's data has different patterns.
Disuse. Pre-prod becomes a shared dev environment; nobody trusts it for serious testing.
Maintenance
Weekly parity check: any config in prod not in pre-prod? Surfaces drift immediately.
Monthly data refresh from prod (anonymised).
Quarterly chaos: inject failures in pre-prod; team practices.