[MELDEN] Von der Vision zum Code: Ein Leitfaden zur Ausrichtung der Geschäftsstrategie auf die Ziele der Softwareentwicklung ist veröffentlicht!
HOL ES DIR HIER

Modularer Monolith — Wann sollte man ihn wählen und wie man ihn richtig macht

readtime
Last updated on
February 17, 2025

A QUICK SUMMARY – FOR THE BUSY ONES

Modulare monolithische Architektur — Wichtige Erkenntnisse

Die strategische Wahl der Architektur ist entscheidend

Wenn Microservices aufgrund ihrer Beliebtheit überstürzt eingeführt werden, ohne deren Eignung zu beurteilen, kann dies zu unnötiger Komplexität und Kosten führen.

Modularer Monolith bietet Flexibilität

Die modulare Monolith-Architektur bietet einen ausgewogenen Ansatz. Sie kombiniert die Einfachheit und Leichtigkeit der Bereitstellung eines Monolithen mit der Flexibilität und dem Skalierbarkeitspotenzial von Microservices. Es eignet sich besonders für Unternehmen, die ältere Systeme modernisieren möchten, ohne sich mit der betrieblichen Komplexität von Microservices auseinandersetzen zu müssen. Das macht es zu einem hervorragenden Sprungbrett für zukünftige Skalierungen.

Berücksichtigung der Modernisierung von Altlasten und technischer Verschuldung

Die Umstellung auf einen modularen Monolithen kann dazu beitragen, die Probleme veralteter Systeme zu lösen, indem sie leichter zu handhaben sind und die Voraussetzungen für einfachere Aktualisierungen oder Umstellungen zu Microservices zu einem späteren Zeitpunkt geschaffen werden. Dieser Ansatz hilft dabei, Leistung, Kosten und Skalierbarkeit in Einklang zu bringen.

Lesen Sie weiter, um herauszufinden, wann Sie sich für den modularen Monolithen entscheiden sollten und was genau Sie durch diesen Schritt gewinnen können.

TABLE OF CONTENTS

Modularer Monolith — Wann sollte man ihn wählen und wie man ihn richtig macht

Architektur = strategische Wahl

Mit einem trägen Monolithen an Bord ist Ihre Architektur möglicherweise zu komplex, um sie zu verwalten. Langsame Bereitstellungszyklen und Anwendungsausfälle können Ihnen ebenfalls Kopfschmerzen bereiten. Aber wenn Sie Ihre Altsysteme satt haben, sollten Sie nicht sofort auf Microservices umsteigen. Sie sind komplex in der Bereitstellung, schwer zu debuggen und haben andere schmerzhafte Einschränkungen. Aber auch der modulare Monolith-Ansatz ist in Sicht und kann die Antwort auf viele Einschränkungen sein, die sowohl monolithische als auch auf Microservices basierende Architekturen mit sich bringen.

In den letzten Jahren haben wir eine gesehen extremer Wandel hin zu Microservices, aber seine breite Akzeptanz führt immer mehr Unternehmen in die Irre. Aus diesem Grund gewinnt das Dilemma zwischen modularem Monolith und Microservices ab 2024 immer mehr an Bedeutung.

Bei der Wahl eines Architekturtyps — eine wichtige Entscheidung mit schwerwiegenden Folgen — ist es gut, mit Bedacht zu handeln und nicht einfach dem Strom zu folgen. Sie müssen vorausdenken — und einen Technologiestack auswählen, der Ihnen heute und bei weiterem Wachstum Ihres Unternehmens gute Dienste leistet.

Es lohnt sich, für die bestmögliche Architektur zu kämpfen, und in vielen Fällen ist es das modulare monolithische Design. Ihre Implementierung sollte jeder Geschäftsinhaber oder CTO in Betracht ziehen, der den Softwarebereitstellungsprozess beschleunigen und bessere Geschäftsergebnisse erzielen möchte.

Consequences of accumulating technical debt
Quelle: Bericht über den Stand der Softwaremodernisierung

Modulare Monolith-Architektur — was sie wirklich ist

Kurz gesagt, die modulare Monolith-Architektur ist einfach ein monolithisches System (eines, das nur eine Einsatzeinheit hat), das modular aufgebaut ist. Aber warum sollten Sie sich jemals einem Softwaredesign zuwenden, das als modulares Monolith-Design bezeichnet wird? Was ist der Mehrwert der Modularität des Monolithen?

