Diagram as Code
Diagram as Code ist ein Ansatz, bei dem technische Diagramme durch Textbeschreibungen in einer speziellen Syntax erstellt werden, anstatt sie manuell mit grafischen Werkzeugen zu zeichnen. Der Code wird dann automatisch in visuelle Diagramme umgewandelt.
Ausführliche Erklärung
Diagram as Code folgt der Philosophie ähnlicher "as Code"-Bewegungen wie Infrastructure as Code: Konzepte, die üblicherweise visuell dargestellt werden, werden in Codeform gebracht. Anstatt Boxen und Pfeile mit der Maus zu ziehen, schreibt man eine Textdatei, die Struktur, Komponenten und Verbindungen definiert. Ein Rendering-Werkzeug wandelt diese Beschreibung dann automatisch in ein grafisches Diagramm um. Zu den gängigen Tools gehören Mermaid, PlantUML, D2, Graphviz und die Python-Bibliothek Diagrams.
Der zentrale Vorteil liegt in der Wartbarkeit und Versionierbarkeit: Da Diagramme als Textdateien vorliegen, lassen sie sich problemlos in Versionskontrollsystemen wie Git verwalten. Änderungen an Diagrammen werden wie Code-Änderungen nachvollziehbar, können in Pull Requests überprüft werden und bleiben mit dem tatsächlichen Code synchron. Ein weiterer Nutzen besteht darin, dass sich Ersteller auf den Inhalt konzentrieren können, während das Werkzeug Layout, Ausrichtung und Formatierung automatisch übernimmt.
Für KMU bedeutet dieser Ansatz eine erhebliche Vereinfachung der technischen Dokumentation. Softwarearchitekturen, Ablaufdiagramme, Netzwerktopologien oder Datenmodelle müssen nicht mehr aufwendig manuell gepflegt werden. Wenn sich die zugrundeliegende Infrastruktur oder ein Prozess ändert, genügt oft eine einzeilige Textänderung, um das Diagramm zu aktualisieren. Das reduziert den Dokumentationsaufwand deutlich und stellt sicher, dass die Visualisierungen stets den aktuellen Stand widerspiegeln.
Besonders nützlich ist Diagram as Code in agilen Entwicklungsumgebungen, wo häufige Änderungen die Regel sind. Die Integration mit CI/CD-Pipelines ermöglicht es, Diagramme automatisch zu generieren und in Dokumentationen einzubinden. Zudem können moderne KI-Modelle mittlerweile aus natürlichsprachigen Beschreibungen direkt Diagramm-Syntax generieren, was den Einstieg zusätzlich erleichtert.
Praxisbeispiel
Eine IT-Beratung mit 12 Mitarbeitern nutzt Mermaid, um Softwarearchitekturen in ihren Projektdokumentationen zu beschreiben. Die Diagramm-Definitionen liegen als Textdateien im Git-Repository direkt neben dem Code. Wenn ein Entwickler einen Microservice hinzufügt, erweitert er die Mermaid-Syntax um wenige Zeilen – GitHub rendert das aktualisierte Diagramm automatisch in der README-Datei. So bleibt die Architekturdokumentation ohne manuellen Aufwand stets auf dem neuesten Stand.
Code-Beispiel
```mermaid
graph LR
A[Web-App] -->|API Call| B[Backend]
B -->|Query| C[Datenbank]
B -->|Auth| D[Keycloak]
style A fill:#e1f5ff
style B fill:#ffe1e1
style C fill:#e1ffe1
``` Quellen
Diese Definition verlinken
Sie dürfen diese Definition gern zitieren oder verlinken — mit Quellenangabe.
„Diagram as Code“ — Definition im Strukturaflow IT Glossar: https://begriffe.strukturaflow.com/begriff/diagram-as-code <a href="https://begriffe.strukturaflow.com/begriff/diagram-as-code">Diagram as Code</a> — Definition im Strukturaflow IT Glossar