Sikov - stock.adobe.com

Sechs beliebte API-Gateway-Tools und wie man eines auswählt

Zahlreiche Anbieter sind auf den API-Gateway-Trend aufgesprungen. Die wichtigsten Funktionen von sechs beliebten Gateway-Tools, um die Auswahl zu erleichtern.

APIs sind ein zentraler Aspekt der Softwareentwicklung, da sie es Anwendungen ermöglichen, miteinander zu kommunizieren und auf Daten zuzugreifen. In einer verteilten Microservices-Architektur umfasst eine Datenanforderung jedoch Aufrufe an zahlreiche unabhängige Dienste und Anwendungen, wodurch eine Vielzahl von Nachrichten entsteht, die nur schwer zu verfolgen, zu sichern und angemessen zu verwalten sind.

Um sicherzustellen, dass diese Aufrufe ordnungsgemäß und zeitnah weitergeleitet werden, können Unternehmen einen innovativen Messaging-Mechanismus implementieren: das API-Gateway. Im Wesentlichen bietet das API-Gateway einen einzigen Einstiegspunkt in eine verteilte Architektur und verwaltet alle Anfragen und Antworten als API-Aufrufe, die das Gateway entsprechend weiterleitet.

Darüber hinaus kann ein API-Gateway-Tool Richtlinien anwenden, die die Verfügbarkeit und das Verhalten einer API bestimmen, zum Beispiel wie es Anrufe verarbeitet (oder drosselt) und den Datenfluss kontrolliert. Viele API-Gateways verfügen über Überwachungs- und Protokollierungsfunktionen, um API-Aufrufe und -Antworten aufzuzeichnen und zu analysieren. Dies ermöglicht es Unternehmen, APIs und Integrationen zentral zu verfolgen und zu steuern, anstatt sie einzeln zu verwalten.

Wie man ein API-Gateway-Tool auswählt

Viele Anbieter haben die Chance ergriffen, API-Gateway-Tools anzubieten. Die Auswahl ist groß, egal ob es sich um eigenständige Tools oder um Funktionen handelt, die in eine umfassendere API-Managementplattform integriert sind. Die meisten heute verfügbaren API-Gateway-Angebote umfassen zahlreiche Optionen, die Authentifizierung, Analyse, Lastausgleich, Cache-Verwaltung, Abhängigkeitsauflösung und vieles mehr unterstützen.

Die Wahl des richtigen Gateways hängt sowohl von den spezifischen Anforderungen Ihrer Entwicklungsabteilung als auch von den Entwicklungsplattformen ab, die Ihre Teams bereits verwenden. Einige zu berücksichtigende Faktoren sind:

Proprietär versus Open Source. Für Oracle-Benutzer ist das vollständig verwaltete API-Gateway von Oracle möglicherweise die ideale Lösung. Ebenso bevorzugt ein Unternehmen, das Dienste auf AWS, Microsoft Azure oder Google Cloud betreibt, unter Umständen das spezielle API-Gateway dieser Plattform. Unternehmen, die mit Open Source Tools vertraut sind, haben ebenfalls mehrere API-Gateway-Optionen zur Auswahl. Auch der Support spielt eine Rolle, sei es von einem speziellen Anbieter oder von einer Community rund um ein Open Source Tool.

Abbildung 1: Das grundlegenden API-Gateway-Muster.
Abbildung 1: Das grundlegenden API-Gateway-Muster.

Architektur. Bei einigen API-Gateway-Tools steht die Einfachheit im Vordergrund, während andere mit Blick auf die Erweiterbarkeit entwickelt wurden. Verschiedene API-Gateways unterstützen unterschiedliche Datenbanksysteme, wie PostgreSQL, Cassandra, Redis oder MongoDB. Auch dies hängt weitgehend davon ab, wie vertraut ein Unternehmen mit bestimmten externen Datenbanken ist und wie es auf diese angewiesen ist. Wie bereits erwähnt, sind API-Gateways für bestimmte Cloud-Plattformen natürlich mit anderen Diensten auf dieser Plattform verbunden.

Programmiersprache. Einige Optionen für API-Gateways, insbesondere Open Source Gateways, erfordern möglicherweise eine gewisse Anpassung. Es kann eine Rolle spielen, ob Ihre Entwickler über Kenntnisse in bestimmten Sprachen wie Golang oder Lua verfügen oder nicht. API-Gateways können in anderen Sprachen geschriebene Plug-ins aufnehmen, um dieses Problem teilweise zu entschärfen.

Im Folgenden finden Sie einige der beliebtesten API-Gateway-Tools von proprietären und Open-Source-Anbietern.

Proprietäre Cloud-Optionen

Cloud-Anbieter bieten API-Gateways für die Integration in ihre eigenen Dienste an. Zu diesen Optionen gehören:

Amazon API Gateway. Als Teil der AWS Cloud-Plattform-Tools ist API Gateway ein vollständig verwalteter Service, der zum Erstellen, Bereitstellen, Verwalten, Überwachen und Sichern von APIs verwendet wird, einschließlich solcher, die auf REST-, HTTP- und WebSocket-Protokollen basieren.

