Mein IBM Anmelden Abonnieren

Was ist ein API Gateway?

25. August 2024

Autoren

Gita Jackson

Staff Writer

Michael Goodwin

Editorial lead, Automation & ITOps

Was ist ein API Gateway?

Ein API Gateway ist ein API-Management-Tool, das als Vermittler zwischen einem API-Client (der Anwendung auf dem Gerät eines Benutzers) und den Backend-Services (auf einem Server) fungiert. Ein API Gateway ist ein zentraler Zugangspunkt für API-Aufrufe.

Eine API (Application Programming Interface) – oder Programmierschnittstelle – ist eine Reihe von Regeln oder Protokollen, die es Softwareanwendungen ermöglichen, miteinander zu kommunizieren, um Daten, Funktionen und Funktionalitäten auszutauschen. Eine Datenanforderung von einem Client an eine API wird als API-Aufruf bezeichnet.

Ein API Gateway empfängt einen API-Aufruf (manchmal auch API-Anfrage genannt), leitet ihn an einen oder mehrere Backend-Services weiter, sammelt die angeforderten Daten und liefert sie dem Client in einem einzigen, kombinierten Paket. Außerdem bietet es Analysen, Schutzebenen vor Bedrohungen und andere Sicherheitsfunktionen für die Anwendung.

Nehmen wir zum Beispiel die Webanwendung eines Restaurants. Mit einem Laptop oder Mobiltelefon kann ein Benutzer eine Anfrage eingeben und ganz einfach auf die Speisekarte, Fotos und Bewertungen des Restaurants, seinen Zahlungsservice und eine Karte zugreifen, um seinen Standort zu überprüfen, obwohl all diese Informationen von verschiedenen Backend-Mikrodiensten oder APIs gesammelt und bereitgestellt werden. Die über die Anwendung des Benutzers eingereichte Anfrage wird von einem API Gateway empfangen und ausgeführt.

Der Wert eines API Gateway

API-Gateways können in der Cloud, On-Premises und in Hybrid-Umgebungen eingesetzt werden und sind ein wichtiger Bestandteil sowohl des API-Managements als auch der API-Sicherheit. API-Gateways helfen Unternehmen dabei, Benutzern eine konsistente, sichere und zufriedenstellende API-Erfahrung zu bieten.

API-Management ist der skalierbare Prozess der Erstellung, Veröffentlichung und Verwaltung von APIs innerhalb eines Unternehmens. API-Gateways verbessern und optimieren Verwaltungsaufgaben wie die Weiterleitung von Anfragen, Lastverteilung und Fehlerbehandlung. API-Gateways verbessern auch die API-Observability durch die Erstellung von Protokollen von API-Aufrufen und die Ermöglichung der Nutzung integrierter Analysetools.

API-Sicherheit bezieht sich auf die Praktiken und Verfahren, die APIs vor Missbrauch, böswilligen Angriffen und anderen Cybersicherheitsbedrohungen schützen. API-Gateways helfen bei der Durchsetzung von API-Sicherheitsprotokollen und können zur Verwaltung von Authentifizierung, Autorisierung und anderen Berechtigungen und Zugriffskontrollen (durch Bestätigung von API-Schlüsseln oder Integration mit Autorisierungsprotokollen wie z. B. OAuth), zur Ratenbegrenzung (zum Schutz vor Angriffen wie Distributed Denial-of-Service-Angriffen) und zur Verschlüsselung gemäß den API-Sicherheitsrichtlinien eines Unternehmens eingesetzt werden.

API Gateways bieten zusätzliche Funktionen zur Steigerung der Effizienz innerhalb eines Unternehmens und ermöglichen eine hohe Leistung und Verfügbarkeit von Anwendungen und Backend-Services. Beispielsweise können API-Gateways für das Caching verwendet werden, einen Prozess, bei dem gemeinsam referenzierte Daten lokal gespeichert werden. Dies verbessert die Reaktionszeit und reduziert die Serverbelastung. Sie können auch große Antworten in kleinere Dateien komprimieren und so den Bandbreitenverbrauch reduzieren.

