Der Stand von Microservices und Cloud Computing

Laut einer kürzlich durchgeführten O'Reilly-Radarumfrage zum Wachstum des Cloud Computing gab eine der interessanteren Metriken an, dass 52 Prozent der 1.283 Antworten angeben, dass sie Microservices-Konzepte, -Tools oder -Methoden für die Softwareentwicklung verwenden. Von diesen nutzt eine große Minderheit (mehr als 28 Prozent) seit mehr als drei Jahren Microservices.

Dies war der zweitgrößte Cluster unter den Nutzern von Microservices. Die mit mehr als 55 Prozent größte Gruppe nutzt Microservices zwischen einem und drei Jahren. Darüber hinaus sind nur 17 Prozent der Benutzer neu in Microservices, mit einer Akzeptanz und Nutzung von weniger als einem Jahr.

O'Reilly weist auch auf einige Hinweise hin, dass das Interesse an Microservices auf oder nahe dem Höhepunkt sein könnte. Die festgestellte Zerlegung von Service-Frameworks - zumindest bis zu dem in der Microservices-Architektur vorgeschriebenen Granularitätsgrad - erweist sich als schwieriger als erwartet.

Die Verwendung von Microservices ist in Wirklichkeit eine natürliche Weiterentwicklung der Serviceorientierung und der Verwendung von Cloud-basierten Systemen. Die Möglichkeit, kursbezogene Dienste in Microservices zu zerlegen, ist nur eine gute Idee. Sie verfügen über mehr Dienste, die mehr Verwendungszwecke haben, z. B. einen auf den Kurs abgestimmten Service zum Aktualisieren des Inventars, der zum Lesen vorhandener Inventardaten, zum Ändern vorhandener Inventardaten in aktualisierte Inventardaten, zum Überprüfen aktualisierter Inventardaten und zum Schreiben aktualisierter Inventardaten aufgeteilt werden kann zum Lager.

Sobald dieser Makrodienst in vier Mikrodienste unterteilt ist, können Sie diese in diesem Makrodienst verwenden. Oder Sie können sie in anderen Makrodiensten und zusammengesetzten Anwendungen wiederverwenden (verzeihen Sie das stark vereinfachte Beispiel). Ziel ist es, einen Microservice einmal zu schreiben und mehrmals zu verwenden.

Sie sollten Microservices besser so schreiben, dass sie allgemeiner und allgemeiner sind und in vielen verschiedenen Nutzungsmustern angewendet werden können (im Gegensatz zu den obigen Beispielen, die nicht generisch sind und sich nur auf Inventardaten konzentrieren). Hier liegt jedoch die Schwierigkeit.

Entscheidend für die effektive Nutzung von Microservices ist die Möglichkeit, Service-Zerlegungs-Frameworks einzurichten, in denen die maximale Anzahl von Microservices wiederverwendet wird. Diese Fähigkeit war jedoch für die meisten Anwendungsarchitekten schwierig zu entwickeln.

Ich habe in den letzten Jahren einen Großteil meiner Zeit damit verbracht, Microservices-fähige Anwendungsdesigns durchzuarbeiten und festzustellen, dass die meisten von ihnen nicht über die erforderliche Planung verfügen, um Microservices vollständig nutzen zu können. Ich habe eine Vielzahl feinkörniger Dienste gesehen, die einmal geschrieben und einmal genutzt wurden, wobei der Hauptvorteil von Microservices fehlt: die Wiederverwendung von gehärteten und getesteten kleinen Diensten.

Wie aus der Umfrage hervorgeht, stellen wir fest, dass die ordnungsgemäße Zerlegung von Diensten in Microservices - und die Serviceorientierung im Allgemeinen - für die meisten Anwendungsentwickler eine zu weit gehende Brücke darstellt. Die einzige Lösung besteht darin, eine Ausbildung zu erhalten und zu verstehen, dass dies mehr Kunst als Wissenschaft ist. Vielleicht können wir dann am Stand vorbeischieben.