Читать книгу Vom Monolithen zu Microservices - Sam Newman - Страница 24
Vorteile von Monolithen
ОглавлениеDer Ein-Prozess-Monolith hat aber auch diverse Vorteile. Seine deutlich einfachere Deployment-Struktur kann viele der Fallstricke vermeiden, die es bei verteilten Systemen gibt. Die Workflows der Entwickler können viel einfacher sein, Monitoring, Fehlerbehebung und andere Aktivitäten wie End-to-End-Tests lassen sich ebenfalls stark vereinfachen.
Monolithen können ein Wiederverwenden von Code innerhalb des Monolithen selbst erleichtern. Wollen wir Code in einem verteilten System wiederverwenden, müssen wir uns entscheiden, ob wir den Code kopieren, in Bibliotheken auslagern oder seine Funktionalität als Service bereitstellen wollen. Bei einem Monolithen sind unsere Entscheidungen einfacher, und die Menschen mögen diese Einfachheit – der ganze Code ist da, also nutzen wir ihn!
Leider sind viele der Ansicht, dass Monolithen irgendwie zu vermeiden seien – als etwas, das inhärent problematisch ist. Ich habe viele Menschen kennengelernt, für die der Begriff Monolith ein Synonym für Altlast ist. Das ist ein Problem. Eine monolithische Architektur ist eine Wahl, die durchaus valide ist. Sie mag nicht in allen Situationen die richtige Wahl sein, aber das gilt auch für Microservices – eine Wahl ist sie auf jeden Fall. Verrennen wir uns mit einer Einstellung, bei der wir den Monolithen schon aus Prinzip schlechtmachen, wenn es um die Überlegung geht, wie wir unsere Software ausliefern, kann es sein, dass wir für uns und die Anwender unserer Software nicht das Richtige tun. Wir werden die Vor- und Nachteile von Monolithen und Microservices in Kapitel 3 weiter untersuchen und Werkzeuge vorstellen, die Ihnen dabei helfen, herauszufinden, was in Ihrer Situation richtig ist.