Sie bieten auch Funktionen zur Ratenbegrenzung, die festlegen, wie oft ein Client innerhalb eines festgelegten Zeitraums eine Anfrage an einen Service senden kann. Dies fördert die Stabilität, verhindert eine Überlastung der Server und trägt dazu bei, dass alle Clients gleichberechtigten Zugriff auf die APIs haben.

API-Gateways und ihre Funktionen helfen Unternehmen dabei, den API-Verkehr und die Workloads auszugleichen, während das Unternehmen wächst. Durch die Zentralisierung dieser Funktionen tragen API-Gateways dazu bei, die Entwicklung, Bereitstellung und Verwaltung von APIs in einem Unternehmen zu optimieren. Gateways tragen dazu bei, die Leistung, Skalierbarkeit und Verfügbarkeit von Apps und Services zu verbessern, und ermöglichen es Entwicklern, sich mehr auf die zentrale Geschäftslogik zu konzentrieren, anstatt sich mit der API-Verwaltung befassen zu müssen.

3D-Design aus Kugeln, die auf einer Schiene rollen

Die neuesten Erkenntnisse und Insights zu KI

Entdecken Sie von Experten kuratierte Erkenntnisse und Neuigkeiten zu KI, Cloud und mehr im wöchentlichen Newsletter Think. 

Wie funktioniert ein API Gateway?

APIs ermöglichen es Anwendungen, miteinander zu kommunizieren und Daten sowohl innerhalb als auch außerhalb der IT-Umgebung eines Unternehmens auszutauschen. Moderne Unternehmen können Tausende von APIs haben und ein Gateway bietet einen zentralen Anlaufpunkt – eine „Front Door“ – und eine standardisierte Schnittstelle, die die Verwaltung und Weiterleitung von API-Anrufen von einem Standort aus erleichtert. Ein Unternehmen kann sich dafür entscheiden, mehrere Gateways zu verwenden, wie es viele tun, um unterschiedliche Sicherheitsprotokolle und -standards auf verschiedene APIs oder Benutzer anzuwenden, aber es gelten dieselben Prinzipien.

Anfragen und Routing

Ein API Gateway empfängt alle an die API-Endgeräte eines Unternehmens gerichteten Aufrufe, authentifiziert die Aufrufe, verarbeitet sie auf der Grundlage von Unternehmensrichtlinien, leitet sie an die entsprechenden Services weiter, fasst sie schließlich zusammen und gibt die Ergebnisse an den API-Client zurück, der den Aufruf getätigt hat. Selbst wenn mehrere Services angefordert und über den API-Aufruf aufgerufen werden, erhält der Client nur eine Antwort mit allen Daten.

API-Zusammensetzung

Ein API Gateway ermöglicht die Orchestrierung von Workflows, indem es die angeforderten Informationen aus mehreren Microservices zusammenführt, die Daten bündelt und sie in zusammengesetzter Form an den Anfragenden zurückgibt.

Protokoll- und Datenkonvertierung

Ein API Gateway übernimmt die Daten- und Protokollübersetzung in Fällen, in denen das Client-Gerät und die Microservices unterschiedliche Sprachen, Formate (z. B. die Anfrage kommt in JavaScript oder JSON, aber der Microservice verwendet XML) oder Protokolle (z. B. HTTP-Anfragen im Vergleich zu gRPC-Anfragen) verwenden.

Caching

Für häufig angeforderte Informationen können API-Gateways Caching verwenden, um die Antwortzeit für die Anfrage zu beschleunigen. Diese Daten werden in einem separaten Cache gespeichert, sodass das Gateway sie schnell zurückgeben kann, ohne den Datenverkehr an einen zusätzlichen Service weiterleiten zu müssen.

Überwachung und Protokollierung

API Gateways können API-Anfragen, -Antworten und -Fehler überwachen und protokollieren. Diese Analysedaten können verwendet werden, um ein besseres Verständnis des Datenverkehrs und der Leistung von APIs zu erlangen, die Fehlerbehebung zu verbessern und die Sicherheit zu erhöhen.

AI Academy

KI-Bereitschaft mit Hybrid Cloud

Das Programm, das von führenden IBM Experten geleitet wird, soll Führungskräften dabei helfen, das nötige Wissen zu erwerben, um die Prioritäten für KI-Investitionen zu setzen, die zu mehr Wachstum führen.

Warum ein API Gateway verwenden?

