Jump to section

Wie funktioniert ein API-Gateway?

URL kopieren

Ein API-Gateway ist ein API-Managementtool, das zwischen einem Client und einer Sammlung von Backend-Services sitzt. Ein Client ist in diesem Fall eine Anwendung auf einem Nutzergerät, und die Backend-Services befinden sich auf den Servern eines Unternehmens.APIs oder Application Programming Interfaces bestehen aus mehreren Definitionen und Protokollen zur Entwicklung und Integration von Anwendungssoftware.

Ein API-Gateway ist eine Komponente der Anwendungsbereitstellung, also der Services, die Anwendungen für Nutzende bereitstellen. Es dient als Reverse-Proxy, der alle API-Aufrufe entgegennimmt, die verschiedenen erforderlichen Services zusammenführt und das entsprechende Ergebnis ausgibt. Einfacher ausgedrückt, handelt es sich bei einem API-Gateway um eine Software, die API-Aufrufe von Nutzenden abfängt und an die entsprechenden Backend-Services weiterleitet.

Die meisten unternehmensfähigen APIs werden über API-Gateways bereitgestellt. Normalerweise übernehmen API-Gateways allgemeine Aufgaben, die in einem System von API-Services verwendet werden, darunter Benutzerauthentifizierung, Rate Limiting und Statistiken.

Die grundlegende Funktion eines API-Service besteht darin, Remote-Anfragen entgegenzunehmen und zu beantworten. Die Realität ist natürlich nicht ganz so einfach. Sehen Sie sich nur Ihre verschiedenen Anforderungen an, wenn Sie viele APIs hosten.

  • Sie möchten Ihre APIs vor Überlastung und Missbrauch schützen und verwenden deshalb einen Authentifizierungsservice und Rate Limiting. 
  • Sie möchten wissen, für welche Zwecke Kunden Ihre APIs verwenden und fügen deshalb Analyse- und Überwachungstools hinzu.
  • Wenn Sie APIs monetarisieren, müssen Sie auch eine Verbindung zu einem Fakturierungssystem herstellen.
  • Wenn Sie eine auf Microservices basierende Architektur verwenden, müssen möglicherweise mit einer einzelnen Anfrage Dutzende unterschiedlicher Anwendungen aufgerufen werden.
  • Im Laufe der Zeit fügen Sie wahrscheinlich neue API-Services hinzu oder entfernen wiederum andere, müssen dabei aber sicherstellen, dass Ihre Kunden all ihre Services stets am gewohnten Platz wiederfinden.

Die Herausforderung besteht also darin, Ihren Kunden trotz all dieser Komplexität eine einfache und zuverlässige Erfahrung bereitzustellen. Mit einem API-Gateway können Sie die Client-Oberfläche von der Backend-Implementierung entkoppeln. Wenn ein Client dann eine Anfrage absetzt, schlüsselt das API-Gateway diese in mehrere Teilanfragen auf, leitet sie an die jeweiligen Ziele weiter, erstellt eine Antwort und überwacht den gesamten Prozess.

Ein API-Gateway ist Bestandteil des API-Managementsystems. Das API-Gateway fängt alle eingehenden Anfragen ab und leitet sie an das API-Managementsystem weiter, das eine Vielzahl notwendiger Funktionen durchführt.

Die genauen Aufgaben des API-Gateways können von einer Implementierung zur anderen variieren. Beispiele hierfür sind: Authentifizierung, Routing, Rate Limiting, Fakturierung, Überwachung, Analyse, Richtlinien, Alarme und Sicherheit. API-Gateways bieten folgende Vorteile:

Niedrige Latenz

API-Gateways verteilen eingehende Anfragen und lagern häufige Aufgaben wie Caching und SSL-Terminierung aus. Dadurch optimieren sie Traffic Routing und Load Balancing in sämtlichen Backend-Services und sorgen so für eine optimale Performance und Ressourcenauslastung. Dies minimiert Serverlast und Bandbreitennutzung – und damit auch den Bedarf an zusätzlicher Serverkapazität und Netzwerkbandbreite – und verbessert so das Benutzererlebnis.

Datenverkehrsmanagement