Die Verwendung einer regulären Monolith-Architektur mit Datensätzen, die untrennbar oder untrennbar miteinander verbunden sind, bringt häufig Probleme mit sich, beispielsweise beim Zugriff auf oder bei der Aktualisierung von Daten. Abhilfe schafft jedoch der modulare monolithische Ansatz, der eine größere Flexibilität bietet, da eine einzelne Softwareanwendung in eine Reihe von Modulen aufgeteilt wird.

Diese Module sind separate, verwaltbare Teile, die unabhängig voneinander entwickelt wurden, aber voneinander erkannt werden können und über Schnittstellen kommunizieren können. Die Module bilden eine Einheit, sind aber leicht austauschbar — um Folgendes sicherzustellen hohe Kohäsion und niedrige Kopplung. Darüber hinaus können einige der Module zu gegebener Zeit herausgenommen werden, was das modulare monolithische Design sehr nützlich und funktionell macht.

Modulare Monolithen werden manchmal Modulithe genannt — der Name unterstreicht ihren modularen Charakter. Um es kurz zu machen: Der modulare Monolith — mit in sich geschlossenen, unabhängigen Modulen — kann als ein Ansatz auf halbem Weg zwischen regulärem Monolith und Microservices betrachtet werden. Es ist perfekt, wenn eine monolithische Architektur Ihr System in die Länge zieht, Sie sich aber bewusst sind, dass Microservices in Zukunft möglicherweise besser zu Ihren Anforderungen passen, wenn Ihr Projekt skaliert wird. Modulithe sind in Bezug auf die Bereitstellung nicht so einfach wie reguläre Monolithen und auch nicht so komplex wie Microservices. Dennoch sind sie modular aufgebaut und haben daher das Potenzial, selbst große Anwendungen zu verwalten.

Zu den weiteren Vorteilen gehören:

  • vereinfachter Einsatz,
  • gute Leistung und Stabilität,
  • einfache Wartung,
  • niedrige Betriebskosten,
  • Eliminierung der Netzwerklatenz

Modernisierung älterer Software mit dem modularen Monolith

Der Übergang zum modularen Monolithen kann auch als eine der Möglichkeiten zur Modernisierung veralteter Software angesehen werden — ein ernstes Problem, mit dem sich viele Unternehmen auseinandersetzen müssen. Die Anhäufung technischer Schulden wirkt sich auf alle Systeme und Prozesse des Unternehmens aus und macht die Führung eines Unternehmens unberechenbarer, entmutigender, schwieriger und kostspieliger.

Um wachsende Unternehmen wirklich erfolgreich zu machen, muss das Problem der technischen Schulden umgehend gelöst werden. Natürlich entscheiden sich viele CTOs, CPOs oder Geschäftsinhaber dafür, Systemupdates wegzulassen, um etwas Geld zu sparen. Gleichzeitig sind ältere Systeme und Anwendungen immer noch in Betrieb, was enorme Kosten verursacht, die leicht vermieden werden könnten.

The cost of legacy systems
Quelle: Bericht über den Stand der Softwaremodernisierung

Die gute Nachricht ist, dass selbst die Folgen jahrelanger Vernachlässigung — in Form veralteter Entwicklungen und schneller Lösungen — beseitigt werden können.

Modularer Monolith gegen regulären Monolith

Das Dilemma zwischen modularem Monolith und regulärem Monolithen ist unter Geschäftsinhabern oder CTOs nicht sehr verbreitet. Das liegt daran, dass der traditionelle monolithische Ansatz, der als veraltet angesehen wird, durch die Microservice-Architektur und nicht durch den Modulith verdrängt wurde.

Der auf Microservices basierende Ansatz steht seit vielen Jahren im Rampenlicht und ist eine der wichtigsten Lösungen für die meisten neuen Projekte. Der erste Schritt hin zu Microservices — und zur Reduzierung der technischen Schulden des Monolithen — sollte eigentlich der modulare Monolith sein. Das liegt daran, dass dieses Modell es Unternehmen ermöglicht, die besten Seiten beider Ansätze — der monolithischen und der zusammensetzbaren — zu nutzen.

Wenn Sie Ihre Monolith-Architektur — die eine Codebasis verwendet und aus voneinander abhängigen Softwarekomponenten besteht — effizienter, flexibler und skalierbarer machen und besser verwalten möchten, ist das modulare monolithische Design möglicherweise genau das, was Sie benötigen.

