cherezoff - stock.adobe.com
Service Mesh: Architekturunterschiede zu SDN und NFV
Service Mesh hebt sich trotz einiger Ähnlichkeit von SDN und NFV ab. Im Vordergrund steht die Verwaltung von Kommunikation und Forwarding zwischen mehreren Microservices.
Etliche Organisationen führen Software-Networking ein, um Agilität, Automatisierung, Flexibilität und Interoperabilität ihres Netzwerkdesigns zu verbessern. Die Service-Mesh-Technologie ist ein solches Beispiel für Software-based Networking.
Software-based Networking zeichnet sich durch die folgenden Merkmale aus:
- Bereitstellung, Konfiguration und Management sind automatisiert;
- einfach anpassbar, individuell gestaltbar und programmierbar dank offener APIs;
- offen, Multivendor-geeignet und mit verschiedenster Netzwerksoftware interoperabel; und
- plattformunabhängig per Softwareabstrahierung, unterstützt eine Vielzahl von Hypervisor-, Virtualisierungs- und Container-Technologien.
Da Service Mesh ein Beispiel für Software-Networking ist, besitzt es Ähnlichkeiten mit Konzepten wie Software-defined Networking (SDN) und Network Functions Virtualization (NFV). Aber die Service-Mesh-Architektur wurde unabhängig von SDN-Controllern oder der NFV-Architektur des ETSI (European Telecommunications Standards Institute) entwickelt. Stattdessen konzentriert sich Service Mesh auf die Bereitstellung der Networking-Intelligenz zwischen Microservices – Anwendungen, die in modulare Services unterteilt sind – auf containerbasierter Infrastruktur.
Ein Service Mesh ist Infrastruktursoftware, die eine schnelle und zuverlässige Kommunikation zwischen Microservices zur Verfügung stellt. Seine Networking-Funktionen umfassen Anwendungsidentifizierung, Load Balancing, Authentifizierung und Verschlüsselung. Netzwerkanfragen werden zwischen Microservices über Proxies – oder Sidecars – geroutet, die zusammen mit dem Service laufen. Diese Proxies bilden ein Mesh-Netzwerk, um die einzelnen Microservices zu verbinden.
Ein zentraler Controller übernimmt die Zugangssteuerung sowie das Netzwerk- und Performance-Management und integriert sich in Containersoftware wie Kubernetes. Ähnlich einer SDN-Architektur verfügt Service Mesh über eine separate Data Plane und Control Plane.
Warum Service Mesh wichtig ist
Verteilte Microservices-Anwendungen erfordern neue Netzwerkfähigkeiten – und eine neue Größenordnung – für das Routing, Load Balancing und Performance Monitoring jenseits von Ost-West-Traffic. Die Service-Mesh-Architektur ermöglicht es, Microservices-Anwendungen von der Komplexität des Netzwerk-Routings und Sicherheitsanforderungen logisch zu isolieren. Die Abstrahierung durch Service Mesh erlaubt die schnelle und flexible Bereitstellung von Microservices unabhängig vom physischen Netzwerk.
Service Mesh: Optionen
Organisationen, die verteilte Microservices in Containern bereitstellen, haben eine Reihe von Technologieoptionen für Service Mesh zur Auswahl, sowohl anbieterunterstützt als auch Open Source. Istio ist eine führende Open-Source-Option für Service Mesh, gefördert durch Google und Red Hat. Andere Open-Source-Projekte sind beispielsweise Linkerd, HAProxy und Envoy.
AWS bietet seinen Kunden mit App Mesh einen eigenen Service Mesh. Außerdem bewirbt Cisco seinen Network Service Mesh, der Netzwerkfunktionalität auf Layer 2 und Layer 3 ergänzt. Darüber hinaus haben auch etablierte Anbieter von Software-Networking und Start-ups Service-Mesh-Produkte im Portfolio, unter anderem Avi Networks, Citrix, F5 mit Nginx, Kemp Technologies, Tetrate und VMware.
SDN versus NFV versus Service Mesh
Software-defined Networking (SDN) trennt die Control Plane von der Data Plane, um umfangreichere Steuerungsoptionen für den Anwendungs-Traffic zu ermöglichen. Es erstellt ein virtualisiertes Netzwerk-Overlay, das das zugrunde liegende Netzwerk abstrahiert, um auf Netzwerkänderungen rasch zu reagieren und den Traffic effizient weiterzuleiten. SDN kann per Mikrosegmentierung auch isolierte Subnetze erstellen, was den Zugriff und die Kommunikation unter spezifischen Netzwerkelementen einschränkt.
Network Functions Virtualization (NFV) trennt traditionelle Netzwerkfunktionen – etwa Routing, Firewalls und Load Balancing – von der physischen Hardware und führt sie als Virtual Network Functions (virtualisierte Netzwerkfunktionen, VNF) aus. Idealerweise kann NFV bestimmte VNFs zusammenfassen und die Bereitstellung und Aktualisierung von Netzwerkfunktionen oder -anwendungen optimieren. NFV und Microservices ähneln sich bezüglich ihrer modularen Architektur, und VNFs lassen sich sogar auf einer Microservices-Architektur bereitstellen.
Service Mesh ermöglicht Kommunikation, Forwarding und Steuerung zwischen Microservices, bei denen es sich um große Anwendungen handelt, die als modulare Services ausgeführt sind. Die Service-Mesh-Architektur trennt ebenfalls die Control Plane von der Data Plane. Dadurch ist es dem Mesh möglich, ein anderes Mesh – oder ein abstrahiertes Overlay – auf Anwendungsebene zu erstellen und zentrale Richtlinien für das Management zu nutzen.