APIs sind für den Datenfluss in modernen Systemen von entscheidender Bedeutung, und API-Gateways helfen dabei, APIs und Anwendungen zu schützen, Unternehmen bei der Erfassung wertvoller Daten zu unterstützen und die API-Leistung sicherzustellen.

API Gateways können Prozesse effizienter gestalten. Alle APIs eines Unternehmens müssen möglicherweise bei jedem Aufruf neben ihrer spezifischen Funktion auch einige allgemeine Aufgaben ausführen. In einem API-first-Ökosystem, in dem APIs die Bausteine sind, auf denen Software aufbaut, ist dies besonders häufig der Fall.

Um beispielsweise die API-Sicherheitsprotokolle einzuhalten, muss jeder API-Aufruf möglicherweise einen Autorisierungs- und Validierungsprozess durchlaufen. Um eine angemessene Bandbreite sicherzustellen, muss möglicherweise jede API auf Nutzungsraten und Datenverkehr überwacht werden. Wenn APIs monetarisiert werden, muss möglicherweise jeder Anruf an einen Abrechnungsdienst weitergeleitet werden. Ein API Gateway kann all diese Aufgaben erledigen.

Einige API-Aufrufe erfordern Ressourcen von mehreren verschiedenen Microservices. Ein API Gateway unterteilt solche Aufrufe, leitet die Anfragen an die entsprechenden Backend-Services weiter und fasst die angeforderten Ressourcen in einer Antwort für den Client zusammen. Dadurch muss der Kunde nicht mehr für jeden Microservice einen separaten API-Aufruf senden, was den Prozess optimiert und die Anruflast reduziert. Anrufe gehen immer an denselben Ort und das Gateway organisiert die Abfrage und Rückgabe von Ressourcen.

Diese Fähigkeit ist besonders in einer DevOps-Umgebung von Vorteil, in der Mikroservice-Architekturen häufig eingesetzt werden, um Teams dabei zu unterstützen, die Entwicklung zu beschleunigen und kontinuierlich neue Apps und Services bereitzustellen. Microservices sind auf APIs angewiesen, um zu kommunizieren, und Gateways können verwendet werden, um diese Kommunikation zu koordinieren. Ein API Gateway kann auch dazu beitragen, dass jeder Aufruf an die richtige Stelle geht, wenn sich mehrere Versionen einer Anwendung auf demselben Server befinden.

API Gateways werden auch in serverlosen Computing-Modellen und anderen cloudnativen Entwicklungsansätzen verwendet. In einem serverlosen Modell werden Infrastruktur und andere Backend-Services bei Bedarf ausgeführt und über APIs hochgefahren. Gateways können zur Verwaltung dieser Funktion verwendet werden.

In modernen IT-Umgebungen dreht sich alles um Integration, deren Erfolg zu einem großen Teil von APIs abhängt. Je komplexer eine API-Umgebung ist und je mehr Datenverkehr die APIs empfangen, desto größer ist der Mehrwert eines API-Gateways.

API Gateways und Microservices

Eine Microservices-Architektur ist ein Softwareentwicklungsansatz, bei dem Anwendungen aus kleineren, unabhängig funktionierenden Teilen bestehen. Diese verschiedenen Funktionen können autonom bereitgestellt werden und über APIs kommunizieren. Sie sind auf ein einziges Ziel ausgerichtet und dienen als Bausteine für größere Programme.

Es ist zwar möglich, Anrufe von API-Clients an diese einzelnen Microservices weiterzuleiten, aber das ist nicht sehr effizient und würde für jede Ressource einen separaten Anruf erfordern. Ein API Gateway ermöglicht es einem Unternehmen, die angeforderten Ressourcen mit einem einzigen API-Aufruf zurückzugeben.

Das funktioniert so: Das Gateway empfängt den API-Aufruf, der die Kommunikation mit mehreren Microservices erfordert. Er zerlegt die Anfrage, leitet jedes Segment an die entsprechenden Ressourcen weiter und fasst die Ressourcen zu einer einzigen Antwort für den API-Client zusammen. Wenn ein Unternehmen die Anzahl der in Geschäftsfunktionen verwendeten APIs und Microservices erhöht, hilft ein API Gateway dabei, das Anrufvolumen und die Komplexität der Anrufweiterleitung zu reduzieren, indem es als standardisierter, zentraler Einstiegspunkt fungiert.

