API-Management als zentraler Erfolgsfaktor

API-Management-Komponenten

von - 29.04.2019
Zentrale Komponente der meisten Management-Lösungen ist ein API-Gateway. Es vermittelt zwischen den per API aufgerufenen Funktionen und internen Services oder Daten, dient als Proxy, um interne Adressen auf externe zu mappen, und übersetzt Protokolle aus der internen Unternehmens­­infrastruktur, etwa einem Enterprise Service Bus (ESB), für die HTTP-basierte Außenwelt. Meist übernehmen Gateways auch die Authentifizierung der Anwender, die Durchsetzung von Nutzungsrichtlinien sowie die Abrechnung.
In Serverless-Computing-Umgebungen wie AWS Lambda fungiert das API-Gateway als Übersetzer zwischen den HTTP-Requests und den rein Event-basierten Lambda-Funktionen. In Microservice-Architekturen kommen außerdem immer häufiger Microgateways zum Einsatz, um die Lastenverteilung zu optimieren und Latenzen zu verringern. „In einer massiv verteilten Umgebung können zentrale API-Management-Lösungen zu einem Engpass werden“, warnt Rob Zazueta, Director of Digital Platform Strategy bei Tibco Software.
Rob Zazueta
Rob Zazueta
Director of Digital Platform Strategy bei Tibco Software
www.tibco.com
Foto: Tibco Software
„In einer massiv verteilten Umgebung können zentrale API-Management-Lösungen zu einem Engpass werden.“
Microgateways übernehmen vom zentralen Management einen Großteil der Verwaltungsaufgaben, steuern für jeden Microservice die Kommunikation zwischen dem Dienst und der Außenwelt, sorgen für ein Load Balancing und stellen die Einhaltung von Nutzungsrichtlinien sicher.
Die meisten API-Management-Lösungen bieten außerdem eine Caching-Funktion. „Ein gutes API-Management sollte die Hauptlast der Anfragen tragen und in der Lage sein, leicht zu skalieren und zu cachen, um so zu verhindern, dass das Backend durch Anfragen überlastet wird“, erklärt Rob Zazueta. Der Cache speichert Antworten auf Anfragen zwischen und kann so Latenz und Bandbreitenauslastung senken. Vor allem bei Daten, die sich selten ändern, lassen sich Antwortzeiten durch Caching-Funktionen drastisch verringern.
Eine weitere wichtige Komponente ist das Developer-Portal. Es dient als zentraler Marktplatz für die APIs. Hier können sich Entwickler über den Leistungsumfang der APIs sowie die Voraussetzungen für deren Nutzung informieren und sich registrieren. Auf dem Portal verfügbare Funktionsbeschreibungen und FAQs erleichtern ihnen dabei den Einstieg. Forenfunktionen erlauben den Austausch von Informationen und dienen als Plattform für die gegenseitige Unterstützung. Bei kostenpflichtigen Angeboten kann außerdem die Abrechnung über das Entwicklerportal erfolgen.
Für die Anbieter von APIs stellen API-Management-Lösungen außerdem eine Administrationsoberfläche zur Verfügung. Sie erlaubt es unter anderem, Richtlinien zu definieren, Gateways einzurichten und Nutzer zu verwalten.
Je nach Leistungsumfang sind weitere Module in der Lösung enthalten. Grafikbasierte Entwicklungsumgebungen erlauben ein schnelles und einfaches API-Design, über Analyse-Tools lässt sich die Nutzung der APIs verfolgen, Abrechnungsmodule ermöglichen die Monetarisierung des API-Angebots.
Glossar: API-Verwaltung
Apache Kafka: Open-Source-System für die Verarbeitung und den Austausch von Datenströmen über vier Hauptschnittstellen (Producer, Consumer, Connect und Streams API).
EDI (Electronic Data Interchange): Unternehmensübergreifender Austausch von Geschäftsdaten über standardisierte Verfahren wie EDIFACT (Electronic Data Interchange for Administration, Commerce and Transport).
ESB (Enterprise Service Bus): Zwischenschicht zur Integra­tion verteilter Systeme, über die Dienste miteinander kommunizieren und Daten austauschen können.
GraphQL: Von Facebook entwickelte Alternative zu REST.
Die Abfragesprache erlaubt es Clients, die Struktur der benötigten Daten zu definieren, um so die Übertragung zwischen Server und Client effizienter zu gestalten.
Microservice: Einzelne, in sich abgeschlossene Software-Komponente als unabhängiger Bestandteil einer Applikation. Ein Microservice sollte so klein wie möglich sein und nur eine Aufgabe abbilden. Mit Microservices lässt sich eine agile, kontinuierliche Software-Entwicklung realisieren, da beim Update nur die eine betroffene Komponente und nicht das komplette Programm aktualisiert werden muss.
MQTT (Message Queuing Telemetry Transport): Offenes Nachrichtenprotokoll für IoT-Umgebungen, das den Informa­tionsaustausch zwischen Geräten auch bei hoher Latenz und geringer Bandbreite ermöglichen soll.
REST (Representational State Transfer): Abstrakte Beschreibung für Übertragungsprotokolle. Ein REST-konformer Dienst muss eindeutig adressierbar sein, je nach Anforderung Ressourcen in unterschiedlichen Formaten ausliefern (zum Beispiel HTML, JSON, XML), zustandslos sein, das heißt keine zusätzlichen Informationen über den Status von Client oder Server benötigen, und Operatoren zur Auslieferung und Veränderung von Informationen zur Verfügung stellen. Nach dem REST-Paradigma programmierte APIs nutzen Standardmethoden und - protokolle des Internets und sind daher vor allem für Webservices gut geeignet. Der einfache Aufbau, die Einheitlichkeit der Schnittstelle und die vielfältigen Nutzungsmöglichkeiten haben zur weiten Verbreitung sogenannter RESTful APIs geführt.
SOAP: Ursprünglich Abkürzung für Simple Object Access Protocol, heute nicht mehr als Akronym gebraucht. Ein vom World Wide Web Consortium (W3C) standardisiertes Netzwerkprotokoll, das auf Basis von XML den Austausch von Nachrichten über Internetprotokolle wie HTTP und TCP ermöglicht.
WebSocket: Netzwerkprotokoll auf Basis von TCP; ermöglicht im Vergleich zu HTTP eine effizientere Kommunikation zwischen Webanwendung und Webserver.
Verwandte Themen