Service Mesh

Wie Teams Kommunikation zwischen vielen Services zentral absichern, beobachten und steuern – ohne Schutzlogik in jeden Dienst zu kopieren.

Eine dedizierte Infrastrukturschicht, die die Kommunikation zwischen Microservices übernimmt – inklusive Load Balancing, Verschlüsselung, Observability und Traffic-Management.

Experte2 Min Lesezeit

Erklärung starten

Auf einen Blick

3 Punkte

  1. Übernimmt Netzwerkkommunikation zwischen Services als separate Schicht
  2. Sidecar-Proxy-Muster: Jeder Service bekommt einen eigenen Proxy (z. B. Envoy)
  3. Bietet Observability, mTLS-Verschlüsselung, Retries und Circuit Breaking out-of-the-box

Sofortantwort

Service Mesh einfach erklärt

Infrastrukturschicht für sichere, beobachtbare Kommunikation zwischen Microservices.

Kurz gesagt
Übernimmt Netzwerkkommunikation zwischen Services als separate Schicht
Typischer Einsatz
Zero-Trust-Netzwerk, Traffic Management, Debugging verteilter Systeme
Wichtig zu wissen
Bietet Observability, mTLS-Verschlüsselung, Retries und Circuit Breaking out-of-the-box

Service Mesh im Überblick

In einer Microservices-Architektur kommunizieren Dutzende oder Hunderte Services miteinander. Jede Verbindung braucht Retry-Logik, Timeouts, Verschlüsselung und Monitoring. Diese Logik in jeden Service einzeln einzubauen ist fehleranfällig und aufwändig. Ein Service Mesh löst das, indem es diese Querschnittsaufgaben aus dem Anwendungscode herausnimmt und in eine eigene Infrastrukturschicht verlagert.

Das Kernprinzip ist das Sidecar-Pattern: Neben jedem Service-Container läuft ein kleiner Proxy-Container (meist Envoy). Dieser Proxy fängt allen ein- und ausgehenden Traffic ab und kümmert sich um Verschlüsselung, Load Balancing, Retries und Telemetrie – ohne dass der Service-Code angepasst werden muss.

Data Plane vs. Control Plane:

EbeneAufgabeBeispiel
Data PlaneVerarbeitet tatsächlichen TrafficEnvoy-Proxies
Control PlaneKonfiguriert und überwacht die ProxiesIstio Pilot

Technisch betrachtet

Kernfunktionen

  • mTLS: Gegenseitige TLS-Authentifizierung zwischen allen Services – kein Service kann sich als ein anderer ausgeben
  • Circuit Breaking: Wenn ein Service überlastet ist, werden Anfragen automatisch abgewiesen statt zu warten
  • Retries & Timeouts: Konfigurierbar pro Route, ohne Code-Änderungen
  • Distributed Tracing: Jede Anfrage bekommt eine Trace-ID, die durch alle Services weitergegeben wird

Typische Istio-Konfiguration

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: llm-service
spec:
  http:
  - route:
    - destination:
        host: llm-service
        subset: v2
      weight: 10   # 10% Canary Traffic
    - destination:
        host: llm-service
        subset: v1
      weight: 90

Schritt für Schritt

Ein Service Mesh mit klarem Betriebsnutzen einführen

Ein Mesh lohnt sich erst, wenn wiederkehrende Netzwerkthemen über viele Services hinweg den zusätzlichen Plattformaufwand rechtfertigen.

  1. Kommunikationsprobleme erfassen

    01

    Mache sichtbar, welche Verbindungen, Sicherheitsanforderungen und Ausfälle in der Service-Landschaft wirklich relevant sind.

    Service A → Service B | Identität | Latenz | Fehlerbild
  2. Gemeinsame Verkehrsregeln definieren

    02

    Lege Identität, Verschlüsselung, Zeitlimits, Wiederholungen und Regeln für Ausnahmen bewusst fest.

    Policy → erlaubter Traffic → Timeout → Retry-Grenze
  3. Schrittweise in kritischen Pfaden starten

    03

    Beginne mit einem überschaubaren Servicebereich und validiere Sicherheit, Latenz und Betriebsabläufe.

    Pilot → Messung → Anpassung → nächster Bereich
  4. Telemetrie handlungsfähig machen

    04

    Metriken und Traces sollen konkrete Fragen beantworten: Wo scheitert eine Anfrage und wer muss reagieren?

    Trace → Dienstkette → Fehlerpunkt → Verantwortlichkeit
  5. Policies und Ausnahmen pflegen

    05

    Neue Services, Abhängigkeiten und Releases ändern die Verkehrslandschaft und erfordern wiederkehrende Reviews.

    Änderung → Policy-Review → Test → Freigabe

Konkretes Beispiel

Beispiel: Mehrere Dienste für eine Bestellplattform

Bestellung, Bestand, Zahlung und Benachrichtigung kommunizieren über interne Netzwerke.

Betriebsproblem