Stellen wir uns vor, ein Kunde möchte Produktinformationen aus einem E-Commerce-Shop abrufen, der mit einer Microservices-Architektur erstellt wurde. Die Produktdetails, die der Kunde abrufen möchte, sind auf mehrere verschiedene Services verteilt – ein Service für grundlegende Produktinformationen, ein Service für Preisgestaltung, ein Service für Bestand und so weiter.

Das API Gateway empfängt die Anfrage nach Produktinformationen, leitet sie weiter, um Daten von den einzelnen Services abzurufen, die zur Erfüllung der Anfrage erforderlich sind, und stellt diese Daten dann zusammen und sendet sie als eine vollständige Antwort an den Kunden zurück.

API Gateways und Kubernetes

Kubernetes gilt als Branchenstandard für die Bereitstellung und Verwaltung von containerisierten Microservices. API-Gateways können auf verschiedene Weise mit einem containerisierten Kubernetes-Cluster interagieren.

Wenn ein API Gateway vor mehr als einem Kubernetes-Cluster eingesetzt wird, kann es als Lastverteiler dienen und den Datenverkehr an den richtigen Cluster weiterleiten, sodass keine Instanz überlastet wird. Wenn ein API Gateway am Rand eines einzelnen Kubernetes-Clusters bereitgestellt wird, kann es als Ingress-Controller fungieren. Ingress-Controller leiten den Datenverkehr in ein Kubernetes-Cluster, zu den angeforderten Services und dann wieder zurück. Bei der Bereitstellung innerhalb eines Kubernetes-Clusters kann ein API Gateway als Service Mesh fungieren. Ein Service Mesh regelt den Datenverkehr zwischen Kubernetes-Services und bietet Lastverteilung und Serviceerkennung. Es wird häufig für die End-to-End-Verschlüsselung verwendet.

Wie verbessert ein API Gateway das API-Management?

API Gateways ermöglichen es Unternehmen nicht nur, den API-Verkehr effektiver zu leiten und auszugleichen, sondern stärken auch das API-Management, indem sie Folgendes unterstützen:

  • Geringere Latenz
  • Mehr Sicherheit
  • Weniger Komplexität

Geringere Latenz

API Gateways können die Weiterleitung des Datenverkehrs und den Lastausgleich für alle Backend-Services optimieren, indem sie API-Aufrufe über einen zentralen Einstiegspunkt verwalten. Solche Maßnahmen tragen dazu bei, die Latenz gering zu halten. API Gateways verwenden eine Vielzahl von Methoden zur Verwaltung des API-Datenverkehrs, die Bandbreite effizienter nutzen und die Benutzerfreundlichkeit verbessern.

Eine dieser Methoden ist die Ratenbegrenzung. Richtlinien zur Ratenbegrenzung legen die Anzahl der Anfragen (ein Anfragekontingent) fest, die ein bestimmter Client über einen bestimmten Zeitraum an eine API stellen kann. Dies trägt dazu bei, dass Benutzer gleichberechtigten Zugriff auf APIs haben und Backend-Services nicht mit Anfragen überlastet werden.

Die Anfragebeschränkung ist eine Art Begrenzung, die die Rate der Anfragen regelt, die auf einen Server treffen. Dies verhindert Spitzen und hilft Unternehmen, Leistung und Stabilität aufrechtzuerhalten.

API Gateways können auch einen dynamischen Lastausgleich durchführen, indem sie den Datenverkehr zu Backend-Services kontinuierlich überwachen. Ein API Gateway kann den Zustand eines Servers basierend auf Echtzeit-Metriken ermitteln und die Weiterleitung von Anrufen an Backend-Services anpassen.

Mehr Sicherheit

APIs sind anfällig für Cybersicherheitsangriffe wie DDoS-Angriffe (Distributed Denial-of-Service). DDoS-Angriffe überlasten Server mit Anfragen und bösartigem Datenverkehr, was zu einem Absturz führt. Ein API Gateway unterstützt Ratenbegrenzung und andere Techniken, um DDoS-Angriffe zu verhindern.

