Microservices kommen immer häufiger zum Einsatz. Aber was verspricht die Technologie? Führt die Software-Modularisierung zu mehr Agilität? Wann sind Microservices sinnvoll?
Ohne die technische Komplexität dahinter zu erklären, sind Microservices leicht zu verstehen. Sie dienen der Modularisierung von Software und Prozessen. Dadurch werden große Projekte in kleine Einheiten aufgeteilt und können somit gut organisiert und umgesetzt werden. Programme sind so am Ende erweiter- und wartbar, sowie einzelne Komponenten austauschbar. Schon bei der Software-Planung berücksichtigt, ermöglicht die Verwendung von Microservices einen Best-of-Breed Ansatz.
Die wesentliche Eigenschaft von Microservices ist es, dass die jeweiligen Dienste unabhängig voneinander entwickelt und in Betrieb – deployed – genommen werden können. Dabei ist jede Komponente frei in der Wahl der zugrundeliegenden Programmiersprache und Software-Architektur. Szenarien mit unterschiedlichen Komponenten unterschiedlicher Hersteller, die zusammen eine große Software-Lösung bilden, sind damit leicht realisierbar.
Jeder Dienst ist also eigenständig zuständig für genau eine Teilaufgabe und in Bezug auf die eigene Programmlogik nach außen hin isoliert. Damit die Services miteinander kommunizieren können, werden standardisierte Schnittstellen, wie zum Beispiel REST-APIs, eingesetzt. Diese ermöglichen es über Datenaustauschformate wie JSON oder XML Nutzdaten und Informationen von einer an die andere Komponente weiterzugeben, ohne dabei die Architektur der jeweils anderen Komponente kennen zu müssen.
Alle Microservices, die zusammen ein System ausmachen, können auf diese Weise sehr leicht auf getrennten Servern oder gar in getrennten Rechenzentren betrieben werden, da der einzige Schnittpunkt die Schnittstelle darstellt. So kann bei richtiger Planung neben einer horizontalen Skalierung, auch die Ausfallsicherheit erhöht werden.
Die Antwort auf diese Frage kann nicht generalisiert werden. Sie müssen sich dazu unbedingt folgende Fragen stellen: Wie sind Ihre konkreten Ziele, warum wollen Sie Microservices einführen? Was möchten Sie damit erreichen und verbessern?
Ja, Microservices machen Organisationen agil und flexibel. Vor Projektbeginn sollten allerdings alle Aspekte einer Software-Modularisierung genau abgewogen werden. Zusammenfassend lässt sich sagen, dass Microservices besonders bei großen Software-Projekten sinnvoll sind, da kleine Teams verbunden mit geringer Koordination und die Skalierbarkeit entscheidende Vorteile sind. Zuvor müssen stets die Projektziele klar abgesteckt werden.
EIKONA Logistics ist Spezialist für die Entwicklung spezifischer Logistik-Software. Wir haben bereits viele Microservices-Projekte durchgeführt. Gemeinsam mit Ihnen analysieren wir die Ausgangssituation, definieren die Projektaufgaben, erstellen einen Projektplan und legen gemeinsam das Projektbudget fest.
Einen Kommentar schreiben