Softwarearchitektur gehört nicht ins PowerPoint. Statt Dokumente zu pflegen, schreiben Teams gemeinsam Architektur. Das Ergebnis: Mehr Transparenz, weniger Missverständnisse und kürzere Feedback-Zyklen
Heute arbeiten viele Architekten mit Power Point, Visio, draw.io und vielen anderen grafischen Tools um Architekturdiagramme zu erstellen. Dies bringt diverse Herausforderungen mit sich. So muss zum Beispiel sichergestellt werden, dass die Architekturartefakte versioniert werden können, zudem hat die Notwendigkeit zu Kollaboration in den letzten Jahren stark zugenommen, so dass es entscheidend ist, dass man Architekturen auch gemeinsam weiterentwickeln kann. Vielfach erfahren die Diagramme auch einen stillen, schleichenden Tod, da sie auf irgend einem SharePoint oder einer Confluence Page vergessen gehen und nicht mehr gepflegt werden. Wenn man sie dann irgendwann benötigt, stellt man fest, dass sie veraltet sind oder noch schlimmer, man weiss nicht dass sie veraltet sind. Manchmal wird auch ein anderer Viewpoint dargestellt. Mit der Nutzung solcher Tools geht man zudem auch eine Abhängigkeit ein. Diagramme aus Power Point können nicht einfach in eine andere Lösung übernommen werden.
Stell dir nun vor, Architektur ist nicht mehr nur ein starres Konstrukt, das in Power Point, Visio oder sonst einem grafischen Tool festgehalten wird – sie wird zu einem lebendigen, anpassungsfähigen Teil des gesamten Prozesses. „Architecture as Code“ (AaC) ermöglicht es, Architektur genauso agil und dynamisch zu gestalten wie die Systeme, die sie stützt. Indem wir Architektur wie Code behandeln, schaffen wir eine Grundlage für kontinuierliche Anpassung und Weiterentwicklung, die den Herausforderungen der Zukunft gewachsen ist.
Bei AaC werden keine statischen Diagramme erstellt, sondern Modelle – entweder durch Code oder mittels einer domänenspezifischen Sprache (DSL). Diese Modelle lassen sich manuell oder automatisiert mit Daten anreichern. Auf der Basis dieser Modelle werden anschliessend aktuelle Architekturdiagramme automatisch generiert.
Das Konzept stammt ursprünglich aus der DevOps-Welt und geht Hand in Hand mit Infrastructure as Code (IaC). Während IaC zum Beispiel Server, Netzwerke und Plattformen automatisiert provisioniert, beschreibt AaC den Kontext, die logischen Komponenten, Abhängigkeiten und Interaktionen von Systemen.
Wie lassen sich die oben genannten Herausforderungen mit AaC lösen?
Mit AaC lässt sich Architektur-Code, wie „normaler“ Code, in Git-Repos ablegen. Die Architektur wird dadurch versionierbar und Änderungen werden nachvollziehbar. Durch die Verwaltung des Codes durch Git, ist es zudem auf einfache Art und Weise, gemeinsam an der Architektur zu arbeiten und diese anschliessen via Git Pipeline zu publizieren. Dadurch wird echte Kollaboration gefördert und verhindert, dass Architekturartefakte veralten oder in isolierten Tools verloren gehen. Gleichzeitig sichert AaC durch offene Formate und standardisierte Modelle wie C4 eine konsistente, zukunftsfähige und toolunabhängige Dokumentation der Architektur.
Doch welche etablierten Lösungen gibt es auf dem Markt?
Eine weit verbreitete Lösung ist Structurizr. Structurizr basiert auf C4. In Structurizr können Modelle mittels Structurizr DSL definiert werden. Zur Darstellung der Diagramme werden neben den eigenen Möglichkeiten, auch noch Exporte in Mermaid, PlantUML und weitere angeboten. Viele Lösungen gibt es allerdings momentan nicht.


Was ist AaC nicht?
Es ersetzt nicht menschliches Nachdenken oder Erfahrungen. Gute Architektur entsteht immer im Austausch – AaC macht das Wissen sichtbar, überprüfbar und aktuell.
Fazit
Architecture as Code bringt Struktur in komplexe Systeme. Statt Dokumente zu pflegen, schreiben Teams gemeinsam Architektur – als Teil des Systems selbst. Das Ergebnis: Weniger Missverständnisse, mehr Klarheit, kürzere Feedback-Zyklen. Die Transformation weg von veralteten, schwer pflegbaren Tools hin zu einem codebasierten, automatisierbaren und kollaborativen Architekturansatz ist essenziell für nachhaltige Architekturarbeit in agilen und cloud-nativen Organisationen.
Ich finde das Thema spannend und werde es auf jeden Fall weiterverfolgen.