C4 model Noteο
Abstractionsο
Containerο
Server-side web application
Client-side web application
Client-side desktop application
Mobile app
Server-side console application
Microservice
Serverless function
Database
Blob or content store
File system
Shell script
etc
Core diagramsο
Level 1: System Context diagramο
Level 2: Container diagramο
Level 3: Component diagramο
Level 4: Codeο
Supplementary diagramsο
System Landscape diagram
Dynamic diagram
Deployment diagram
Notationο
Person
Software System
Container
Component
Relationship
Diagram key/legendο
Notation, notation, notationο
Examplesο
Big Bank plc (System Landscape, System Context, Container, Component, Dynamic and Deployment)
Financial Risk System (System Context)
Spring PetClinic (System Context, Container, Component, Dynamic and Deployment)
Message bus and microservices (Container and Dynamic)
Widgets Limited (System Landscape, System Context and Dynamic)
Contoso University (System Context, Container, Component and Dynamic)
Frequently asked questionsο
Whatβs the inspiration behind the C4 model?
make it easier for software developers to describe and understand how a software system works
minimise the gap between the software architecture model/description and the source code
Toolingο
-
Extras β Plugins β Add: https://tobiashochguertel.github.io/c4-draw.io/c4.js