Ein Angebot von

Microservices – Neue Geheimwaffe oder SOA-Remake?

| Autor / Redakteur: Georg Lauer * / Stephan Augsten

Mit Microservices werden Anwendungen in möglichst kleine, selbständige Dienste aufgesplittet, was eine höhere Flexibilität ermöglicht.
Mit Microservices werden Anwendungen in möglichst kleine, selbständige Dienste aufgesplittet, was eine höhere Flexibilität ermöglicht. (Bild: bavarian_web_solutions - Pixabay.com / CC0)

Microservices – der Programmieransatz wird als Geheimwaffe gehandelt, die Software schneller und flexibler macht. Kleine Codeblöcke – Microservices – statt komplexer Anwendungssilos klingt gut. Doch wie? Und … hatten wir das nicht schon mal?

Es ist das Leid vieler Software-Entwickler rund um den Globus: Monatelang tüfteln sie Überstunden schiebend an neuen Software-Features, um ein von der Unternehmensführung vorgegebenes, zumeist unrealistisches Datum einzuhalten. Doch zum Release stellt sich dann heraus, dass das Tool nicht mit anderen Systemkomponenten kompatibel ist oder – und das ist meist noch schlimmer – gar nicht mehr gebraucht wird.

Den schwarzen Peter bekommen sie zu allem Überfluss auch noch in die Schuhe geschoben: entweder hätten sie an der Realität vorbei entwickelt, sich zu wenig mit den Kollegen aus den Fachabteilungen abgestimmt oder zu langsam gearbeitet. Immerhin sind die neuen Software-Versionen meistens einigermaßen sicher, da sie ausgiebig und umfangreich getestet wurden. Doch was nützt das, wenn sie nicht genutzt werden? Agil ist was anderes.

Doch es geht auch anders. Das zumindest versprechen Microservices: schnellere und flexiblere Software-Entwicklung. Einige sehr erfolgreiche Unternehmen wie Amazon, Google, Twitter, Netflix und eBay setzen auf Microservices – und auch der deutsche Otto-Versand schwört auf agile Software-Entwicklung mit Microservices. Was also steckt dahinter?

Die meinst recht kleinen, unabhängig einsetzbaren Komponenten bilden zusammen eine komplexe Anwendungssoftware, die untereinander Message-basiert mit sprachunabhängigen Programmierschnittstellen kommunizieren. Dabei versuchen die Entwickler, Microservices weitgehend zu entkoppeln und auf nur jeweils eine Funktion zu beschränken. Eine entsprechende Architektur besteht aus weiterentwickelbaren Software-Systemen, die sich in nach ihrer Funktion angeordneten Microservices gliedern lässt und hoch automatisiert ist.

Kurz die wichtigsten Charakteristika von Microservices:

  • klein
  • Messaging-fähig
  • begrenzt auf einen Context
  • autonom entwickelt
  • unabhängig einsetzbar
  • dezentralisiert erstellt, getestet und freigegeben mit automatischen Prozessen

Gemeinsamkeiten und Unterschiede zu SOA

Diese Eigenschaften werden den ein oder anderen an SOA (Service-orientierte Architektur) erinnern – und das zu Recht. Der Grundgedanke und das Konstrukt sind im Wesentlichen die gleichen. Beides sind dienstorientierte Architekturen. Alter Wein in neuen Schläuchen also? Nicht ganz.

In einer Service-orientierten Architektur bieten die Komponenten mit einem Kommunikationsprotokoll anderen Komponenten Dienste über ein Netzwerk an. Sie fungieren also als Anbieter oder Konsument. Ein Enterprise Service Bus (ESB) sorgt für Verbindungen zwischen ihnen.

In einer Microservices Architektur kommunizieren kleine, unabhängige Prozesse über eine Sprach-unabhängige APIs miteinander. Diese Unabhängigkeit macht den wesentlichen Unterschied.

Beiden Ansätzen ist gemein, dass sie dezentral, stark serviceorientiert und zielgerichtet sind. So lassen sich neue Dienste sehr schnell umsetzen. Microservices sind kein Selbstzweck, sondern sind an einem klaren Ziel – einem bestimmten Dienst – ausgerichtet.

Dieser Service stellt sich nach außen über ein Interface dar, das seine Features und Daten zugreifbar macht. Es bietet sich also an, APIs zu standardisieren, etwa als http, oder sich auf eine Interface-Description-Sprache (Swagger, WADL, Blueprint, RAML, etc.) festzulegen.

Inhalt des Artikels:

Kommentar zu diesem Artikel abgeben

Schreiben Sie uns hier Ihre Meinung ...
(nicht registrierter User)

Kommentar abschicken
copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45043363 / Agilität)