API Gateways können auch zur Sicherung von APIs beitragen, indem sie die API-Nutzung überwachen und Datenverkehrsprotokolle bereitstellen. Einige API Gateways bieten auch Berichte und Analysen über die Anfragen, die an APIs in der Infrastruktur eines Unternehmens gestellt werden, sodass ein Unternehmen verdächtigen Datenverkehr erkennen kann, bevor ein Angriff stattfindet.

API Gateways helfen nicht nur bei der Verwaltung des Datenverkehrs und stellen eine sichere Verbindung zu APIs her, sondern können auch so konfiguriert werden, dass sie API-Authentifizierung und Anfrageautorisierung bieten und so die Anfälligkeit der APIs eines Unternehmens verringern. API Gateways werden zum Beispiel verwendet, um API-Schlüssel zu überprüfen, wenn Anrufe von einem Client eingehen, bevor der Zugriff auf Ressourcen gewährt wird. Für mehr Sicherheit können API-Gateways in Verbindung mit Tools wie Web Application Firewalls (WAF) eingesetzt werden, die bösartigen HTTP-Verkehr überwachen, filtern und blockieren.

Weniger Komplexität

API Gateways zentralisieren den Fluss der API-Aufrufe und verbessern die Sichtbarkeit und Auffindbarkeit der Services. Sie bieten auch Möglichkeiten für die Kommunikation zwischen APIs, die unterschiedliche Protokolle und Datenformate verwenden.

Viele Web-APIs verwenden einen Architekturstil namens REST (Representational State Transfer, wird in REST-APIs verwendet), obwohl auch andere Protokolle wie SOAP (Simple Object Access Protocol) und WebSocket-APIs verwendet werden. Ob innerhalb eines Unternehmens oder bei externen Aufrufen, die an die internen APIs eines Unternehmens gerichtet sind, ist es üblich, dass APIs mit verschiedenen Protokollen und Datenformaten miteinander kommunizieren und Ressourcen von denselben Backend-Services anfordern müssen.

Die manuelle Konvertierung jeder Anfrage würde eine astronomische Menge an Zeit in Anspruch nehmen. API Gateways helfen, dieses Problem zu beseitigen, indem sie Daten und Protokolle übersetzen und Anfragen und Antworten automatisch in das erforderliche Format konvertieren.

API Gateways erleichtern Entwicklern auch die Iteration und Bereitstellung von APIs, da Gateways mehrere Versionen einer API gleichzeitig verwalten können. Entwickler können dann vor der Bereitstellung mehrere Versionen einer API gegeneinander testen oder eine Instanz einer älteren API-Version für bestimmte Anwendungsfälle verwalten.

