Kleinere Dienste sind wohl das, was die meisten Leute immer noch für das einzige Microservices-Muster halten. Eine detaillierte Serviceorientierte Architektur (SOA) ist eben der ausschlaggebende Punkt von Microservices. Es reduziert die bekannten Probleme mit herkömmlichen SOA, wendet aber die gleichen Prinzipien an indem es das Design in kleinere, feinkörnigere Stücke zerlegen.  Vielen ist dieser Architekturstil von einem seiner bekanntesten Nutzern Netflix bekannt.

Detaillierte Serviceorientierte Architektur
Detaillierte Serviceorientierte Architektur

Das Problem

Eine detaillierte Serviceorientierte Architektur bringt allerdings auch eine Reihe von Problemen mit sich. An Problemstellen, an denen Sie früher einen einzigen Netzwerkanruf getätigt haben, tätigen Sie jetzt zehn oder sogar Hunderte von Anrufen. Wo Sie früher eine kleine Anzahl von Dingen verwaltet haben, verwalten Sie jetzt Hunderte oder Tausende oder mehr. Ihre herkömmlichen Management-Tools arbeiten nicht länger so gut für Sie wie sie es immer taten. Dies ist ineffizient.

Die Lösung

Trotz einiger möglicher Probleme sollten Sie sich allerdings nicht in der monolithischen Natur der traditionellen Architektur zurückhalten lassen. Unterteilen Sie Ihre Dienste in entkoppelte Stücke, welche eine kleine Aufgabe zu erfüllen haben – die Microservices. Dies verringert den Aufwand jeder gegebenen Änderung so, dass diese einfacher und schneller zu bewältigen ist.

MuleSoft befürwortet einen Ansatz, der als „API-led Connectivity“ bezeichnet wird. Einfach gesagt, kann dies als ein mehrschichtiger Ansatz für das API-Design  angesehen werden. Durch das Erstellen von Schichten von Microservices, die nach Zweck gruppiert sind (Systeme, Prozesse oder Domänenmodelle und Erfahrung), können Sie die komplexe Architektur einfacher verwalten. Dieser Ansatz ist gut auf detaillierte SOA abgestimmt und bietet die Möglichkeit,  Microservices strukturiert zu visualisieren und zu verwalten.

Wo eine gewöhnliche detaillierte SOA eine große Anzahl von Dingen verwaltet, verwalten Sie mit geschichteten APIs mehrere Schichten einer großen Anzahl von kleinen Dingen. Dies ermöglicht Ihnen, Ihre Flexibilität zu erhöhen und Ihre Architektur so zu strukturieren, dass die Probleme gut voneinander getrennt sind. So müssen Sie dank des Layering eben doch nur einen anstelle von zehn oder hundert Anrufen tätigen. Die bessere Visualisierung kann Ihnen dabei helfen, Ihre herkömmlichen Management-Tools auch für Ihre neue Architektur zu nutzen.