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.