Einer der größten Trends bei der Anwendungsbereitstellung ist die immer größere Bedeutung von Integrationsmöglichkeiten. Webanwendungen werden nicht nur von Endnutzern in Anspruch genommen, sondern stellen auch Funktionen dar, die von anderen Anwendungen oder Diensten genutzt werden.
Die API-Ökonomie, eine Reihe von Modellen, die die Integration von Systemen, Daten und Anwendungen ermöglichen, ist eine wichtige Komponente der Anwendungsbereitstellung. Wenn Sie an die heutigen Anwendungen denken, ist es schwer, Beispiele zu finden, die keine Integrationsfunktionen haben, die für ihren Betrieb entscheidend sind. Dabei kann es sich um Integrationen mit Social Media Accounts, 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 Überwachungsmöglichkeit für den erfolgreichen Betrieb bieten. Es ist immer üblicher, dass ein API-Gateway Teil der Anwendungsinfrastruktur wird.
Was ist ein API-Gateway?
API ist das Kürzel für Application Performance Interface. In anderen Worten 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-Anfragen entgegennimmt und sie dann an das entsprechende Ziel weiterleitet.
In den Anfangszeiten der Entwicklung von Anwendungen, die APIs für die Kommunikation nutzen, gab es einen eindeutigen Bedarf an einer API-Verwaltung - eine Möglichkeit, allgemeine Funktionen wie Authentifizierung, Drosselung und SSL-Verschlüsselung/Entschlüsselung getrennt von der Unternehmenslogik der Anwendung durchzuführen. Die Entwickler begannen, ein API-Gateway zu verwenden, das den Zugriff auf APIs über einen einzigen Edge-Endpunkt herausgibt, der diese Funktionen ausführen und 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 sie verfolgen den Zweck, den Datenverkehr auf mehrere Server zu verteilen, um eine doppelte Skalierung der Datenlasten zu ermöglichen.
Im Laufe der Weiterentwicklung von Netzwerken führte der Bedarf an mehr Funktionalität am Rande des Netzwerks dazu, dass sich der einfache Load Balancer zum Application Delivery Controller entwickelte. Durch den sogenannten Application Delivery Controller wurden erweiterte Layer-7-Sicherheitsfunktionen, wie z.B. das Filtern von HTTP-Anfragen, die Implementierung von Sicherheitsfunktionen und Web-Optimierungen wie SSL-Offloading und Caching eingeführt.
Der Reverse-Proxy bezieht sich auf die Nutzung der erweiterten ADC-Funktionen, unabhängig davon, ob Load Balancing erforderlich ist oder nicht. Bislang haben Netzwerkbetriebsteams Load Balancer verwaltet, um sicherzustellen, dass die Datenverkehrslast verwaltet und die Anwendungsverfügbarkeit maximiert wird, aber von der eigentlichen Anwendungsentwicklung abgekoppelt.
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 Annfragen
- Filtern und Weiterleiten von Anfragen
- Beendigung von SSL
- Zwischenspeichern 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 Anfragenansammlung. Bei der Anfragenansammlung bewirkt eine einzelne Anfrage, die von einem API-Gateway empfangen wird, mehrere Anfragen an verschiedenen Endpunkte, die eine einzige Antwort an den Kunden zurückgeben.
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 benötigt wird 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
- Je nach Anbieter und Gestaltung der API ist es sehr wahrscheinlich, dass die meisten, wenn nicht sogar alle Funktionen, die genutzt werden, verfügbar sind. Um dies festzustellen, sollte eine vollständige Analyse der aktuell benötigten API-Gateway-Funktionalität durchgeführt und mit der vom vorhandenen Load Balancer verfügbaren Funktionalität verglichen werden.
- In einigen Unternehmen ist es wünschenswert, dass der Betrieb des API-Gateways von Dev Ops-Teams verwaltet wird, die nicht mit den Network Operations-Teams (,die den Load Balancer verwalten) zusammenarbeiten. Dev Ops-Teams benötigen möglicherweise häufige Updates zur API-Gateway-Konfiguration. Diese Updates sind möglicherweise nicht für Änderungen der Load Balancer-Konfiguration typisch. Mit Load Balancern, die mittlerweile auch Unterstützungsfunktionen für das Konfigurationsmanagement bieten, ist dies möglicherweise kein Problem mehr.
Progress Kemp LoadMaster verfügt über die folgenden Features, um eine erfolgreiche API-Bereitstellung zu ermöglichen:
- SubVSs für das API-Traffic-Routing zwischen Diensten
- Inhaltsregeln für die Verarbeitung von HTTP-Anforderungen/-Antworten
- Unterstützung bei der Ratenbegrenzung
- Edge Security Pack für die Vorauthentifizierung
- Web Application Firewall (WAF)
Der LoadMaster Load Balancer verfügt zudem über eine RESTful API, die in Verbindung mit vielen Scripting-Methoden und Anwendungen verwendet werden kann, um die Konfigurationen zu automatisieren.
LoadMaster ist die beste Lösung für Unternehmen, die ein Load Balancing benötigen. Mit mehr als 100.000 Installationen bietet LoadMaster die leistungsfähigsten Optionen für das Load Balancing, um sicherzustellen, dass Anwendungen jederzeit betriebsbereit sind.