All glossary terms
Design

C4 model

The C4 model, created by Simon Brown around 2011, is a hierarchical way to diagram software architecture using four levels: Context (system and its users/external systems), Container (deployable units — web app, API, database), Component (major modules within a container), and Code (class-level, usually skipped for static diagrams).

C4 is the most-adopted modern architecture-diagramming notation because it solves the actual problem: UML 2 is too detailed for documentation, ad-hoc box-and-arrow diagrams have no shared conventions. C4 picks a small vocabulary — person, software system, container, component — and a strict hierarchy, so an architect can produce a Context diagram for an exec, drill to Containers for an SRE, drill to Components for an engineer, all from one consistent model. Tooling support is excellent: Structurizr (Simon Brown's tool), PlantUML, Mermaid, IcePanel, and Stride's Design module all emit C4 diagrams from a model. The notation pairs naturally with ADRs (the ADR captures the decision; the C4 diagram shows the result).

Related terms