API-Gateways drosseln und verwalten den Datenverkehr über verschiedene Mechanismen, die darauf ausgelegt sind, Quote und Umfang der eingehenden Anfragen zu steuern und eine optimale Performance und Ressourcenauslastung sicherzustellen.

  • Richtlinien zum Rate Limiting (Quotenbegrenzung) legen die maximale Anzahl an Anfragen fest, die in einem bestimmten Zeitraum (z. B. Anfragen pro Sekunde, Minute, Stunde) für einen jeweiligen Client oder API-Schlüssel erlaubt sind, und schützen die Backend-Services so vor Überlastung.
  • Richtlinien zum Request Throttling (Anfragendrosselung) definieren Regeln und Limits, um den Anfragedatenverkehr zu regulieren, etwa maximale Anfragequote, Burst-Zuteilungen und Quotas.
  • Richtlinien zur Concurrency Control (Nebenläufigkeitskontrolle) bestimmen die maximale Anzahl von simultanen Verbindungen oder Anfragen, die von den Backend-Servern gleichzeitig abgewickelt werden können.
  • Richtlinien für Circuit Breakers (Leitungsschutzschalter) überwachen den Zustand und die Reaktionsfähigkeit der Backend-Server. Sie können den Datenverkehr kurzfristig blockieren oder von fehlgeschlagenen oder langsamen Services wegleiten, um Kaskadierungsfehler zu vermeiden und die allgemeine Systemstabilität zu erhalten.
  • Durch das dynamische Load Balancing von API-Gateways wird der Serverzustand kontinuierlich überwacht und Traffic Routing in Echtzeit angepasst, um Nachfragespitzen zu bewältigen, die Reaktionszeiten zu minimieren und den Durchsatz zu maximieren.

Nutzung von globaler Netzwerkinfrastruktur

API-Gateways können Infrastrukturressourcen dynamisch skalieren und so auf Änderungen bei Datenverkehrsmustern und beim Workload-Bedarf reagieren. Damit unterstützen sie Unternehmen bei einer optimalen Ressourcenauslastung. Außerdem können Organisationen mit API-Gateways ihre Infrastrukturkosten minimieren und sicherstellen, dass sie nur für die Ressourcen zahlen, die sie tatsächlich nutzen.

Kosteneffizienz

API-Gateways spielen auch für das Kostenmanagement bei der Anwendungsbereitstellung und API-Integration eine Rolle. Sie bieten nicht nur eine zentrale Plattform für die Bewältigung des Datenverkehrs, sondern erzwingen Sicherheitsrichtlinien, implementieren Regeln zum Datenverkehrsmanagement und erleichtern die Integration mit Backend-Services. API-Gateways ermöglichen außerdem eine gestaffelte Nutzung von Services, um die Kosteneffizienz zu erhalten. Je nach Art können APIs unterschiedliche Auswirkungen auf die Kosteneffizienz einer Anwendung haben.

  1. Flexibilität: HTTP-APIs sind von allgemeiner Natur und können beliebige HTTP-Methoden verwenden. Sie ermöglichen eine einfache und flexible Entwicklung, was die Entwicklungskosten reduzieren kann. REST-APIs folgen in ihrer Architektur bestimmten Prinzipien und Vorgaben. Für ihre ordnungsgemäße Entwicklung und Implementierung kann daher zusätzliche Arbeit oder Expertise erforderlich sein, was die Entwicklungskosten erhöhen kann.
  2. Infrastruktur: Aufgrund ihrer Flexibilität können HTTP-APIs geringere Infrastrukturkosten nach sich ziehen. Bei REST-APIs können zusätzliche Infrastrukturkomponenten oder Services zur Unterstützung dieser Features erforderlich sein, was die Infrastrukturkosten erhöhen kann.
  3. Skalierbarkeit: HTTP-APIs lassen sich horizontal skalieren, indem weitere Server oder Instanzen hinzugefügt werden. Dadurch können sie kostengünstigere Skalierungsoptionen bieten, insbesondere für Cloud-Umgebungen mit Autoscaling-Funktionen. Aspekte wie Zustandslosigkeit, Caching und verteilte Architekturen können dazu führen, dass REST-APIs komplexere Skalierungsanforderungen beinhalten. Dadurch können zusätzliche Infrastrukturressourcen oder -services erforderlich sein, um eine horizontale Skalierbarkeit zu erreichen, was die Kosten erhöhen kann.

API-Gateways und Kubernetes