Ein weiterer Schwerpunkt liegt auf Funktionen, die auf Ausfallsicherheit und Lifecycle-Management ausgerichtet sind. API Gateway lässt sich mit anderen AWS-Services und -Tools integrieren, wie CloudTrail für die Protokollierung, Identity and Access Management (IAM) für die Authentifizierung und CloudFormation für die API-Erstellung. Benutzer können über eine Reihe von AWS-Zugangspunkten auf das Amazon API Gateway zugreifen, zum Beispiel über eine Managementkonsole, CLI oder SDK.

Azure API Gateway. Der Azure-API-Verwaltungsdienst von Microsoft verfügt über ein API-Gateway als eine seiner drei Hauptkomponenten, neben dem Azure-Portal (der Verwaltungsschnittstelle) und dem Entwicklerportal (der Entwicklerschnittstelle). Das Azure-Gateway akzeptiert und leitet HTTP-Aufrufe weiter, setzt Nutzungs- und Ratenbeschränkungen durch, speichert Backend-Antworten im Cache, protokolliert Aufrufe und übernimmt die Überprüfung.

Azure bietet verschiedene Funktionen für eine Reihe von definierten Preisstufen, die von einer Option auf Verbraucherebene, die ein Pay-per-Use-API-Gateway bietet, bis zu einer Premium-Stufe reichen, die für die Produktion auf Unternehmensebene entwickelt wurde und Active-Directory-Integration, Unterstützung für virtuelle Netzwerke und ein selbst gehostetes Gateway bietet. Das Gateway-Tool lässt sich auch in Dienste wie Azure Monitor für Diagnosen und Logic Apps für Workflow und Orchestrierung integrieren.

Oracle API Gateway. Als Teil der Oracle Cloud Infrastructure-Services bietet das vollständig verwaltete API-Gateway von Oracle RESTful APIs für Backend-Services, die Cloud-native Anwendungen unterstützen. Entwickler können APIs mit privaten Endpunkten veröffentlichen und über ihr eigenes Netzwerk darauf zugreifen, aber auch öffentliche IP-Adressen für den Internetverkehr bereitstellen. Die Lösung umfasst wichtige Funktionen wie die Durchsetzung von Richtlinien, Metriken und Protokollierung. In Verbindung mit Oracle Functions können Entwickler serverlose RESTful APIs erstellen. Aus Sicherheitsgründen ist das Gateway außerdem in Oracle Cloud Infrastructure IAM integriert.

Open-Source-Optionen von Drittanbietern

Mehrere beliebte Open-Source-API-Gateway-Optionen bieten Leistung und Skalierbarkeit, die den Anforderungen der meisten Unternehmen entsprechen. Beispiele sind:

Kong Gateway. Kong Gateway ist ein hoch skalierbares Open-Source-API-Gateway, das für Microservices und verteilte Architekturen optimiert ist. Kong hat das Gateway auf dem NGINX-Webserver aufgebaut und unterliegt der Apache-2.0-Lizenz. Kong stellt API-Gateway-Tools über eine Open-Source-Bibliothek von Plug-in-Komponenten bereit, die Mechanismen zur Steuerung des Datenverkehrs, Analyseunterstützung, Authentifizierungsmethoden und serverlose Funktionen hinzufügen, mit denen Softwareteams benutzerdefinierte Domains erstellen können. Das Gateway ermöglicht es Entwicklern außerdem, Anfragen und Antworten im laufenden Betrieb zu konfigurieren.

Tyk API Gateway. Tyk ist eine weitere Open-Source-Gateway-Option, die aus drei verschiedenen Komponenten besteht: dem Dashboard, das eine Schnittstelle für Metriken und die API-Organisation bietet; Pump, die Datenpersistenz und Datenbankverbindungen bereitstellt; und dem Gateway, das als Proxy den gesamten Datenverkehr abwickelt. Das Tyk API Gateway benötigt nur eine Redis-Datenbank und bietet ähnliche Funktionen wie Kong, einschließlich Proxy-Methoden für den Datenverkehr, Zugriffskontrollen und Protokollierungsfunktionen.

Express Gateway. Express Gateway ist eine Open-Source-Option, die auf Express.js basiert. Es besteht aus vier Kernkomponenten: einer zentralisierten deklarativen Konfiguration, die API-Anwendungsfallkonfigurationen als eine einzige YAML- oder JSON-Datei speichert; einem Modul zur Verwaltung von Anwendungen und Anmeldeinformationen für den API-Zugang; einem verteilten persistenten Datenspeicher, der globalen Datenzugriff und Skalierbarkeit über mehrere Instanzen hinweg ermöglicht; und einem Plug-in-System, das Entwicklern die Erweiterung von Richtlinien, Pipelines, Bedingungen und Aktionen ermöglicht. Einige Plug-in-Funktionen umfassen auch zusätzliche Authentifizierung, API-Anpassung, Ratenbegrenzer und serverlose Funktionen.

Erfahren Sie mehr über Softwareentwicklung