C4-Modell

Problem

Jemand zeichnet:
[Frontend] → [Backend] → [DB]
Eine andere Person zeichnet 400 Kubernetes-Objekte. Beide nennen sie "Architekturdiagramme". Das Publikum weiß nicht, auf welche Ebene es schaut.

Lösung — C4

C4 zoomt in das gleiche System auf vier Ebenen: Kontext: Das gesamte System und seine Umgebung – zum Beispiel nutzt ein Kunde den Shop, der einen Zahlungsanbieter anruft. Container: Anwendungen und Datenspeicher darin – beispielsweise ruft ein Frontend eine API auf, die auf eine Datenbank zugreift. Hosting kann Docker, Server oder Managed Services verwenden. Komponenten: Funktionsteile innerhalb einer Anwendung – Auftragsabwicklung, Zahlungsintegration, Datenzugriff innerhalb der API. Code: Klassen und Methoden, die eine Komponente implementieren, wie PaymentAdapter.sendPayment().
Kerngedanke: C4 bietet konsistente Abstraktionsebenen für die Kommunikation von Software-Architektur.