# Immutable Infrastructure

Record: `arch:immutable-infrastructure`
Kind: approach
Layer: [Resource Core](https://banes-lab.com/records/layer/resource-core.md)
Severity: mandatory for managed infrastructure
Scope: infrastructure, deployment, reproducibility
Canonical: https://banes-lab.com/ontology#arch-immutable-infrastructure

## Repair

- Refactored by: Replace Instances from Immutable Images
- Detected by: SSH mutation of live instances
- Violated by: patching running servers in place
- Measured by: config drift across instances
- Enforced by: deployment review

## requires

- [Infrastructure as Code](https://banes-lab.com/records/arch/infrastructure-as-code.md)

## reinforces

- [Environment Parity](https://banes-lab.com/records/arch/environment-parity.md)
- [Reproducibility](https://banes-lab.com/records/arch/reproducibility.md)

## enables

- [Deterministic Redeploys](https://banes-lab.com/records/lex/deterministic-redeploys.md)
- [Instance Replacement over Mutation](https://banes-lab.com/records/lex/instance-replacement-over-mutation.md)

## conflicts-with

- [In-Place Server Mutation](https://banes-lab.com/records/lex/in-place-server-mutation.md)

## tensions-with

- [Deploy Time](https://banes-lab.com/records/lex/deploy-time.md)

## tensions

- [Immutable Infrastructure Deploy Time](https://banes-lab.com/records/tension/deploy-time-immutable-infrastructure.md)
