# Containerization

> A mechanism that packages an application with its runtime dependencies into an image that runs the same on any host.

Record: `architecture:containerization`
Kind: mechanism
Layer: [Resource Core](https://banes-lab.com/records/layer/resource-core.md)
Severity: contextual
Scope: application, runtime, deployment
Canonical: https://banes-lab.com/ontology#architecture-containerization

Listed in [Architecture principles](https://banes-lab.com/api/records/architecture.md), after [Environment Parity](https://banes-lab.com/records/architecture/environment-parity.md) and before [Infrastructure as Code](https://banes-lab.com/records/architecture/infrastructure-as-code.md).

## Repair

- Refactored by: Add Containerfile, Externalize Runtime Dependencies
- Detected by: manual host setup requirements
- Violated by: undeclared host dependency
- Measured by: image reproducibility
- Enforced by: image scans, build pipeline

## Requires

- [Image Definition](https://banes-lab.com/records/lexicon/image-definition.md)
- [Externalized Config](https://banes-lab.com/records/lexicon/externalized-config.md)

## Reinforces

- [Portability](https://banes-lab.com/records/architecture/portability.md)
- [Environment Parity](https://banes-lab.com/records/architecture/environment-parity.md)

## Enables

- [Repeatable Runtime Packaging](https://banes-lab.com/records/lexicon/repeatable-runtime-packaging.md)

## Conflicts with

- [Host-Coupled Deployment](https://banes-lab.com/records/lexicon/host-coupled-deployment.md)

## In tension with

- [Image Complexity](https://banes-lab.com/records/lexicon/image-complexity.md)

## Tensions

- [Containerization / Image Complexity](https://banes-lab.com/records/tension/containerization-image-complexity.md)

## Severity

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

## Category

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

## Linked from

- [Portability / Infrastructure / Deployment](https://banes-lab.com/ontology/principles/architecture-category-portability-infrastructure-deployment.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)
