Unterschied zwischen API Gateway und Service Mesh

2021-06-04 von Thomas Bayer

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.