Service Mesh und API Gateway basieren auf ähnlichen Konzepten und ihre Aufgabengebiete überschneiden sich. Die Entscheidung für die passende Technologie macht das nicht einfacher. Es gibt auch die Möglichkeit API Gateway und Service Mesh zu kombinieren, dann stellt sich aber immer noch die Frage, wer welche Verantwortlichkeiten übernimmt.
API Gateways werden oft nicht isoliert installiert, sondern sind Bestandteil einer API Management Lösung, die zusätzlich die Verwaltung von APIs ermöglicht. Über ein Entwicklerportal können beispielsweise APIs gesucht und Subscriptionen abgeschlossen werden. Im API Management können Benutzer, Tarife und Produkte verwaltet werden.
Service Mesh Produkte wie z.B. Istio erweitern Cloud Lösungen in diesem Fall Kubernetes. Das setzt voraus, dass die Services alle auch auf Kubernetes betrieben werden. Es gibt aber auch Service Mesh Lösungen, die unabhängig von einer Cloud oder einem Container Orchestrator eingesetzt werden können.
API Gateway | Service Mesh | |
---|---|---|
Aufgaben | APIs externen Nutzern anbieten, Authentifizierung, Autorisierung, Verschlüsselung, Routing, Load Balancing, Transformation | Authentifizierung, Autorisierung, Verschlüsselung, Routing, Load Balancing, Trafik Control |
Richtung der Kommunikation | North-South: Zwischen verschiedenen Anwendungen | East-West: Zwischen Services einer Anwendung oder innerhalb eines Cluster (K8N, ...) |
Funktion | Reverse-Proxy | Reverse- und Forward-Proxy: Auch ausgehender Trafik läuft über Proxy => Aufrufe laufen über Proxy des Senders und des Empfängers. |
Deployment | Zentral für mehrere Backends und APIs. Einrichten eines APIs erfolgt getrennt vom Backend-Service. | Dezentral für jeden Service. Service und Proxy werden meist über CI/CD gleichzeitig ausgerollt. |
Unterstützte APIs | REST, Web Sockets 1.), GraphQL 1.), SOAP 1.), gRPC 1.) | REST, Web Sockets, GraphQL, SOAP, gRPC, beliebige Protokolle von: Datenbanken, Brokern, Fileservern, ... |
Unterstützte Protokolle | HTTP | HTTP, TCP |
Einflussgebiet | Es gibt Service-Nutzer in anderen Abteilungen oder Organisationen. | Service-Nutzer und Service Backends unterstehen derselben (Unter)Organisation. |
- 1.) Jedes API Gateway kann SOAP oder GraphQL durchschleußen, aber nicht jedes Gateway bietet Funktionen wie WSDL Rewriting speziell für diese Protokolle an.