Definition „Mikrodienste“ Was sind Microservices?

Autor / Redakteur: il1411 / Stephan Augsten

Unter Microservices versteht man Dienste, die jeweils eine kleine Aufgabe erfüllen. Die Prozesse lassen sich wie Module so miteinander verbinden, dass sich daraus eine beliebig komplexe Software ergibt.

Anbieter zum Thema

Jeder Microservice stellt eine gewisse Funktion zur Verfügung, gemeinsam ergeben sie eine Anwendung, deren Dienste sich recht einfach austauschen lassen.
Jeder Microservice stellt eine gewisse Funktion zur Verfügung, gemeinsam ergeben sie eine Anwendung, deren Dienste sich recht einfach austauschen lassen.
(Bild gemeinfrei: Ram Kumar - Pexels.com)

Die Idee hinter dem Microservice-Architekturmuster entspricht weitestgehend der Unix-Philosophie: „Do one Thing and do it well“. Microservices zeichnen sich dadurch aus, dass sie sich leicht ersetzen lassen. Somit kann ein solcher Dienst vom zuständigen Entwicklerteam innerhalb kurzer Zeit ersetzt bzw. neu erstellt werden.

Jeder Microservice implementiert genau eine Funktion, wobei der Nutzen für den Anwender im Mittelpunkt steht. Microservices besitzen außerdem die Eigenschaft, dass sie ausschließlich Teams entwickelt werden. Das Team kann auch für die Entwicklung mehrerer Mikrodienste verantwortlich sein – wenn diese den fachlich zusammenhängen.

Von anderen Diensten und Prozessen sind Microservices im Übrigen isoliert. Diese Eigenschaft ermöglicht es, dass im Prinzip jeder Mikrodienst eine andere Programmiersprache oder Datenbank nutzen kann. Wie alle anderen Services müssen auch Mikrodienste sicher sein; Verfahren wie Monitoring oder Logging ermöglichen eine Überwachung, während Methoden der Authentifizierung und Autorisierung die Daten vor unerlaubten Zugriffen sichern.

Die Elemente einer Microservice-Architektur

Software, die aus einzelnen Mikrodiensten aufgebaut ist, benötigt viel Infrastruktur, wobei auch diese durch Microservices realisiert wird. Um die Lastverteilung externer HTTP-Anfragen zu steuern, werden sogenannte Load Balancer verwendet. Die Auslieferung statischer Inhalte steuert ein Content Delivery Network. Man unterscheidet Dienste, die für die Geschäftsanforderungen zuständig sind, von Plattform- und Infrastruktur-Services. Die Infrastruktur-und Plattform-Dienste übernehmen zentrale Aufgaben wie das Monitoring oder Logging.

Die Vorteile von Microservice-Architekturen

Mikrodienste lassen sich voneinander unabhängig entwickeln, und folglich können auch die dafür zuständigen Teams voneinander unabhängig arbeiten. Auf diese Weise lässt sich der Softwareentwicklungsprozess beschleunigen - ohne ein hohes Maß an Koordination und Kommunikation zu erzeugen.

Ein weiterer Vorteil von Mikrodiensten ist deren Größe. Weil sie so klein sind, können sie in relativ kurzer Zeit neu erstellt und ersetzt werden. Ihre geringe Größe macht Mikroservices zudem leichter wartbar, wobei die Funktionalität des Gesamtsystems stets erhalten bleibt.

Weiterhin ist es möglich, Systeme, die auf Microservices basieren, gegen den Ausfall einzelner Dienste abzusichern – eine Eigenschaft, die für ein äußerst robustes Gesamtsystem sorgt. Und nicht zuletzt ist von Vorteil, dass sich jeder Dienst mit einer anderen Technologie implementieren lässt. Dadurch wird das Experimentieren mit neuen Technologien deutlich vereinfacht.

(ID:44840246)