Headerbild

eBizTalk - Berichten, Unterhalten, Weiterbilden

Ob Branchendiskurs, Fachartikel oder ein Blick hinter die Unternehmenskulissen: eBizTalk ist die Plattform, die uns auffordert, unsere Leser über Events und Projekte auf dem Laufenden zu halten. Und uns gegenseitig natürlich auch.

Der versteckte Teil des Eisbergs: API Management in großen Unternehmen - Teil 1 - Generelle Übersicht

Veröffentlicht am 27.03.2020 von Hieronymus Deutsch , APIM , Azure , Enterprise


Dieser Artikel ist der Erste in einer Reihe von Artikeln über API Management in Enterprise Organisationen. Ziel der Reihe ist es meine Sicht darauf zu geben, wie API Management im Enterprise-Kontext eingesetzt werden kann.


Die Rolle des API Managements (APIM)

Das API-Management ist der Prozess der Überwachung von Application Programming Interfaces (APIs) in einer sicheren, skalierbaren Umgebung. Das Ziel von des API Managements ist es den Lebenszyclus und die Verwendung einer API zu überwachen. Sie können so sicherstellen, dass Anforderungen von Entwicklern eingehalten werden.[1]

Um diesen Prozess zu unterstützen haben viele Unternehmen eine Softwarelösung geschaffen. Gartner hat diese am 09.Oktober 2019 in einem Magic Quadrant for Full Life Cycle API Management bewertet. Zu den „Leaders“ gehören unter anderem:

· AWS (Amazon Web Services)

· Google (mit Apigee)

· Microsoft (Azure API Management)

· Uvm.

Für technische Beispiele im Laufe der Blog-Serie zu API Management werde ich Azure API Management von Microsoft verwenden. Die meisten Konzepte sind jedoch meist problemlos übertragbar auf andere Anbieter.

Wenn das API-Management in einem Unternehmen richtig implementiert ist, führt es zu folgenden Ergebnissen:

· besser verwaltete Entwickler-Community

· gute Kontrolle über die API-Verwendung

· Entdecken von potenziellen Monetarisierungsmöglichkeiten

· robuster Sicherheits- und Governance-Prozess

· Geldeinsparung durch Vermeidung von Neuentwicklungen


Aufbau eines API Management Systems

Häufig sieht man, dass die Systeme von der logischen Architektur her aufgeteilt sind in einen API Developer und in einen API-Konsumenten fokussierten Teil; auch wenn diese Parteien nicht überall gleich benannt sind.

clip_image002

Figure 1: Architektur eines API Managements (Azure APIM). Quelle: azure.microsoft.com/en-us/services/api-management

Der Grund für diese Aufteilung liegt nicht nur in der zweiseitigen Natur von APIs. Ziel ist auch APIs, je nach Unternehmensstrategie verfügbar, auffindbar und insbesondere wiederverwendbar zu machen. In einem späteren Artikel werde ich näher auf die Best-Practices von API Management eingehen. So „stay tuned“!


API Gateway

Das API-Gateway ist der Endpunkt, der folgende Aufgaben übernimmt:

· Akzeptieren von API-Aufrufen und Weiterleiten dieser Aufrufe an Ihre Back-Ends

· Überprüfen von API-Schlüsseln, JWT-Token, Zertifikaten und anderen Anmeldeinformationen

· Erzwingen von Nutzungskontingenten und Übertragungsratenlimits

· Dynamisches Transformieren Ihrer API ohne Codeänderungen

· Zwischenspeichern von Back-End-Antworten, falls eingerichtet

· Protokollieren von Aufrufmetadaten zu Analysezwecken


Developer Portal

Das Developer Portal dient als wichtigste Webpräsenz für Veröffentlicher von APIs und als wichtigste Informationsquelle für Konsumenten/Entwickler. Es ermöglicht Folgendes:

· Lesen der API-Dokumentation

· Ausprobieren einer API mithilfe der interaktiven Konsole

· Erstellen eines Kontos und Anfordern von API-Zugriffsdaten

· Zugriff auf Nutzungsanalysen


Management Plane

Diese Oberfläche ist die Verwaltungsebene, über die das “API Management” durch die API-Administratoren verwaltet wird. Dazu gehört unter anderem:

· Definieren oder Importieren des API-Schemas

· Paketieren von APIs in Produkten

· Konfigurieren von Richtlinien wie z. B. Kontingenten oder Transformationen für die APIs

· Gewinnen von Erkenntnissen mithilfe von Analysen

· Verwalten von Benutzern


Sicherheit

Mit dem API Management lassen sich die backend-Services schützen. Eine typische Aufgabe ist die des „Edge“ Gateways, das zwischen Unternehmen und dem Internet typischerweise in einer demilitarisierten Zone (DMZ) angesiedelt ist. Ein API-Gateway kann Konsumenten authentifizieren und Anfragen autorisieren. Das Format und der Inhalt von Anfragen kann gegen Formatbeschreibungen (Schema) geprüft (validiert) werden. Die Transportverschlüsselung mit TLS bzw. SSL kann ebenfalls ein API Gateway übernehmen. Dadurch können sogar nicht explizit abgesicherte APIs sicher zur Nutzung angeboten werden.


Monitoring

Da das Gateway, wie der Name bereits vermuten lässt, die Anfragen entgegennimmt und validiert, werden dabei Metriken erfasst. Standartmäßig werden Last auf das Gateway, Anzahl der Verbindungen, Verfügbarkeit und Antwortzeiten erfasst. Diese werden in der Management Plane visualisiert. Es ist hier dann möglich „Alarme“ basierend auf den Metriken zu erstellen, um zum Beispiel schnell über kritische Probleme informiert zu werden.


Logging

Es ist möglich Logeinträge für alle Aufrufe des Gateways zu schreiben. Meist ist es jedoch üblich die Logs für einzelne APIs und Operationen zu gesonderten Log-Umgebungen zu senden, damit jeder API-Entwickler gesondert auf die für ihn relevanten Logs Zugriff hat.

 

Routing

Aufrufe können vom API Management Gateway an verschiedene Systeme weitergeleitet werden. Diese Regeln können den Inhalt des Aufrufes verwenden, um beispielsweise Aufrufe an verschiedene Versionen des Backendsystems zu senden.


Transformation

Häufig möchte man nicht, dass das Datenformat des Back-Ends auch in den Aufrufen verwendet wird. Hierfür bietet das API Management eine Funktion an, die es ermöglicht den Inhalt der Aufrufe zu transformieren, um Back-End-kompatibel zu sein.


Access Management

Durch die Aufteilung in API-Entwickler und API-Konsumenten ist das Zugriffsmanagement ähnlich aufgeteilt. So kann man beiden Gruppen in ihrem Bereich getrennt per RBAC (Role Based access controll) Zugriff auf die APIs geben.

Damit kann man genau definieren welcher Konsument welche APIs oder API-Produkte sehen darf und auf API-Entwickler Seite ebenso kontrollieren wer welche Eigenschaften einer API verändern darf.


Abrechnung/Monetarisierung

Für viele Firmen gehört es dazu die Nutzung von APIs an ein Bezahl-Model zu koppeln. Zur Limitierung der Anzahl an Aufrufen pro Konsumenten bieten API Management Systeme entsprechende Funktionalität an. Dadurch müssen solch aufwändig zu implementierende Limitierungen nicht in den Back-End APIs implementiert werden.


Fazit

Wenn du es bis hierhin geschafft hast, hast du ein gutes Grundverständnis erlangt um nun in jedes einzelne Thema gesondert einsteigen zu können.

Ein API Management als Tool ist vielseitig und gibt eine breite Palette an Funktionen vor, die von Unternehmen verwendet werden können, um nicht nur APIs zu sichern und zu verwalten, sondern auch um eine Strategie zu verfolgen, die über ein “einfaches Verwalten” von APIs hinausgeht.

Im Laufe der Serie plane ich unter anderem die folgenden Aspekte zu betrachten:

· APIs als Produkte

· API Live-Cycle

· Policy

· Monitoring & Logging

· Sicherheit

· Routing

· APIM mit Microservices oder Serverless

· …


[1] searchsoa.techtarget.com/definition/API-management

google_about_ebiz fb_about_ebiztwitter_about_ebizxing_about_ebiz