Deployment
The Deployment view allows you to map your software containers to infrastructure. This corresponds to the C4 Deployment Diagram.
Deployment Node
A Deployment Node is something like physical hardware, a virtual machine, a Docker container, a Kubernetes pod, etc. Nodes can be nested.
Syntax
<!-- partial -->
deployment "Environment" {
node "Node Name" {
// ...
}
}
Infrastructure Node
An Infrastructure Node represents infrastructure software that isn't one of your containers (e.g., DNS, Load Balancer, External Database Service).
Syntax
<!-- partial -->
node "App Server" {
containerInstance WebApp
}
Container Instance
A Container Instance represents a runtime instance of one of your defined Containers running on a Deployment Node.
Syntax
<!-- partial -->
containerInstance ContainerID {
instanceId 1 // Optional
}
Example
<!-- partial -->
deployment "Production" {
node "AWS" {
node "US-East-1" {
node "App Server" {
containerInstance WebApp
}
node "Database Server" {
containerInstance DB
}
}
}
}