Ordnung ins Service Mesh bringen

Microservices lösen große, monolithische Systeme immer mehr ab. Allerdings wird die Vielzahl von Services schnell Unübersichtlich. Da gibt es Hilfe.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht
Verteilte Systeme / II Ordnung im Service Mesh
Lesezeit: 17 Min.
Von
  • Michael Hofmann
Inhaltsverzeichnis

In der Microservices-Theorie ist es problemlos möglich, existierende Services vollständig durch neue zu ersetzen. Entwickler möchten die veralteten Schnittstellen zügig aus dem Service entfernen, um keinen Code warten zu müssen, der sich eigentlich löschen ließe. In der Praxis ist das aber oft nicht möglich, da die aufrufenden Services noch Abhängigkeiten zu diesen alten Schnittstellen haben.

Wenn der Serviceaufrufer einem anderen Projekt oder sogar einer anderen Firma zugeordnet ist, existieren in der Produktion mehrere Versionen eines Service parallel. Die hohe Anzahl individueller Services zusammen mit dem Parallelbetrieb von unterschiedlichen Versionen eines Service treibt die Zahl der zu pflegenden Microservices und ihrer Abhängigkeiten untereinander in die Höhe. Das dabei entstehende Geflecht wird als Service Mesh bezeichnet. Früher oder später können die Entwickler den Servicedschungel ohne ein geeignetes Werkzeug nicht mehr verwalten.

Werkzeuge wie Istio und Linkerd sollen helfen, die Komplexität von Service Meshes in den Griff zu kriegen. Sie überwachen und steuern die Kommunikation zwischen den einzelnen Diensten, setzen Sicherheitsregeln durch, erkennen und beheben Fehlfunktionen und liefern Entwicklern Informationen über den Zustand des Service Mesh. Dazu stellen sie jedem Service einen Envoy Proxy zu Seite, über den die Kommunikation von und zu diesem Service abgewickelt wird.

Das war die Leseprobe unseres heise-Plus-Artikels "Ordnung ins Service Mesh bringen". Mit einem heise-Plus-Abo können sie den ganzen Artikel lesen und anhören.