REA.01: Ein Essay über resiliente Enterprise Architecture
Geständnis und Warnung
Die vielen Systemarchitekturen und vor allen die vielen schmerzhaften Legacy Ablösungen und End-Of-Live beinahe Katastrophen, die ich in Unternehmen beobachten durfte – oder Teil davon war – haben mich bewogen diese Blogserie über eine nachhaltige Enterprise Architektur zu schreiben.
Warnung: Die Blogserie ist lange, über zehn Blog lang, und streift viele Aspekte im Detail. Vieles wird bekannt sein – zumindest werden viele System und Software Architekten abwinken und sagen «kennen wir doch». Mein „Aber“ lautet: Wenn wird das alles doch kennen, woher kommen denn dann die Legacy Leichen, die überall viel Geld, Zeit und Kosten verursachen.
Ist das wie mit dem Abnehmen? Wir alle wissen doch, wie es geht und winken ab, wenn einer belehrend daherkommt. Wenn wir wirklich abnehmen wollen, dann müssen wir das Abnehmen aktiv leben, wenn wir langfristig einen Erfolg erzielen wollen. Ich finde diese Analogie ist wirklich treffend. Wenn wir es nicht nur wissen wie, sondern es tatsächlich schaffen gesund zu leben, dann werden wir länger leben – und das auch noch gesund und uns dabei wohlfühlend. So kann es auch Unternehmen gehen, die es nicht nur wissen, sondern es auch tun gemäss: Tun ist wie wollen, nur viel krasser.
Na ich hoffe euch nun neugierig gemacht zu haben. Ich habe eine Menge meines Herzblutes und meiner gesammelten Erfahrungen hier verarbeitet. Viel Spass beim Lesen … und euer Feedback ist herzlich willkommen.
…und nun starten wir einfach…
Das Appenzeller Haus: Eine Lektion in Systemarchitektur
Haben Sie sich jemals gefragt, wie manche Gebäude die Zeit überdauern, während andere unter ihrem eigenen Gewicht zu zerfallen scheinen? Im Herzen der Schweiz, eingebettet zwischen sanften Hügeln und malerischen Dörfern, finden Sie ein Zeugnis für dauerhafte Architektur: Das Appenzeller Haus. Diese jahrhundertealten Gebäude, oft über dreihundert Jahre alt, stehen noch immer fest, trotz der Zeit und der unerbittlichen Kräfte der Natur.
Was ist das Geheimnis ihrer Widerstandsfähigkeit? Es liegt in ihrem einzigartigen Design: Diese Häuser wurden in einer Art und Weise gebaut, dass jedes einzelne Teil des Hauses für sich ersetzt werden kann ohne, oder zumindest mit minimalen Auswirkungen auf den Rest des Hauses. Das ist ein modularer Ansatz, der es ermöglicht, einzelne Elemente, selbst tragende Teile, auszutauschen oder zu aktualisieren, ohne die Integrität der gesamten Struktur zu beeinträchtigen.
Nun, was haben Appenzeller Häuser mit System Architektur oder mit einer Anwendungslandschaft eines Unternehmens zu tun?
Stellen Sie sich ein System vor, dessen Design beständige Erneuerung integral einbezieht und das nicht nur für die aktuelle und kostengünstigste Optimierung der Nutzung gebaut ist. Das ist der Grundgedanke dieser Blogserie als Essay zu einer resilienten Enterprise Architecture.
Wiederverwendung fachlicher Komponenten führt zu Legacy
Seit über vierzig Jahren thematisieren wir in der Technologie die Wiederverwendung von Komponenten. Ich persönlich habe nur selten erlebt, dass eine Wiederverwendung funktioniert. Ob mit dem Host, mit SOA-Technologie, verteilten System oder neu und ganz modern mit Cloud und Microservices, auf Wiederverwendung gebaute Systemlandschaften entarteten in eng gekoppelte und hoch komplexe monolithische Gebilde, die nach Jahren des Aufbaus weder wartbar noch mit vertretbarem Risiko weiter entwickelbar sind und nur mit erheblichem finanziellem Aufwand und hohem Risiko abgelöst werden können.
Design auf Wiederverwendung erzwingt zusätzliche Abhängigkeiten und Kontexte zu integrieren, die über Abstraktionen und Konfigurationen erreicht werden. Als Folge steigt die Komplexität der Komponente erheblich ohne dem Business einen fachlichen Mehrwert zu liefern. Kernprinzipien, welche die Qualität einer Architektur wesentlich beeinflussen sind hingegen die Einfachheit der einzelnen Komponente und die lose Kopplung der Komponenten untereinander. Diese Prinzipien sind seit Jahrzehnten anerkannt und haben sich in der Praxis bewährt – und dennoch verletzen auch moderne, mit Cloud Technologie gebaute Systemlandschaften diese Architektur Prinzipien grob.
Ein Beispiel aus meiner frühen Vergangenheit ist eine Komponente zur Berechnung von Preisen und Rabatten in einem internationalen Unternehmen. Dazu musste sich die Komponente aus verschiedenen länderspezifischen Umsystemen Daten besorgen, um die Berechnungen durchführen zu können. Ebenso liefert die Komponenten den Umsystemen Daten. Über die Jahre entstand entstand ein komplexes Geflecht aus Schnittstellen zwischen der Komponente und den Umsystemen. Wartung und Weiterentwicklung wurden immer fehleranfälliger, die Anzahl erst im operativen Betrieb erkannten Fehler stieg mit der Zeit erheblich.
Es entstand ein monolithisches System, welches nicht nur die Komponente für Preise und Rabatte umfasste, sondern zusätzlich die Umsysteme mit dem Geflecht der Schnittstellen. Letztlich war das gesamte Geflecht hochkomplex, nicht mehr wartbar, da international auch organisatorisch schwierig zu managen und letztlich ein hohes Risiko für das Unternehmen.
Ich denke wir alle haben solche Legacy-Systemen erlebt – komplex, spröde, widerstandsfähig gegen Veränderungen, organisatorisch schwierig, das Knowhow zur Pflege nicht mehr vorhanden. Legacy Systeme werden statt zu einem Vermögenswert zu einer Belastung für ein Unternehmen.
Das Appenzeller Haus bietet eine starke Metapher für ein zukunftsträchtiges Design der Systemarchitektur. Es lehrt uns die Bedeutung des Designs für Erneuerung von Anfang an. Anstatt komplexe hochgekoppelte monolithische Gebilde zu bauen, sollten wir Systeme aus Einzelteilen bauen in denen per Design einzelne Elemente einfach und mit ökonomisch vertretbarem Aufwand auszutauschen oder zu aktualisieren sind, ohne das gesamte System zu stören.
Das ist nicht einfach – und dem möchte ich mich in dieser Blogserie widmen.
P.S.: Alle Bilder sind frei lizenzierbaren Quellen entnommen, eventuell mit der entsprechenden Attribution – oder meine eigenen. Daher können alle Bilder aus dieser Blogserie entsprechend Attribution weiter verwendet werden.
P.P.S.: Resilince in Enterprise Architecture © 2024 by Rainer Grau is licensed under CC BY-SA 4.0