Keeping environments alike.
WHAT PARITY MEANS
Environments differing only in configuration and scale.
WHY IT MATTERS
Differences produce failures that appear only in production.
WHAT COMMONLY DIFFERS
Runtime versions Dependency versions Operating system and packages Filename case sensitivity Available extensions Time zone settings
THE CASE SENSITIVITY POINT
Developing on a system that ignores case, deploying to one that does not, produces failures that are baffling until identified.
WHAT TO DO
Pin versions everywhere Use the same base configuration Run the same setup process in each environment
WHAT WILL ALWAYS DIFFER
Data volume Traffic Credentials
WHAT TO DO ABOUT DATA VOLUME
Test with realistic quantities, since performance problems appear only then.
WHAT TO CHECK BEFORE RELEASE
That the environments match in the ways that matter.
WHAT TO AUTOMATE
The setup, so each environment is built the same way.
WHAT TO DOCUMENT
Every intentional difference.