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
            }
        }
    }
}