Eine auf Kubernetes basierende Lösung wie Red Hat OpenShift ist die effizienteste Möglichkeit zur Containerisierung und Orchestrierung von Anwendungen. Ein API-Gateway kann dabei eine wichtige Komponente sein, um den Datenverkehr zu managen und an die Services auf einem Kubernetes-Cluster weiterzuleiten. Dies geschieht auf folgende Weise:

  • Als Ingress Controller fängt das API-Gateway eingehenden HTTP-Datenverkehr zum Cluster ab und leitet ihn basierend auf den festgelegten Regeln und Konfigurationen an die entsprechenden Services weiter.
  • Mit der DNS-basierten Service Discovery von Kubernetes erkennt das API-Gateway Datenverkehr und leitet ihn ohne manuelles Konfigurieren an die Backend-Services weiter. Dies ermöglicht eine nahtlose Integration mit Kubernetes-nativen Services und erleichtert die dynamische Skalierung, Service Discovery und Failover-Handhabung im Cluster.
  • Mithilfe von fortschrittlichen Richtlinien zum Datenverkehrsmanagement kontrolliert das API-Gateway den Datenverkehr zu Services, die auf Kubernetes bereitgestellt werden.
  • Durch das Erzwingen von Sicherheitsrichtlinien wie Authentifizierung, Zugriffskontrollen, Autorisierung und Verschlüsselung werden die auf Kubernetes bereitgestellten Services vor unberechtigtem Zugriff und Cyberbedrohungen geschützt.
  • Das API-Gateway ermöglicht Beobachtbarkeit und Überwachung, indem es Einblick in Datenverkehrsmuster, Performance-Metriken und Fehlerquoten für auf Kubernetes bereitgestellte Services bietet, wie etwa Protokollierung von Anfragen, Erfassung von Metriken und Distributed Tracing.
  • Die Integration in Service Meshes wie Istio und Linkerd erweitert deren Funktionalität und bietet zusätzliche Funktionen wie externen Ingress, Edge-Sicherheit und globales Datenverkehrsmanagement, was eine nahtlose Interoperabilität zwischen Kubernetes-Services und externen Clients sicherstellt.

In Organisationen, die einem DevOps-Ansatz folgen, nutzen Entwicklungsteams Microservices, um Anwendungen schnell und iterativ zu entwickeln und bereitzustellen. APIs gehören zu den am häufigsten genutzten Methoden der Kommunikation zwischen den verschiedenen Microservices.

In der modernen Cloud-Entwicklung wie auch im Serverless-Modell werden APIs außerdem für die Provisionierung der Infrastruktur benötigt. Über ein API-Gateway können Sie Serverless-Funktionen bereitstellen und verwalten.

Allgemein gesprochen werden APIs immer wichtiger, je mehr die Bedeutung von Integration und Interkonnektivität zunimmt. Und je komplexer die APIs werden und je häufiger sie verwendet werden, desto wichtiger werden API-Gateways.

Red Hat bietet modulare, schlanke und umfassende API-Managementlösungen, die ausschließlich auf Open Source basieren, offenen Standards folgen und sowohl lokal als auch in der Cloud und in hybriden Umgebungen verfügbar sind. Aufgrund unseres Engagements für Open Source-Technologien – und unseres besonderen Entwicklungsmodells – durchläuft unser Portfolio umfangreiche Tests durch unsere breitgefächerte Community, einschließlich Red Hat Engineers, Kunden, unabhängigen Software- und Hardwareanbietern und Partnern. Wir bieten 2 API-Managementlösungen an:

  • Red Hat OpenShift API Management ist ein gehosteter und gemanagter API-Management-Service und wird als Add-On-Produkt zu Red Hat OpenShift Dedicated bereitgestellt, einem vollständig gemanagten Service der unternehmensgerechten Kubernetes-Anwendungsplattform Red Hat OpenShift.
  • Red Hat® 3scale API Management ist eine API-Managementplattform, auf der Ihre APIs gemeinsam verwendet, gesichert, verteilt, gesteuert und monetarisiert werden können. Sie unterstützt Hybrid-Architekturen (On-Premise, in der Cloud oder eine Kombination aus beiden) und bietet höchste Skalierbarkeit.

Weiterlesen

Artikel

Was ist eine API?

APIs (Application Programming Interfaces) bestehen aus mehreren Definitionen und Protokollen zur Entwicklung und Integration von Anwendungssoftware.

Artikel

Wie funktioniert ein API-Gateway?

Ein API-Gateway ist ein API-Management-Tool, das zwischen einem Client und einer Ansammlung von Backend-Services sitzt.

Artikel

Warum Red Hat für APIs?

Unsere API-Lösungen sind auf Wiederverwendbarkeit und IT-Agilität ausgelegt und nutzen eine Managementoberfläche, mit der Sie Ihre Daten messen, überwachen und skalieren können.