System Design · Modul 9: Fallstudien

Lektion 6 von 7Text 14 Min.

Diagramme, Entscheidungen und Interviews

Lernziele
  • Architektur mit dem C4-Modell auf passenden Ebenen darstellen
  • Architekturentscheidungen als ADR nachvollziehbar dokumentieren
  • ein Entwurfsgespräch strukturiert führen
  • die wichtigsten Begriffe des Kurses sicher verwenden

Ein guter Entwurf, den niemand versteht, ist kaum mehr wert als ein schlechter. Architektur lebt davon, dass sie kommuniziert wird: im Team, gegenüber Kunden, im Vorstellungsgespräch und nicht zuletzt gegenüber dem eigenen zukünftigen Ich, das in zwei Jahren wissen will, warum etwas so gebaut wurde. Diese Lektion zeigt drei bewährte Werkzeuge dafür – Diagramme nach dem C4-Modell, Architekturentscheidungen als kurze Dokumente und ein festes Vorgehen für Entwurfsgespräche – und schließt mit einem Glossar der wichtigsten Begriffe des Kurses.

1. Diagramme mit dem C4-Modell

Viele Architekturdiagramme scheitern daran, dass sie alles auf einmal zeigen wollen: Nutzer, Server, Datenbanktabellen, Klassen und Netzwerkdetails in einem einzigen Bild. Das C4-Modell von Simon Brown löst das mit vier Zoomstufen, ähnlich wie eine Landkarte vom Kontinent bis zur Straße.

Abb. 6.1Die vier Ebenen des C4-Modells
Abb. 6.1: Die vier Ebenen des C4-Modells. Die vier Ebenen des C4-Modells: Kontext zeigt das System mit Nutzern und Nachbarsystemen, Container zeigt Anwendungen und Datenspeicher, Komponenten zeigt die Bausteine eines Containers, Code zeigt Klassen und Funktionen.
Abb. 6.1Jede Ebene beantwortet eine andere Frage für ein anderes Publikum. Für die meisten Gespräche genügen Kontext und Container.
ErkundenWelche Ebene für wen?
KontextContainerKomponentenCode
Kontext: Für Geschäftsführung, Kunden und alle Neuen: das System als ein Kasten, darum Nutzergruppen und Nachbarsysteme wie Zahlungsanbieter oder Kalender. Keine Technik. (1/4 erkundet)

Einige Regeln machen Diagramme deutlich besser: Jedes Diagramm hat einen Titel und eine Legende. Jeder Kasten nennt seinen Zweck, nicht nur einen Namen – „API: Buchungen und Zahlungen, Node.js“ statt nur „Backend“. Jeder Pfeil ist beschriftet und zeigt, was fließt und wie: „liest Kurse, JSON über HTTPS“. Und Diagramme liegen als Text neben dem Code, etwa mit Werkzeugen wie Structurizr oder Mermaid, damit sie mit dem System gepflegt werden und nicht in einer vergessenen Präsentation veralten.

2. Entscheidungen festhalten

Definition 6.1
Architecture Decision Record (ADR)
Ein kurzes, datiertes Dokument, das eine wichtige Architekturentscheidung festhält: den Kontext, der sie nötig machte, die getroffene Entscheidung, betrachtete Alternativen und die Konsequenzen. ADRs werden nicht überschrieben, sondern bei Bedarf durch neue ersetzt.

Diagramme zeigen, wie ein System aufgebaut ist, aber nicht, warum. Genau diese Frage stellt sich später am häufigsten: Warum wurde die Datenbank nicht aufgeteilt? Warum gibt es hier eine Warteschlange? ADRs beantworten sie in einer halben Seite. Stellen Sie selbst eines zusammen:

BaukastenEine Architekturentscheidung (ADR) zusammenstellen

Kontext

Entscheidung

Konsequenzen

Status: Akzeptiert ✓
Stimmig: Kontext, Entscheidung und Konsequenzen gehören zusammen. So liest sich ein ADR auch in zwei Jahren noch verständlich.

