Microservices sind eine Bauweise, bei der eine Anwendung aus vielen kleinen, eigenständigen Diensten besteht. Jeder Dienst erfüllt eine Aufgabe, hat oft eine eigene Datenbank und spricht mit den anderen über Schnittstellen.
- Microservices
Eine Softwarearchitektur aus getrennt entwickelten und betriebenen Diensten, die über das Netz zusammenarbeiten.
Beispiel: „Beim Versandhändler sind Suche, Warenkorb und Zahlung eigene Microservices, jedes Team spielt seinen Dienst unabhängig aus.“Abgrenzung zum Monolith: Dort steckt alles in einem Programm. Bei Microservices ist jede Aufgabe ein eigenes Programm.
Verwandt: Micro-Frontend, das denselben Gedanken auf die Oberfläche überträgt.
Was Microservices bringen
Unabhängigkeit. Jedes Team entwickelt, testet und liefert seinen Dienst in eigenem Takt aus, auch in einer eigenen Sprache. Fällt ein Dienst aus, läuft der Rest weiter, und ein Dienst unter hoher Last lässt sich allein vervielfachen.
Bekannt geworden ist der Ansatz durch Unternehmen wie Netflix und Amazon, die Hunderte Teams an einer Plattform arbeiten lassen.
Was Microservices kosten
Betrieb und Abstimmung. Aus Funktionsaufrufen werden Anfragen über das Netz, die langsam sein oder ausfallen können. Jeder Dienst braucht Deployment, Überwachung und Protokolle, meist in Containern mit Docker und einer Plattform wie Kubernetes, oft mit einem API-Gateway davor.
Daten, die früher in einer Datenbank lagen, verteilen sich auf viele, und eine Auswertung über alle wird aufwendig.
Für wen Microservices passen
Für große Organisationen mit vielen Teams und Teilen, die sehr unterschiedlich belastet werden. Für eine Website oder eine Webanwendung eines Mittelständlers ist der Aufwand fast immer größer als der Nutzen; ein sauber gegliederter Monolith trägt dort weit.