Die Implementierung des traditionellen monolithischen Ansatzes, bei dem Anwendungen als einzelne Einheiten erstellt werden, kann vor allem in der Anfangsphase des Projekts praktisch sein, da Schritte wie Bereitstellung und Codeverwaltung einfach auf einmal veröffentlicht werden können. Aber wenn Projekte groß werden, ist es in der Regel an der Zeit, zu einer größeren Modularität überzugehen. Und das bedeutet, sich dem Dilemma zwischen modularem Monolith und Microservices zu stellen.

Modularer Monolith im Vergleich zu Microservices

Es wurde viel über die Vorteile der Umstellung von statischen auf zusammensetzbare, kopflose Lösungen gesprochen. Insgesamt macht diese Änderung die Systeme funktionaler, kann aber auch aus geschäftlicher Sicht sehr wichtig sein.

Mikrodienste

Zu den Vorteilen der Verwendung von Microservices gehören:

  • mehr Kontrolle über die Funktionen des Systems zu erlangen,
  • Verbesserung des Anpassbarkeitspotenzials,
  • Steigerung der Leistung und Reduzierung von Ausfallzeiten,
  • Wiederverwendbarkeit des Codes und Kostenreduzierung,
  • größere Fehlertoleranz,
  • macht den Tech-Stack moderner und zukunftssicherer.

Die Umstellung von einer monolithischen auf eine zusammensetzbare Architektur könnte für E-Commerce-Unternehmen ein großer Schritt sein — auf dem Weg zu erfolgreicheren Verkäufen in großem Maßstab. Allerdings ist es nicht für jedes Unternehmen die beste Lösung, einen Monolithen in Microservices aufzuteilen — Dienste, die zwar zusammenarbeiten, aber nur lose miteinander verbunden sind, wobei Frontend und Backend getrennt sind.

Ein Umstieg von einer Monolith- auf eine Composable-Architektur kann eine gute Idee sein, wenn Ihre Anwendung gerade skaliert wird und die Anzahl der Funktionen steigt — aber nicht zu Beginn eines Projekts. Im Allgemeinen können Microservices die richtige Option für mittlere und große Projekte sein — und für Unternehmen, die sie sich leisten können. Der Umstieg auf Microservices, bevor er notwendig ist, kann Ihr Budget vergeblich belasten.

Wenn Sie sich für Microservices entscheiden, müssen Sie die Komplexität des Bereitstellungsprozesses in Kauf nehmen, die schwer zu überwinden sind, was zu einer langsameren Entwicklung und längeren Startzeiten führt. Andere mögliche Probleme sind Probleme mit der Produktleistung (aufgrund des erhöhten Netzwerkverkehrs zwischen Diensten) und die Notwendigkeit, eine viel komplexere Hosting-Konfiguration zu verwenden — alles mit viel Zeit und Geld. Auch bei der Migration von Monolith zu Microservices gibt es noch keinen letzten Schliff — Sie sollten bereit sein, in Zukunft weitere Verbesserungen vorzunehmen, damit Ihr System der Konkurrenz immer einen Schritt voraus ist. Allerdings Eine Änderung an einem Microservice wirkt sich nicht auf andere aus, wodurch das System im Laufe der Zeit einfacher zu navigieren ist als bei modularen Monolithen.

Microservices beinhalten unabhängige Bereitstellungen und bieten ein höheres Skalierbarkeitspotenzial. Wenn Ihr Produkt also wahrscheinlich von diesen Funktionen profitieren wird, ist die Wahl dieser Art von Architektur möglicherweise eine gute Wahl. Denken Sie jedoch immer daran, dass es mehr Zeit in Anspruch nimmt, ein Projekt damit zu beginnen, die Softwareentwicklung anspruchsvoller und die zugrunde liegende Infrastruktur komplexer ist.

Der Modulith-Ansatz

Zweifellos ist der Modulith-Ansatz in vielen Fällen besser geeignet als Microservices, da er eine schnelle Bereitstellung und schnelle Funktionsentwicklung ermöglicht. Außerdem hilft es in der Regel, eine Überlastung durch schwerwiegende Wartungsprobleme zu vermeiden. Darüber hinaus sind modulare Monolithen für ein durchschnittliches Team einfach einfacher zu entwickeln als Microservices.

Im Allgemeinen kann ein modulares Monolithdesign in folgenden Fällen besser geeignet sein:

  • relativ kleine und einfache Projekte,
  • frühe Phasen der Softwareentwicklung,
  • Budgetbeschränkungen,
  • Fälle, in denen eine logische Modultrennung (und weitere Extraktion, z. B. aus Skalierbarkeitsgründen) möglich ist,
  • Projekte, die in Zukunft möglicherweise auf Microservices umgestellt werden.