Bewährt hat sich, ADRs nummeriert im Code-Repository abzulegen, etwa als docs/adr/0007-buchungen-per-warteschlange.md. Sie sind kurz, meist unter einer Seite, und werden nicht nachträglich geändert. Ändert sich eine Entscheidung, entsteht ein neues ADR, das auf das alte verweist. So entsteht über die Zeit eine Geschichte der Architektur, die neuen Teammitgliedern mehr erklärt als jedes Diagramm.

Dokumentieren Sie nicht alles, sondern die Entscheidungen, die teuer zu ändern sind oder überraschen könnten. Ein ADR pro wichtiger Weichenstellung – mit Kontext, Entscheidung und Folgen – reicht völlig.

3. Das Entwurfsgespräch

Ob im Vorstellungsgespräch oder im ersten Workshop mit einem Kunden: Entwurfsgespräche folgen einer erkennbaren Dramaturgie. Klicken Sie sich durch ein typisches Gespräch von 45 Minuten:

Klick-Grafik45 Minuten Systementwurf
Klären · 5′Schätzen · 5′Skizze · 10′Vertiefen · 15′Abwägen · 5′Ausblick
Schritt 1/6 · Anforderungen klären: Fragen stellen statt losbauen: Wer nutzt das System, was ist der Kern, was ist ausdrücklich nicht gefragt, welche Größenordnung?
Tab. 6.1Typische Fehler im Entwurfsgespräch
FehlerBesser
sofort Technologien aufzählenerst Anforderungen und Zahlen klären
Microservices und Kafka für alleseinfach beginnen, Wachstum begründen
nur den Normalfall zeigenFehlerfälle und Ausfälle durchspielen
Entscheidungen ohne BegründungAbwägung und Preis jeder Entscheidung nennen
schweigend zeichnenlaut denken, Zwischenfragen einladen

4. Eine Checkliste für eigene Entwürfe

Zum Abschluss des Kurses eine Checkliste, die Sie für jeden eigenen Entwurf nutzen können. Sind die funktionalen und nicht funktionalen Anforderungen schriftlich festgehalten, inklusive dessen, was bewusst fehlt? Gibt es eine Überschlagsrechnung für Last, Speicher und Kosten? Ist die Quelle der Wahrheit für jede Datenart klar? Sind Engpässe, einzelne Ausfallpunkte und Fehlerfälle benannt? Gibt es Zeitlimits, Wiederholungen mit Idempotenz und Rate Limits an allen Außengrenzen? Sind Authentifizierung, Autorisierung je Objekt und Mandantentrennung geregelt? Werden die goldenen Signale gemessen und sinnvoll alarmiert? Gibt es Backups mit geprobter Wiederherstellung? Sind die KI-Bausteine mit Evals, Budgets und Leitplanken versehen? Und sind die wichtigsten Entscheidungen als ADR festgehalten? Wer diese Fragen beantworten kann, hat einen Entwurf, der nicht nur funktioniert, sondern sich auch erklären, betreiben und weiterentwickeln lässt.

6. Architektur für Nicht-Techniker erklären

Viele Entscheidungen über Systeme treffen Menschen ohne technischen Hintergrund: die Geschäftsführung, die Budget freigibt, oder der Inhaber eines Cafés, der wissen will, warum sein Onlineshop eine zweite Datenbank braucht. Für sie gelten eigene Regeln. Sprechen Sie über Wirkungen, nicht über Werkzeuge: nicht „wir führen ein Lesereplikat ein“, sondern „die Seite bleibt auch beim Ansturm nach dem Newsletter schnell“. Übersetzen Sie Risiken in Geschäftssprache: Was kostet eine Stunde Ausfall, wie viele Bestellungen gehen verloren, welche Pflicht gegenüber Kunden steht im Raum? Zeigen Sie das Kontextdiagramm statt des Containerdiagramms. Und nennen Sie Optionen mit Preis: „Variante A kostet 20 Euro im Monat und übersteht den Ausfall eines Rechenzentrums, Variante B kostet 200 Euro und übersteht den Ausfall einer ganzen Region.“ So wird aus einer technischen Frage eine Entscheidung, die das Gegenüber selbst treffen kann – und genau das schafft Vertrauen in die Architektur und in die Menschen, die sie verantworten.

