Environment
An environment is a distinct system context used for a specific purpose, such as development, testing, staging, or production.
Each environment can have its own configuration, data, infrastructure, and access rules even when the application itself is the same.
What it does
Environments separate different stages of work and risk.
They are commonly used to:
- Isolate development from live traffic
- Test changes before release
- Validate deployments safely
- Separate real data from test data
- Support controlled release and rollback workflows
Core concepts
Same system, different context
An environment usually runs the same or similar software, but with different data, settings, domains, or operational expectations.
Common environment types
Typical environments include:
- Development
- Testing or QA
- Staging
- Production
Configuration differences
Environments often differ in:
- Domain names
- Credentials and secrets
- Data sources
- Caching and performance settings
- Logging and debugging behavior
Common use cases
- Keeping development separate from live users
- Rehearsing a deployment
- Testing a migration
- Running pre-production reviews
- Maintaining safer operational workflows
Practical notes
- Environment separation reduces risk and makes change management more predictable.
- Problems often happen when environments drift too far apart or when staging no longer reflects production.
- In WordPress workflows, environment differences often affect URLs, media paths, caching, and the database.
- Good environment design usually includes clear naming, controlled access, and documented purpose.
Frequently Asked Questions
Is staging an environment?
Yes. Staging is one type of environment.
Is production an environment?
Yes. Production is the live environment.
Why have multiple environments?
Because development, testing, and live operations have different goals and risk levels.