Zu den weiteren API-Vorteilen gehören:

    • Erweiterung älterer Apps: Unternehmen verwenden immer noch ältere Anwendungen, die wichtige Daten enthalten, wichtige Funktionen ausführen und einen Mehrwert bieten, die jedoch nicht für APIs geschrieben wurden. Solche ältere Technologien können Probleme haben, die steigende Anzahl von Anrufen von neueren Technologien wie Mobilgeräten, SaaS oder IoT -Apps zu bewältigen. Sie können auch schwer zugänglich sein. Anstatt eine komplizierte Cloud-Migration in Angriff zu nehmen, kann ein DevOps-Team API-Funktionalität hinzufügen – einschließlich Vorteilen wie Ratenbegrenzung und Drosselung –, um die Funktionalität einer Legacy-Anwendung zu modernisieren und zu erweitern.

    • Caching von Microservices: API-Gateways können zur Optimierung von API-Aufrufen beitragen, z. B. beim Caching von Microservices. Durch das Zwischenspeichern von Antworten auf API-Aufrufe kann eine unnötige Belastung der Backend-Services vermieden werden. Die zwischengespeicherten Antworten können bei ähnlichen Anfragen verwendet werden, wodurch die Leistung verbessert und die Kosten gesenkt werden.

    • Überwachung und Nachverfolgung von Anwendungsanalysen: Da ein API Gateway den gesamten eingehenden Datenverkehr einer Anwendung steuert, ist es einfach, die Software die Sichtbarkeit, Trends und andere Erkenntnisse über die API-Nutzung überwachen und Berichte darüber erstellen zu lassen. Die Gateway-Software kann auch Verkehrsprotokolle erstellen, die einem API-Anbieter helfen, Infrastrukturprobleme zu verstehen und zu beheben.

    Herausforderungen beim API Gateway

    API Gateways können zwar bei der Lösung komplizierter Routing-Probleme helfen, doch das Hinzufügen einer neuen Verwaltungssoftware zu einem Unternehmen kann auch neue Herausforderungen mit sich bringen. Zu den häufigsten Herausforderungen gehören:

    • Probleme mit der Skalierbarkeit
    • Single Point of Failure
    • Gateway-Abhängigkeit/Anbieterbindung

    Probleme mit der Skalierbarkeit

    API-Gateways können zwar dabei helfen, die API-Infrastruktur zu organisieren und die Latenz zu verringern. Wenn sie jedoch mehr Anfragen erhalten, als sie verwalten können, und nicht über genügend Ressourcen verfügen, um den Datenverkehr zu bewältigen, können sie stattdessen die Latenz erhöhen.

    Unternehmen müssen sicherstellen, dass API-Gateways bereitgestellt und konfiguriert werden, um die Anforderungen der API-Umgebung und des Datenverkehrs des Unternehmens zu erfüllen. Wenn ein Unternehmen die Anzahl der APIs und Services erhöht, die zu einem bestimmten Zeitpunkt verwendet werden, müssen die Ressourcen entsprechend skaliert und bereitgestellt werden, um Unterbrechungen für die Benutzer zu vermeiden.

    Single Point of Failure

    Ein zentraler Zugangspunkt (Single Point of Entry) bedeutet auch, dass es einen zentralen Fehlerpunkt (Single Point of Failure) geben kann. Die Zentralisierung von APIs hat eine Vielzahl von Vorteilen, aber der Nachteil ist, dass das Gateway selbst zu einem potenziellen Angriffs- oder Infiltrationsvektor wird. Gateway-Probleme können sich auf alle Aspekte eines Unternehmens auswirken, die auf den Zugriff auf APIs und Backend-Services angewiesen sind.

    Gateway-Abhängigkeit

    Wenn sich ein Unternehmen für das API Gateway entschieden hat, das seinen spezifischen Anforderungen entspricht, und seine API-Umgebung auf diesem Gateway aufgebaut hat, kann der Wechsel zu einem anderen Anbieter kosten- und zeitintensiv sein.

    Darüber hinaus können Gateways zwar die API-Nutzung kostengünstiger gestalten, doch das Gateway muss auch überwacht und verwaltet werden, was Zeit und Geld kostet. In manchen Fällen kann eine Organisation ein Open-Source-Gateway selbst hosten, anstatt einen Managed Service zu nutzen, um eine bessere Kontrolle über die verschiedenen Optionen zu haben. Wenn ein Unternehmen sich für eine selbst gehostete Option entscheidet, erhöht dies die Gemeinkosten für das Entwicklungsteam.

    Weiterführende Lösungen

    Weiterführende Lösungen

    IBM webMethods

    Integrieren Sie Ihre Anwendungen und automatisieren Sie die Arbeit mit der hybriden Multicloud-Umgebung IBM webMethods.

    Mehr zu webMethods
    Integrationssoftware und -lösungen

    Erschließen Sie Ihr Geschäftspotenzial mit IBM Integrationslösungen, die Anwendungen und Systeme für den schnellen und sicheren Zugriff auf wichtige Daten verbinden.

    Erkunden Sie Cloud-Integrationslösungen
    Cloud-Beratungsleistungen 

    Schalten Sie mit IBM Cloud Consulting Services neue Funktionen frei und steigern Sie die geschäftliche Agilität. Entdecken Sie, wie Sie mit Hybrid-Cloud-Strategien und Expertenpartnerschaften gemeinsam Lösungen entwickeln, die digitale Transformation beschleunigen und die Leistung optimieren können.

    Cloud-Services
    Machen Sie den nächsten Schritt

    Optimieren Sie Ihren Weg zur digitalen Transformation mit leistungsstarken Integrationstools. Entdecken Sie, wie die führenden Lösungen von IBM Ihre Geschäftsanwendungen verbinden, automatisieren und sichern können.

    Erste Schritte bei der Integration Spezialisierte Lösungen erkunden