# Environment Parity

> A design rule that development, test, staging and production run the same build, differing only in configuration.

Record: `architecture:environment-parity`
Kind: principle
Layer: [Resource Core](https://banes-lab.com/records/layer/resource-core.md)
Severity: recommended
Scope: dev, test, staging, production
Canonical: https://banes-lab.com/ontology#architecture-environment-parity

Listed in [Architecture principles](https://banes-lab.com/api/records/architecture.md), after [Platform Independence](https://banes-lab.com/records/architecture/platform-independence.md) and before [Containerization](https://banes-lab.com/records/architecture/containerization.md).

## Repair

- Refactored by: Containerize, Externalize Config, Use IaC
- Detected by: works-in-dev-only defects
- Violated by: environment-specific behavior not config-driven
- Measured by: [environment drift](https://banes-lab.com/records/lexicon/environment-drift.md)
- Enforced by: environment drift checks

## Requires

- [Configuration Externalization](https://banes-lab.com/records/architecture/configuration-externalization.md)
- [Infrastructure as Code](https://banes-lab.com/records/architecture/infrastructure-as-code.md)

## Reinforces

- [Reproducibility](https://banes-lab.com/records/architecture/reproducibility.md)

## Enables

- [Reliable Deployment](https://banes-lab.com/records/lexicon/reliable-deployment.md)

## Conflicts with

- [Snowflake Environments](https://banes-lab.com/records/lexicon/snowflake-environments.md)

## In tension with

- [Cost](https://banes-lab.com/records/lexicon/cost.md)

## Tensions

- [Environment Parity / Cost](https://banes-lab.com/records/tension/cost-environment-parity.md)

## Severity

- [recommended](https://banes-lab.com/records/vocabulary/severity-recommended.md)

## Category

- [Portability / Infrastructure / Deployment](https://banes-lab.com/records/architecture-category/portability-infrastructure-deployment.md)

## Reinforced by

- [Containerization](https://banes-lab.com/records/architecture/containerization.md)
- [Immutable Infrastructure](https://banes-lab.com/records/architecture/immutable-infrastructure.md)

## Linked from

- [The deploy is a file operation](https://banes-lab.com/disciplined-methodology/ship/the-deploy-is-a-file-operation.md)
- [Computation and resource](https://banes-lab.com/software-architecture/principles/computation-and-resource.md)
- [Correctness / Determinism / Verification](https://banes-lab.com/ontology/principles/architecture-category-correctness-determinism-verification.md)
- [Portability / Infrastructure / Deployment](https://banes-lab.com/ontology/principles/architecture-category-portability-infrastructure-deployment.md)
- [Core Vocabulary](https://banes-lab.com/ontology/lexicon/lexicon-category-core-vocabulary.md)
- [Portability / Infrastructure / Deployment](https://banes-lab.com/ontology/lexicon/lexicon-category-portability-infrastructure-deployment.md)
- [Severity levels](https://banes-lab.com/ontology/schema/the-vocabulary-severity.md)
- [The resolutions](https://banes-lab.com/ontology/schema/the-resolutions.md)
