Definition „API Gateway“ API-Gateways als Mittler zwischen Clients und Services

Von Blue Floyd 3 min Lesedauer

Anbieter zum Thema

Wo Unternehmen auf verteilte Systeme und Microservices setzen, ist die Kommunikation zwischen verschiedenen Anwendungen von entscheidend. Hier kommt das API-Gateway ins Spiel als Verbindung zwischen Client-Geräten und (Micro-)Services ins Spiel.

Je komplexer die über APIs konsumierten bzw. verbundenen Dienste sind und je mehr Schnittstellen generell vorhanden sind, desto eher lohnt sich ein Gateway.
Je komplexer die über APIs konsumierten bzw. verbundenen Dienste sind und je mehr Schnittstellen generell vorhanden sind, desto eher lohnt sich ein Gateway.
(Bild: Vallepugraphics - stock.adobe.com)

Ein API-Gateway ist eine Middleware-Komponente, die als Vermittler zwischen Clients und verschiedenen Diensten fungiert. Als zentrale Schnittstelle stellt es den Zugriff auf mehrere APIs bereit und verwaltet gleichzeitig Kommunikation zwischen den Clients und den dahinter liegenden Diensten verwaltet.

Die Aufgaben des API Gateways sind vielseitig; so dient es wie erwähnt dazu, eingehende Anfragen an die entsprechenden Dienste weiterzuleiten. Es analysiert die Anfragen, extrahiert die relevanten Informationen und übergibt diese an den Service. Dies ermöglicht eine effiziente und skalierbare Kommunikation zwischen den Clients und den Diensten. Da verschiedene Dienste unterschiedliche Datenformate und Protokolle nutzen, fungiert das Gateway oft als Übersetzer und transformiert die Anfragen.

Gleichzeitig fungiert das API-Gateway als zentrale Instanz für die Authentifizierung und Autorisierung von Clients und stellt sicher, dass nur autorisierte Entitäten auf die verbundenen Services zugreifen können. Durch eine einzige Sicherheitsvorkehrung – vielleicht ein API-Schlüssel oder auch die häufig verwendeten OAuth-Tokens – ist es möglich, alle hinter dem Gateway liegenden APIs auf einmal zu schützen.

Caching häufig angefodeter Daten und die Lastverteilung auf verschiedene Instanzen eines Dienstes gehören ebenfalls zu den Funktionen, was der Latenz, Skalierbarkeit und Zuverlässigkeit zuträglich ist. Im Übrigen ist die Einrichtung eines API-Gateways ab einer bestimmten Anzahl von Schnittstellen wesentlich einfacher und effizienter als es die direkte Kommunikation zwischen Clients und Services via einzelner APIs erlauben würde – was vor allem bei steigendem Anfragevolumen gilt.

Vorteile für Developer und User

Korrekt eingesetzte API Gateways bieten außerdem eine wesentliche Erleichterung für den Alltag von Entwicklerinnen und Entwicklern sowie Nutzern und Nutzerinnen. Vor allem hochkomplexe Projekte sind heute, im Zeitalter der Mikrodienste, oft mit unzähligen APIs ausgestattet. Die Verwaltung dieser Schnittstellen wäre unter normalen Umständen an einen hohen Aufwand gekoppelt.

Entwicklung, Skalierung und Wartung dieser APIs wären kompliziert – und aus menschlicher Sicht nur durch die Erstellung einer ebenfalls beeindruckend komplexen Dokumentation möglich. All diese Schritte kosten viel Zeit und Geld. Ein gut konfiguriertes API Gateway übernimmt viele dieser Funktionen: Statt Dutzende APIs getrennt zu verwalten, geschieht die Administration zentral an einem einzigen Ort. Dies ist aus Entwickler- und Betreibersicht vorteilhaft, doch auch die User profitieren von diesem Verhalten.

Möchten diese beispielsweise zehn verschiedene APIs eines bestimmten Anbieters nutzen, wäre ohne Gateway auch die Authentifizierung für jede dieser Schnittstellen notwendig. Dies kann das Nutzungserlebnis deutlich beeinträchtigen und auch ein Sicherheitsrisiko darstellen. Durch ein Gateway weisen sich User nur ein einziges Mal aus, um Zugriff auf alle dafür berechtigten APIs hinter diesem Gateway zu erhalten. Dies spart auf allen Ebenen Zeit und erhöht die Sicherheit.

Welche Lösungen gibt es?

Der Markt unterscheidet zwischen Managed-Lösungen oder selbst installierten, konfigurierten und gewarteten API Gateways. Es gibt sie in kostenpflichtigen als auch kostenlosen Varianten, sowohl als Closed- sowie Open-Source-Lösung. Aufgrund der Verbreitung und Bedeutung von API Gateways gehören diese praktisch zum Portfolio aller großen Cloudanbieter dazu: Microsoft, Google, AWS und andere stellen ihren Kunden standardmäßig API Gateways zur Verfügung.

Wer es sich zutraut, kann die erwähnten Do-It-Yourself-Lösungen verwenden. Dies ist mit einem erheblichen Aufwand verbunden, aber spart Geld. Gerade für kleinere Projekte kann dies die bessere Lösung sein. Am Ende entscheidet der konkrete Bedarfsfall darüber, welche Lösung für das jeweilige Projekt besser geeignet ist.

Wann kommt ein API Gateway in Frage?

Die Faustregel lautet: Je komplexer die durch die API genutzten Dienste sind und je mehr Schnittstellen generell vorhanden sind, desto eher lohnt sich ein Gateway. Kleine Start-ups, die einen Dienst entwickelt haben, für dessen Zugriff nur eine einzige API notwendig ist, benötigen in der Regel keinen Gateway. Steigt die Anzahl der APIs, steigt jedoch auch die Anzahl der Verwaltungsschritte - und irgendwann wird der Gateway schlichtweg ökonomisch sinnvoll. Spätestens, wenn Kunden nach dem Zugriff via Gateway verlangen, sollte über dessen Implementierung nachgedacht werden.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

(ID:49909407)