Wir haben 30 Microservices in unserem Cluster. Jeder benötigt TLS, Retry-Logik, Circuit Breaking, Distributed Tracing. Das in jedem Service einzeln implementieren? Istio verspricht eine Lösung auf Infrastrukturebene.
Was ist Service Mesh¶
Service Mesh ist eine Infrastrukturschicht, die die Kommunikation zwischen Services verwaltet. Istio verwendet Envoy von Lyft als Sidecar Proxy. Envoy fängt den gesamten Netzwerkverkehr des Pods ab und wendet die Konfiguration der Istio Control Plane an.
Mutual TLS — Verschlüsselung ohne Aufwand¶
Mit Istio erhalten Sie Mutual TLS zwischen allen Services „kostenlos”. Istio generiert automatisch Zertifikate für jeden Pod, rotiert sie und stellt verschlüsselte und authentifizierte Kommunikation sicher.
Traffic Management¶
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: api-server
spec:
hosts:
- api-server
http:
- route:
- destination:
host: api-server
subset: v1
weight: 95
- destination:
host: api-server
subset: v2
weight: 5
- Canary Deployment — 5 % des Traffics auf die neue Version
- Circuit Breaking — nicht funktionierende Services automatisch abkoppeln
- Fault Injection — Ausfälle für Chaos Testing simulieren
Resource Overhead¶
Jeder Pod erhält einen Envoy Sidecar, ~50 MB RAM und ~3 ms zusätzliche Latenz. Bei 100 Pods sind das 5 GB RAM. Mixer ist der Engpass — er verarbeitet Telemetrie synchron.
Fazit¶
Istio ist Version 0.4 — Pre-Release. Wir haben es auf Staging deployed. Für die Produktion warten wir auf das stabile 1.0 Release, geplant für Sommer 2018.
Service Mesh ist die Zukunft der Microservices¶
Istio löst reale Probleme — Mutual TLS, Canary Deployments, Observability ohne Codeänderungen. Wir verfolgen die Entwicklung in Richtung 1.0 mit Begeisterung.
Brauchen Sie Hilfe bei der Implementierung?
Unsere Experten helfen Ihnen bei Design, Implementierung und Betrieb. Von der Architektur bis zur Produktion.
Kontaktieren Sie uns