So verwenden Sie einen Load Balancer als API-Gateway

Veröffentlicht am

Einer der größten Trends bei der Bereitstellung von Anwendungen ist die zunehmende Bedeutung von Integrationsfunktionen. Webanwendungen werden nicht nur von Endbenutzern genutzt, sondern stellen auch Funktionen bereit, die von anderen Anwendungen oder Diensten genutzt werden.

Die API-Wirtschaft, eine Reihe von Modellen, die die Integration von Systemen, Daten und Anwendungen ermöglichen, ist eine Schlüsselkomponente der Anwendungsbereitstellung. Wenn Sie an die Anwendungen denken, die Sie heute nutzen, werden Sie kaum Beispiele finden, die nicht über einige für ihren Betrieb wichtige Integrationsfunktionen verfügen. Dabei kann es sich um Integrationen mit Konten in sozialen Medien, Authentifizierungsdiensten oder externen Datenquellen handeln.

In der Tat sind viele Geschäftsabläufe vollständig von diesen Integrationen abhängig, und APIs werden heute als wichtiges Unterscheidungsmerkmal für Unternehmen angesehen. Eine entscheidende Voraussetzung für die erfolgreiche Bereitstellung geschäftskritischer APIs ist, dass diese jederzeit verfügbar sind, sicher veröffentlicht werden, einfach zu verwalten sind und eine Beobachtbarkeit für den erfolgreichen Betrieb bieten. Es wird immer üblicher, dass ein API-Gateway Teil der Anwendungsinfrastruktur ist.

Was ist ein API-Gateway?

API ist ein Akronym für Application Performance Interface, also eine Schnittstelle, die es zwei Anwendungen ermöglicht, miteinander zu kommunizieren. APIs werden normalerweise über HTTP(s) bereitgestellt. Ein API-Gateway ist ein Verwaltungstool, das alle API-Aufrufe entgegennimmt und sie dann an das entsprechende Ergebnis weiterleitet.

In den Anfängen der Entwicklung von Anwendungen, die APIs für die Kommunikation nutzen, gab es einen klaren Bedarf an API-Verwaltung - eine Möglichkeit, allgemeine Funktionen wie Authentifizierung, Drosselung und SSL-Verschlüsselung/Entschlüsselung getrennt von der Geschäftslogik der Anwendung durchzuführen. Die Entwickler begannen, ein API-Gateway zu verwenden, das den Zugriff auf APIs über einen einzigen Edge-Endpunkt veröffentlicht, der diese Funktionen ausführen und außerdem Anfragen mit minimaler Verzögerung an die richtigen Endpunkte weiterleiten kann.

Load Balancer und Application Delivery Controller (ADCs)

Load Balancer gibt es seit den 1990er Jahren und dienen dem Zweck, den Datenverkehr auf mehrere Server zu verteilen, um eine Redundanz bei der Skalierung von Lasten zu ermöglichen.

Diagram displaying how a load balancer works.

Im Zuge der Weiterentwicklung der Netzwerke führte der Bedarf an mehr Funktionen am Edge zur Weiterentwicklung des einfachen Load Balancers zum Application Delivery Controller, der erweiterte Layer-7-Sicherheitsfunktionen hinzufügte, wie z. B. das Filtern von HTTP-Anfragen, das Implementieren von Sicherheitsfunktionen und Weboptimierungen wie SSL-Offloading und Caching.

Diagram showing the functionality of a load balancer.

Der Reverse-Proxy bezieht sich auf die Nutzung der erweiterten ADC-Funktionen, unabhängig davon, ob Load-Balancing erforderlich ist oder nicht. Traditionell haben Netzwerkbetriebsteams Load-Balancer verwaltet, um sicherzustellen, dass die Datenverkehrslast verwaltet und die Anwendungsverfügbarkeit maximiert wird, jedoch entkoppelt von der eigentlichen Anwendungsentwicklung.

