Microservices sind ein Architekturstil, bei dem eine Anwendung aus vielen kleinen, unabhängig betreibbaren Diensten besteht statt aus einem großen Block.
Definition
Jeder Microservice bildet eine fachlich abgegrenzte Aufgabe ab, hat eine eigene Datenhaltung und lässt sich unabhängig entwickeln, testen und ausrollen. Die Dienste kommunizieren über definierte Schnittstellen oder Nachrichten. Das Gegenmodell ist der Monolith, bei dem alle Funktionen in einer gemeinsam ausgelieferten Anwendung stecken.
Vorteile
- Teams können unabhängig voneinander liefern, ohne auf einen gemeinsamen Releasetermin zu warten.
- Einzelne Dienste lassen sich gezielt skalieren, statt die gesamte Anwendung zu vergrößern.
- Technologieentscheidungen können pro Dienst getroffen werden.
- Der Ausfall eines Dienstes muss nicht die gesamte Anwendung stoppen.
Der Preis
Aus einem Prozess werden viele. Damit entstehen Netzwerkaufrufe, verteilte Transaktionen, komplexere Fehlerbilder und ein deutlich höherer Betriebsaufwand. Ohne Automatisierung, zentrales Monitoring, durchgängige Protokollierung und ein reifes Deployment-Verfahren wird die Architektur schnell teurer als der Nutzen. Für viele Organisationen ist ein sauber strukturierter Monolith die wirtschaftlichere Wahl.
Wann Microservices sinnvoll sind
Sie lohnen sich, wenn mehrere Teams parallel an einem Produkt arbeiten, wenn einzelne Bereiche stark unterschiedlich skalieren müssen oder wenn Teile eines Altsystems schrittweise abgelöst werden sollen. Als Selbstzweck oder aus Modegründen eingeführt, erzeugen sie vor allem Aufwand.
Abgrenzung
Microservices beschreiben die fachliche Zerlegung. Container und Kubernetes sind Werkzeuge, mit denen sich diese Dienste betreiben lassen, aber kein Ersatz für den Architekturentwurf.
Weiterführende Begriffe
Sie planen ein komplexes IT-Projekt?
SABIC IT unterstützt Unternehmen und öffentliche Organisationen von der Projektinitialisierung bis zum Go-Live, strukturiert, transparent und mit klarem Fokus auf Ergebnisse.
Kostenloses Erstgespräch buchen