Das Team möchte nachvollziehen, welche Dienstkette eine Verzögerung verursacht, und interne Kommunikation einheitlich absichern.

Gemeinsame Infrastruktur

Identitäten für Dienste, verschlüsselte Verbindungen, Tracing über die Anfrage und zentrale Regeln für Timeouts sowie kontrollierte Traffic-Änderungen.

Ein Service Mesh bündelt Querschnittsaufgaben – die fachliche Verantwortung und gute Service-Schnittstellen bleiben dennoch im Anwendungsteam.

Einordnung

Vorteile und Grenzen

Das spricht dafür

  • Einheitliche Sicherheit: Identität und Verschlüsselung können über viele Service-Verbindungen konsistent geregelt werden.
  • Mehr Durchblick: Traces und Metriken machen verteilte Anfragewege besser nachvollziehbar.
  • Kontrollierter Verkehr: Timeouts, Retries und Rollouts lassen sich zentraler und einheitlicher steuern.

Das solltest du beachten

  • Hoher Plattformaufwand: Installation, Updates und Fehlersuche der Infrastruktur brauchen eigenes Know-how.
  • Zusätzliche Latenz und Komplexität: Proxies und Policies sind nicht kostenlos und müssen beobachtet werden.
  • Nicht für kleine Landschaften: Wenige Services profitieren oft stärker von einfachen, gut gepflegten Standards.
Vertiefung · für Fortgeschrittene

Service-Kommunikation mit Mesh

Das Mesh legt eine kontrollierte Infrastrukturspur neben die fachlichen Service-Schnittstellen.

Wissenskarte

Eine interne Anfrage erhält Identität, Regeln und Telemetrie entlang ihres Weges.

Das Mesh zentralisiert Netzwerkthemen, damit Services sich stärker auf fachliche Verantwortung konzentrieren können. Service-Verbindung gliedert sich in: Workload-Identität, mTLS, Proxy / Data Plane, Traffic Policy, Tracing, Control Plane.

01Einsatzbereiche

Wann ist Service Mesh sinnvoll?

Geeignet für

  • Zero-Trust-NetzwerkAutomatische mTLS-Verschlüsselung zwischen allen Services ohne Code-Änderungen
  • Traffic ManagementCanary Deployments und A/B-Tests auf Netzwerkebene steuern
  • Debugging verteilter SystemeDistributed Tracing über alle Service-Calls hinweg ohne Instrumentierung im Code

↑ Inhalt

02Werkzeuge

Womit Service Mesh umgesetzt wird

↑ Inhalt

Merksatz

Ein Service Mesh ist wie ein Postamt zwischen Abteilungen eines Unternehmens

Jede Abteilung gibt ihre Briefe ab, und das Postamt kümmert sich um Zustellung, Nachverfolgung, Verschlüsselung und Fehlermeldungen – ohne dass die Abteilungen selbst wissen müssen, wie das alles funktioniert.

  1. Übernimmt Netzwerkkommunikation zwischen Services als separate Schicht
  2. Sidecar-Proxy-Muster: Jeder Service bekommt einen eigenen Proxy (z. B. Envoy)
  3. Bietet Observability, mTLS-Verschlüsselung, Retries und Circuit Breaking out-of-the-box

04Redaktion

Herkunft und Stand

Redaktion und Aktualität

Ebenex RedaktionRedaktion

Veröffentlicht
Aktualisiert

Dieses Feld entwickelt sich schnell. Oben stehen Veröffentlichung und letzte Änderung; ein Prüfdatum kommt dazu, sobald die Erklärung nach ihrer letzten Änderung geprüft wurde.

↑ Inhalt

05FAQ

Häufige Fragen zu Service Mesh

Brauche ich ein Service Mesh?

Erst ab einer gewissen Komplexität sinnvoll: viele Services, strenge Sicherheitsanforderungen oder Debugging-Probleme in verteilten Systemen. Für kleine Setups mit 3-5 Services ist der Overhead meist nicht gerechtfertigt.

Was ist der Unterschied zwischen Service Mesh und API Gateway?

Ein API Gateway sitzt am Rand (Nord-Süd-Traffic: extern zu intern), ein Service Mesh regelt die interne Kommunikation (Ost-West-Traffic: Service zu Service). Beide ergänzen sich.

Was ist ein Sidecar-Proxy?

Ein kleiner Proxy-Container (meist Envoy), der neben jedem Service-Container läuft und dessen gesamten Netzwerkverkehr abfängt. Der Service selbst merkt davon nichts – er kommuniziert wie gewohnt, der Sidecar übernimmt den Rest.

↑ Inhalt

06Weiterlernen

Was möchtest du als Nächstes verstehen?

  • Grundlage nachholen

    Kubernetes

    Plattform zur Automatisierung von Container-Anwendungen.

  • Technisch vertiefen

    Load Balancing

    Eingehende Anfragen werden auf mehrere Server verteilt, um Überlastung zu vermeiden.

↑ Inhalt