Der servicebasierte Architekturstil: Eine flexible Alternative zu Microservices

22.09.2023

In diesem Teil unserer Blog-Serie über Softwarearchitekturstile schauen wir uns den servicebasierte Architekturstil genauer an. Eine prägnante Zusammenfassung dieses Stils finden Sie am Ende als Bild.

Was der servicebasierte Architekturstil kann

Der servicebasierte Architekturstil hat sich als eine der vielseitigsten und flexibelsten architektonischen Lösungen etabliert. Als Hybrid des Microservices-Architekturstils bietet er eine Alternative, bei der Dienste Teile der gesamten Applikation abdecken. Im Vergleich zu Microservices, bei denen jeder Service eine spezifische Aufgabe hat, ermöglicht der servicebasierte Ansatz eine größere Abdeckung innerhalb eines einzelnen Dienstes. Dieser Blogpost beleuchtet die Vor- und Nachteile des servicebasierten Architekturstils und seine Einsatzgebiete.

Servicebasierte Architektur im Detail: Im servicebasierten Architekturstil werden Aufgaben wie Bestellungsabwicklung, Erstellung von Bestell-IDs, Zahlungsabwicklung und Aktualisierung des Warenwirtschaftssystems von einem einzigen Domainservice, beispielsweise dem OrderService, übernommen. In einer Microservice-Architektur erforderte dies mehrere separate Dienste. Als Benutzerschnittstelle fungiert in der Regel ein API-Gateway oder ein Load Balancer. Je nach Anforderungen werden die Dienste unterschiedlich unter den Benutzerschnittstellen gruppiert. Domainservices nutzen oft eine monolithische Datenbank, können jedoch auch eine eigene Datenbank besitzen. Bei Microservices hingegen sollte eine monolithische Datenbank vermieden werden. Die Bereitstellung eines Domainservices erfolgt unabhängig vom Rest der Applikation, was eine gute Bereitstellbarkeit und einfacheres Testing aufgrund der losen Kopplung ermöglicht.

Einsatzgebiete des servicebasierten Architekturstils: Der servicebasierte Architekturstil eignet sich besonders für Teams oder Projekte, die den Domain-Driven Design-Ansatz verfolgen. Darüber hinaus ist er eine gute Wahl für Businessapplikationen, da er schnelle Änderungen ermöglicht, eine gute Testbarkeit durch die Aufteilung in Domänen bietet und häufige Deployments unterstützt. Dadurch verkürzt sich die Time-to-Market, was gerade in agilen Umgebungen von großem Vorteil ist. Darüber hinaus ist der servicebasierte Architekturstil die einfachste und kosteneffektivste Option für verteilte Architekturen.

Einschränkungen des servicebasierten Architekturstils: Während der servicebasierte Architekturstil zahlreiche Vorteile bietet, hat er auch einige Nachteile. Die Elastizität und Skalierbarkeit ist zwar möglich, jedoch wird bei der Replikation mehr Funktionalität repliziert als möglicherweise benötigt wird. Dies kann zu ineffizientem Ressourceneinsatz führen. Im Vergleich dazu haben Microservices den Vorteil, dass sie diese Nachteile nicht aufweisen. Zudem ist der servicebasierte Architekturstil weniger effizient in Bezug auf Rechenressourcen und -kosten im Vergleich zu Microservices.

Fazit

Der servicebasierte Architekturstil bietet eine flexible Alternative zu Microservices, die sich besonders für Teams oder Projekte eignet, die den Domain-Driven Design-Ansatz verfolgen oder Businessapplikationen entwickeln. Er ermöglicht schnelle Änderungen, gute Testbarkeit, häufige Deployments und eine schnelle Time-to-Market. Allerdings sollte beachtet werden, dass die Skalierbarkeit und Ressourceneffizienz im Vergleich zu Microservices eingeschränkt sein kann. Letztendlich hängt die Wahl des Architekturstils von den spezifischen Anforderungen und Zielen eines Projekts ab.

Zusammenfassung

Die wichtigsten Merkmale dieses Stils haben wir für Sie kurz und knapp als Bild zusammengefasst.

Disclaimer: Der Architektur-Spicker basiert zu großen Teilen auf dem Buch Handbuch moderner Software-Architektur von O’Reilly. Für tiefergehende Informationen empfehlen wir dieses Buch zu kaufen.

Zurück zur Übersicht

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*Pflichtfelder

*