Was macht ein API-Gateway?

Was ist die Aufgabe eines API-Gateways? Ein API-Gateway bietet Dienste zur Vereinfachung der Entwicklung von APIs. Diese Funktionalität kann fast alle Funktionen umfassen, die für ADCs beschrieben werden, einschließlich:

  • Authentifizierung von Anfragen
  • Filtern und Weiterleiten von Anfragen
  • Kündigung von SSL
  • Caching von Daten
  • Rate limiting 
  • Protokollierung und Metriken

Einige API-Gateways bieten die Möglichkeit, eine Protokollübersetzung durchzuführen, bei der eine eingehende Anfrage von einem Format in ein anderes übersetzt wird. Zum Beispiel HTTP in GRPC. Eine weitere Funktion, die in einigen Fällen genutzt wird, ist die Anforderungsaggregation. Bei der Anforderungsaggregation löst eine einzelne Anforderung, die von einem API-Gateway empfangen wird, mehrere Anforderungen an verschiedene Endpunkte aus, die eine einzige Antwort an den Kunden zurückgeben.

Diagram displaying how an API Gateway works.

Load Balancer und API-Gateways: Wie funktionieren sie zusammen?

Load-Balancer und API-Gateways überschneiden sich, abgesehen von ein oder zwei neuen Konzepten, in vielen Funktionen. Eine Frage, die sich Netz- oder IT-Betreiber stellen werden, ist, ob ein separates API-Gateway erforderlich ist oder ob die Funktionalität mit einem herkömmlichen Load-Balancer vereint werden kann.

Die Beantwortung dieser Frage hängt von zwei Faktoren ab:

Funktionsumfang

Abhängig vom Anbieter und der Art und Weise, wie die API gestaltet ist, ist es sehr wahrscheinlich, dass die meisten, wenn nicht sogar alle verwendeten Funktionen verfügbar sind. Um dies zu ermitteln, sollte ein vollständiges Audit der aktuell erforderlichen API-Gateway-Funktionalität durchgeführt und ein Vergleich mit den vom vorhandenen Load Balancer verfügbaren Funktionen durchgeführt werden.

Organisationsstruktur

In einigen Unternehmen ist es wünschenswert, dass der Betrieb des API-Gateways von Dev Ops-Teams verwaltet wird, die von den Network Operations-Teams, die den Load Balancer verwalten, getrennt sind. Dev Ops-Teams benötigen möglicherweise häufige Aktualisierungen der API-Gateway-Konfiguration, und dies ist nicht unbedingt typisch für die Art und Weise, wie Änderungen an der Load-Balancer-Konfiguration vorgenommen werden. Mit Load-Balancern, die jetzt Unterstützung für das Konfigurationsmanagement bieten, ist dies möglicherweise kein Problem mehr.

Progress Kemp LoadMaster verfügt über die folgenden Funktionen, um eine erfolgreiche API-Bereitstellung zu ermöglichen:

LoadMaster Load Balancer verfügt außerdem über eine RESTful-API, die in Verbindung mit vielen Skriptmethoden und -anwendungen verwendet werden kann, um die Automatisierung der Konfiguration zu ermöglichen.

LoadMaster ist die erste Wahl für Unternehmen, die Load-Balancing benötigen. Mit mehr als 100.000 Bereitstellungen bietet LoadMaster die leistungsfähigsten Lösungen für das Load-Balancing, um sicherzustellen, dass Anwendungen immer verfügbar sind.

 

 

Veröffentlicht am

Maurice McMullin

Maurice McMullin ist Principal Product Marketing Manager bei Kemp und verfügt über langjährige Erfahrung in der Entwicklung und Vermarktung von Netzwerk- und Sicherheitsprodukten. Er hat in Unternehmen aller Größen gearbeitet, von Zwei-Personen-Startups bis hin zu multinationalen Konzernen, in so unterschiedlichen Rollen wie Programmierer und CTO.