16.10.2021
In diesem Blogbeitrag möchte ich einmal auf die Frage eingehen, was sind Microservices eigentlich sind und warum Sie in modernen Softwaresystemen nicht mehr wegzudenken sind.
Dieser Artikel erhebt keinen Anspruch auf Vollständigkeit und soll lediglich einen ersten Überblick, sowie die meiner Meinung nach wichtigsten Vor- und Nachteile der Microservice Architektur aufzeigen.
Vor gar nicht allzu langer Zeit wurden Softwaresysteme monolithisch entwickelt. Das gesamte Softwaresystem bestand aus einer Code-Basis. Wenn beispielsweise eine kleine Funktionalität des Systems ausgetauscht oder erweitert werden sollte, musste das gesamte System neu ausgerollt werden. Auch musste jeder Softwareentwickler die gesamte Code-Basis des Systems mehr oder weniger kennen.
Da von Zeit zu Zeit die Softwaresysteme immer größer und komplexer geworden sind, wurde eine neue Softwarearchitektur benötigt. Die Microservice-Architektur war geboren.
Bei der Microservice-Architektur wird das gesamte Softwaresystem in kleinere Bestandteile zerlegt, sodass die einzelnen Dienste (Microservices) unabhängig ihre Arbeit verrichten können. Einzelne Microservices sind voneinander komplett entkoppelt. Dies erlaubt einen modularen Aufbau von größeren Softwaresystemen.
Die Kommunikation zwischen den einzelnen Microservices erfolgt meist nach einem zuvor definierten plattformunabhängigen Austausch Format. Dies ist in den mir bekannten Microservice-Architekturen vorwiegend REST und JSON.
Microservices entsprechend weitestgehend der UNIX-Philosophie („Erledige nur eine Aufgabe und erledige sie gut“)
Fast jedes neues Softwareprojekt wird heutzutage in der Microservice-Architektur implementiert.
Folgende Punkte sprechen für den Einsatz der Microservice Architektur:
Wie alles im Leben bringt der Einsatz von Microservices jedoch nicht nur Vorteile mit sich, sondern kann auch Nachteile aufweisen, die jedoch minimiert werden können.