Wie modularer Monolith hilft — in der Praxis

Letzteres war bei einem Projekt unseres Teams der Fall — es ging um die Entwicklung eines Projektmanagement-Produkts.

Die beteiligten Module (wie Aufgaben und Urlaubsmanagement) wurden nicht als Microservices implementiert. Durch die Wahl der modularen Monolith-Architektur konnte sich das Team darauf konzentrieren, Meilensteine zu erreichen und bestimmte Funktionen zu entwickeln, anstatt zu viel Zeit mit der Konfiguration zu verbringen. Darüber hinaus erhöhte der monolithische Ansatz die Effizienz und die Liefergeschwindigkeit. Die Entscheidung, das Backend nicht in Microservices aufzuteilen, war zu diesem Zeitpunkt von Vorteil. Es blieb jedoch noch Platz, um später auf eine Microservices-basierte Architektur umzusteigen.

Lesen Sie den gesamten Anwendungsfall hier: Wenn Monolith besser ist als Microservices

Der Umstieg auf den modularen Monolithen — die wichtigsten Erkenntnisse

Die Entscheidung, welche Art von Backend-Architektur gewählt werden soll, sollte sorgfältig und weitsichtig sein, da sie für jedes Unternehmen von entscheidender Bedeutung ist. Faktoren wie Anwendungsgröße, Benutzerbasis, erwarteter Traffic, mögliches zukünftiges Wachstum, Teamstruktur, Erfahrung, Budget und Domänenkomplexität sollten alle berücksichtigt werden. Es gibt viele Fälle, in denen die Umstellung auf einen Modulith sehr vorteilhaft ist, z. B. wenn die Wartung der veralteten Architektur zu viel Zeit, Aufmerksamkeit und Geld kostet. Obwohl dieser Prozess eine holprige Fahrt sein kann, lohnt es sich, sich die Mühe zu machen — die Wahrheit verstehen immer mehr Unternehmen.

Natürlich ist jede Veränderung eine Herausforderung und der erste Schritt — auch in eine gute Richtung — kann sehr schwierig sein. Der Abschied von Altsystemen der alten Schule ist jedoch die beste Entscheidung, um Ihr Unternehmen agiler und skalierbarer zu machen. Es gibt keine Zeit zu verlieren.

Haben Sie Probleme mit langsamen Bereitstellungszyklen und Anwendungsausfällen? Möchten Sie mit einer brandneuen Lösung alles anders machen? Wenn Sie daran interessiert sind, mit einem modularen Monolithen weiterzumachen und sicherstellen möchten, dass der Migrationsprozess reibungslos verläuft, kontaktiere Brainhub jetzt.

Frequently Asked Questions

No items found.

Our promise

Every year, Brainhub helps 750,000+ founders, leaders and software engineers make smart tech decisions. We earn that trust by openly sharing our insights based on practical software engineering experience.

Authors

Olga Gierszal
github
IT-Outsourcing-Marktanalyst und Redakteur für Softwaretechnik

Enthusiast für Softwareentwicklung mit 8 Jahren Berufserfahrung in der Technologiebranche. Erfahrung im Outsourcing von Marktanalysen, mit besonderem Schwerpunkt auf Nearshoring. In der Zwischenzeit unser Experte darin, technische, geschäftliche und digitale Themen auf verständliche Weise zu erklären. Autor und Übersetzer nach Feierabend.

Leszek Knoll
github
CEO (Chief Engineering Officer)

Mit über 13 Jahren Berufserfahrung in der Technologiebranche. Technologisch begeistert, geek und Mitbegründer von Brainhub. Kombiniert seine technische Expertise mit Geschäftswissen.

Olga Gierszal
github
IT-Outsourcing-Marktanalyst und Redakteur für Softwaretechnik

Enthusiast für Softwareentwicklung mit 8 Jahren Berufserfahrung in der Technologiebranche. Erfahrung im Outsourcing von Marktanalysen, mit besonderem Schwerpunkt auf Nearshoring. In der Zwischenzeit unser Experte darin, technische, geschäftliche und digitale Themen auf verständliche Weise zu erklären. Autor und Übersetzer nach Feierabend.

Leszek Knoll
github
CEO (Chief Engineering Officer)

Mit über 13 Jahren Berufserfahrung in der Technologiebranche. Technologisch begeistert, geek und Mitbegründer von Brainhub. Kombiniert seine technische Expertise mit Geschäftswissen.

Read next

No items found...

previous article in this collection

It's the first one.

next article in this collection

It's the last one.