Hilfreich ist auch eine gemeinsame Sprache im Team. Wenn alle unter „Verfügbarkeit“, „Mandant“ oder „bestätigte Buchung“ dasselbe verstehen, entstehen weniger Missverständnisse zwischen Fachabteilung, Entwicklung und Betrieb. Das folgende Glossar sammelt die wichtigsten Begriffe dieses Kurses als Ausgangspunkt für ein solches gemeinsames Vokabular.

7. Glossar

Die wichtigsten Begriffe des Kurses auf einen Blick – durchsuchbar:

GlossarDie wichtigsten Begriffe des Kurses
ACID
Atomarität, Konsistenz, Isolation, Dauerhaftigkeit – Garantien von Transaktionen.
ADR
Architecture Decision Record: kurzes Dokument zu einer Architekturentscheidung mit Kontext und Folgen.
Backpressure
Das System bremst den Zustrom, wenn Verbraucher nicht nachkommen.
CAP-Theorem
Bei einer Netzwerktrennung muss ein verteiltes System zwischen Konsistenz und Verfügbarkeit wählen.
CDN
Netz verteilter Server, das Inhalte nah an den Nutzern ausliefert.
Circuit Breaker
Schutzschalter, der Aufrufe an einen gestörten Dienst vorübergehend sofort scheitern lässt.
Eventual Consistency
Kopien gleichen sich nach kurzer Zeit an, können aber kurz voneinander abweichen.
Idempotenz
Mehrfaches Ausführen hat dieselbe Wirkung wie einmaliges.
Latenz
Zeit, bis eine Antwort eintrifft – oft als Perzentil (p95, p99) angegeben.
Load Balancer
Verteilt Anfragen auf mehrere Instanzen und nimmt defekte aus der Verteilung.
Outbox-Muster
Datenänderung und Ereignis werden in derselben Transaktion gespeichert und dann veröffentlicht.
RAG
Retrieval-Augmented Generation: passende Dokumente suchen und dem Sprachmodell als Kontext geben.
Replikation
Kopien der Daten auf mehreren Servern für Lesen und Ausfallsicherheit.
RPO / RTO
Maximal tolerierter Datenverlust / maximal tolerierte Wiederherstellungszeit.
Sharding
Aufteilen der Daten auf mehrere Datenbanken nach einem Schlüssel.
SLO
Service Level Objective: internes Ziel für einen Messwert wie Verfügbarkeit.
Token Bucket
Rate-Limiting-Verfahren, das kurze Spitzen erlaubt und die Dauerrate begrenzt.
17 von 17 Begriffen

Mit dieser Lektion haben Sie alle Inhalte des Kurses System Design durchgearbeitet – von den Grundlagen über Daten, Skalierung, Zuverlässigkeit, Schnittstellen und Sicherheit bis zu KI-Systemen, modernen Mustern und vollständigen Fallstudien. Im Abschlusstest können Sie Ihr Wissen noch einmal prüfen.

Quellen und weiterführende Literatur
  1. [1]Brown, S. (2026): The C4 Model for Visualising Software Architecture. c4model.com.
  2. [2]Nygard, M. (2011): Documenting Architecture Decisions. cognitect.com/blog.
  3. [3]Xu, A. (2020): System Design Interview – An Insider's Guide. Kap. 3: A Framework for System Design Interviews.
  4. [4]Ford, N. et al. (2021): Software Architecture – The Hard Parts. Sebastopol: O'Reilly.

Stand: September 2026. Kursmaterial der Klarwerk Akademie. Zahlen zu Latenzen und Kosten sind Größenordnungen zur Orientierung, keine Messwerte.

Abschlussquiz

Drei Fragen – dann ist die Lektion geschafft.

Frage 1 von 3

Welche C4-Ebene zeigt Anwendungen, Datenbanken und ihre Verbindungen?