© Evgeniy Belyaev/Shutterstock.com
Die Lösung aller Microservice-Probleme?

Das Service Mesh


Die Stärke einer Microservices-Architektur ist die lose Kopplung der Module. Und gleichzeitig ist diese auch ein großer Nachteil, denn in jedem Microservice müssen Funktionen wie Monitoring, Tracing und Circuit Breaking erneut gelöst werden. Ein Service Mesh verspricht, viele der Funktionen in die Infrastruktur zu ziehen. So wird es endlich kinderleicht, Microservices zu entwickeln und zu bändigen – oder vielleicht doch nicht?

Microservices bedeuten Unabhängigkeit [1]-[4]. Also legen die Teams los und es entstehen viele Microservices. Nach dem ersten Problem in Produktion wird klar: Alle Microservices brauchen Logging, Monitoring und Tracing. Um Angriffen vorzubeugen, muss die Kommunikation außerdem authentifiziert und verschlüsselt werden. Eine weitere Herausforderung ist es, die Services vor den Effekten von jederzeit möglichen Netzwerk- oder Service-Ausfällen zu schützen.

Bitte keine Microservices Frameworks

Was tun? Für Entwickler liegt es nahe, technische Probleme mit einem Framework zu lösen. Ein Microservices Framework hat jedoch den Nachteil, dass es nur eine bestimmte Programmiersprache unterstützt. Das schränkt die Auswahl der Implementierungstechnologien für die Microservices ein. Damit gibt das Team eine große Stärke der Microservices auf, nämlich die Technologiefreiheit. Diese Freiheit erlaubt es, für jeden Microservice die beste Technologie zu wählen. Wenn ein anderer Technologiestack oder eine Programmiersprache für ein Detailproblem in einem System besser geeignet ist, kann man diese Technologie einfach in dem betreffenden Microservice für diese Detailprobleme einführen. Wenn die Microservices-Bibliothek mit der neuen Programmiersprache oder dem neuen Technologiestack inkompatibel ist, ist dieser Weg leider unmöglich.

Auch für einen einheitlichen Technologiestack ergibt die Technologiefreiheit Vorteile. Jeder Stack veraltet früher oder später. Durch die Technologiefreiheit kann ein Update auf eine neue Version des Technologiestacks oder einer Bibliothek zunächst in einem einzigen Microservice umgesetzt werden, was das Risiko minimiert. So helfen Microservices dabei, ein System risikoarm modern zu halten. Wenn nun das Microservices Framework mit der neuen Version des Technologiestacks oder der Bibliothek inkompatibel ist, wird das Update entweder erschwert oder ist völlig unmöglich.

Unabhängig davon, ob die technischen Herausforderungen mit Microservices Frameworks oder anders gelöst werden, hat die Entscheidung erhebliche Konsequenzen. De...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang