Deployment

The Deployment view allows you to map your software containers to infrastructure.

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

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

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

containerInstance ContainerID {
    instanceId 1 // Optional
}

Example

deployment "Production" {
    node "AWS" {
        node "US-East-1" {
            node "App Server" {
                containerInstance WebApp
            }
            node "Database Server" {
                containerInstance DB
            }
        }
    }
}