Hendrik Siegeln war vor der Mitgründung von Integration Matters bereits mehrere Jahre als leitender Architekt für Integrationslösungen weltweit für Tibco tätig.
Eine gute Architektur ist das Rückgrat jedes erfolgreichen Software-Systems. Sie sollte Klarheit in die Funktionsbereiche bringen, die Trennung von Aufgaben fördern und so zu einer besseren Codestruktur und -organisation beitragen. Es ist dabei wichtig zu verstehen, dass die Software-Architektur und das Laufzeitmodell zwar miteinander verbunden sind, aber einander nicht zwangsläufig bedingen. Die Architektur definiert die interne Organisation und Interaktion der Software-Elemente, während das Laufzeitmodell vorgibt, wie die Software ausgeführt wird.
Diese Unterscheidung bietet eine interessante Perspektive: Unternehmen können ihre Software intern wie einen Microservice entwerfen und sie dann wie einen Monolithen betreiben. Dieser Ansatz wird als „modularer Monolith“ bezeichnet und kombiniert das Beste aus beiden Welten: die interne Flexibilität und Organisation von Microservices mit der Einfachheit einer monolithischen Bereitstellung.
Die Codebasis wird in Module oder Komponenten unterteilt, die jeweils einen bestimmten Geschäfts- oder Funktionsbereich kapseln, ähnlich wie bei Microservices. Die Module können dabei unabhängig voneinander entwickelt, getestet und aktualisiert werden, was die Bereitstellung beschleunigt. Gleichzeitig reduziert sich das Risiko, dass Änderungen Auswirkungen auf das gesamte System haben. Die Module werden im Rahmen eines monolithischen Laufzeitmodells innerhalb desselben Prozesses betrieben und als Einheit bereitgestellt. Somit entfällt die Komplexität verteilter Systeme, die zu Netzwerklatenz und Datenkonsistenzproblemen führen kann.
Dabei sollte beachtet werden, dass ein Monolith bei der Sicherheit ein zweischneidiges Schwert sein kann. Zwar minimiert die geringere Anzahl von Schnittstellen die Angriffspunkte, doch wenn eine Sicherheitslücke vorhanden ist, kann sie möglicherweise Zugang zu einem größeren Teil des Systems verschaffen als in einer verteilten Architektur, in der die Dienste stärker isoliert sind. Sicherheitsmaßnahmen wie regelmäßige Codeüberprüfungen, Penetrationstests und die Einhaltung bewährter Sicherheitspraktiken sind deshalb von entscheidender Bedeutung.
Dies ist ein Artikel aus unserer Print-Ausgabe 6/2023. Bestellen Sie ein kostenfreies Probe-Abo.
Positive Erfahrungen machte aktuell Amazon Prime Video beim Wechsel von einem Microservice-basierten zu einem monolithischen Laufzeitmodell. Alle Komponenten wurden in einem Prozess zusammengefasst, was die Infrastrukturkosten um 90 Prozent senkte und gleichzeitig die Skalierungsmöglichkeiten steigerte. Die Architektur behielt die funktionale Aufteilung eines Microservice-Designs bei, wodurch das Potenzial eines modularen monolithischen Ansatzes deutlich wird.
Bildquelle: Integration Matters