API-Management
API-Management ist der Prozess der Entwicklung, Überwachung und Veröffentlichung von Programmierschnittstellen (Application Programming Interface, API). Das Ziel des API-Managements ist es, Organisationen, die eine API veröffentlichen oder verwenden, die Möglichkeit zu geben, den Lebenszyklus der Schnittstelle zu überwachen und sicherzustellen, dass die Anforderungen der Entwickler und der Anwendungen, die die API verwenden, erfüllt werden.
Die Anforderungen an das API-Management können sich von Organisation zu Organisation unterscheiden, doch API-Managementlösungen selbst umfassen grundlegende gemeinsame Funktionen, einschließlich Security, Monitoring und Versionskontrolle.
API-Management hat sich aufgrund der wachsenden Abhängigkeit der Unternehmen von Programmierschnittstellen, der beträchtlichen Zunahme der Anzahl von APIs, auf die sie angewiesen sind, und der administrativen Komplexität, die APIs mit sich bringen, immer mehr durchgesetzt.
Die Anforderungen und der Prozess der Erstellung und Verwaltung von APIs unterscheiden sich von den meisten anderen Anwendungen. Um richtig genutzt zu werden, benötigen APIs eine detaillierte Dokumentation, ein erhöhtes Maß an Sicherheit, umfassende Tests, routinemäßige Versionierung und hohe Zuverlässigkeit. Der Einsatz von API-Managementsoftware hat ebenfalls zugenommen, da diese Anforderungen oft über den Rahmen der von den Organisationen durchgeführten Softwareprojekte hinausgehen.
Die Bedeutung von API-Management
APIs bieten einen Zugang zu den Daten eines Unternehmens und machen Unternehmenswerte über verschiedene Anwendungen hinweg verfügbar. Sie werden auch von Unternehmen verwendet, um Kunden-, Mitarbeiter- und Partnerinteraktionen eine digitale Ebene hinzuzufügen. Folglich ist API-Management von großer Bedeutung, da Entwickler und Unternehmen APIs darüber sichern, skalieren, steuern, analysieren und monetarisieren können.
Die API-Sicherheit ist das erste wichtige Element des API-Managements. Sie ist notwendig für den Schutz der APIs vor unbefugtem Zugriff und Bedrohungen. API-Sicherheit erfordert mehr als Authentifizierung und Autorisierung des Benutzerzugriffs auf die API. Es müssen Standards und Richtlinien festgelegt werden, um sensible Daten zu schützen und sicherzustellen, dass sie nicht durchsickern oder kompromittiert werden. API-Managementplattformen können Unternehmen helfen, einen standardisierten Satz von Richtlinien zum Schutz von APIs zu definieren. Das API-Management kann auch verwendet werden, um sicherzustellen, dass der Datenverkehr zu Backend-Systemen erfolgreich verwaltet wird.
Ein weiteres wesentliches Element des API-Managements ist API-Governance. Das primäre Ziel des API-Managements ist die Schaffung einer konsistenten Erfahrung für Endbenutzer. Sie umfasst jedoch auch die Auffindbarkeit der APIs, Lifecycle-Management, Dokumentation und Wiederverwendbarkeit. Darüber hinaus können Entwickler mit API-Governance sicherstellen, dass jedes API-Programm proaktiv erstellt wird und ein bestimmtes Ziel erfüllt, das einen Mehrwert für das gesamte Unternehmen darstellt.
Mobilgeräte werden für die Arbeit mit Enterprise-Software immer beliebter. Daher ist es für Entwickler wichtig, API-Governance zu nutzen, um reichhaltige und komplexe APIs zu erstellen, die die mobile Benutzererfahrung verbessern.
Die API-Analyse, das dritte Element des API-Managements, konzentriert sich auf die zentralisierte Sammlung und Analyse von API-Metriken, die durch Echtzeitüberwachung und Dashboards bereitgestellt werden. Die API-Analyse ermöglicht es Entwicklern und Unternehmen, die Nutzung ihrer APIs zu überwachen und zu verstehen sowie deren Leistung zu bewerten. Diese Komponente ist für Entwickler, IT-Betrieb und Geschäftsteams von Bedeutung.
Schließlich ermöglicht API-Management die Monetarisierung von APIs. Dies bezieht sich auf die Fähigkeit einer Unternehmens-API, Einnahmen zu generieren. Die Monetarisierung von APIs umfasst die Erstellung von maßgeschneiderten Paketen und Plänen, die Produktion von Daten und die ordnungsgemäße Lizenzierung von Produkten.
API-Managementsoftware
API-Managementsoftware wurde mit dem Ziel entwickelt, API-Design, -Bereitstellung und -Wartung einfacher und effizienter zu gestalten. Obwohl jedes einzelne API-Management-Tool seinen eigenen Satz an Funktionen hat, umfassen die meisten Anwendungen wesentliche Funktionen für Dokumentation, Security, Sandbox-Umgebungen, hohe Verfügbarkeit und Abwärtskompatibilität.
API-Management-Tools bieten in der Regel folgende Funktionen:
- Automatisierung und Steuerung von Verbindungen zwischen einer API und den Anwendungen, die sie verwenden.
- Sicherstellen der Konsistenz zwischen mehreren API-Implementierungen und Versionen.
- Überwachung des Datenverkehrs von einzelnen Anwendungen.
- Bereitstellung von Speicherverwaltung und Caching-Mechanismen zur Verbesserung der Anwendungsleistung.
- Schützen der API vor Missbrauch, indem sie in Sicherheitsprozeduren und -richtlinien verpackt wird.
- Konfiguration der Endpunkte, Load Balancing und Fehlertoleranz.
API-Managementsoftware kann intern erstellt oder als Service über einen Drittanbieter erworben werden. Das OpenAPI Initiative – angeführt von Unternehmen wie Facebook, Google und Twitter – soll zu einer deutlich verringerten API-Abhängigkeit von konventionellen serviceorientierten Architekturen (SOA) zugunsten von leichteren JSON- und REST-Diensten führen. Einige API-Management-Tools können vorhandene SOAP-, JMS- oder MQ-Schnittstellen in RESTful APIs oder JSON-Inhalte konvertieren.
API-Managementplattformen
Während einige Organisationen in der Lage sind, mehrere API-Management-Tools zusammenzufügen, um ihre Anforderungen zu erfüllen, verwenden andere Organisationen eine API-Managementplattform, bei der es sich um eine vorgefertigte Sammlung von Tools handelt, die normalerweise in einer standardisierten API-Entwicklungs-, Bereitstellungs- und Managementumgebung verpackt sind.
Eine API-Managementplattform fungiert als Proxy für API-Anforderungen und schützt die Backend-Dienste davor, durch zu viele Abfragen oder Sicherheitsverletzungen beeinträchtigt zu werden. API-Manager können API-Managementplattform verwenden, um sicherzustellen, dass Kunden, Partner oder interne Anwender keine Dienste absichtlich oder unabsichtlich durch zu viele Abfragen an den Backend-Server lahmlegen.
Im Allgemeinen umfassen API-Managementplattform auch Analysen und Nutzungsberichte, API-Schlüssel- und Berechtigungsverwaltung, Live-Dokumentation und Verwaltung der Entwickler-Community. Die Plattform kann auch ein Entwicklerportal umfassen, das Entwicklern eine vereinfachte Möglichkeit bietet, APIs, die für die Erstellung bestimmter Anwendungen benötigt werden, sowohl zu erwerben als auch zu verteilen. Apigee (Google) ist ein Beispiel für eine Plattform mit einem Entwicklerportal.
Beispiele für API-Managementplattformen
Es gibt eine breite Palette von API-Managementplattformen. Viele Plattformen sind auf die speziellen Bedürfnisse verschiedener Unternehmen und Branchen zugeschnitten. Eine Reihe großer Softwareunternehmen, darunter Red Hat, IBM, Oracle und Microsoft, haben spezielle Angebote für das API-Management geschaffen.
Beispiele für API-Managementplattformen sind:
- Google Apigee API Management Platform
- CA Technologies (heute Broadcom)
- MuleSoft Anypoint Platform
- WSO2
- Apigee Edge
- TIBCO Cloud Mashery
- Sensedia
- Software AG
- Rogue Wave Software
Verschiedene Open-Source-Optionen für das API-Management wurden ebenfalls als Alternative zu proprietären Tools entwickelt. Beispiele für diese Optionen sind Kong, Tyk Technologies und API Umbrella.
Architektur der API-Managementplattformen
Die ideale API-Managementplattform verfügt über eine geschichtete Architektur mit verschiedenen interagierenden Komponenten. Die Kernkomponenten einer API-Managementplattform sind:
- API Portal
- API Lifecycle Management
- API Policy Manager
- API Analytics
- API Gateway
Das API Portal hat zwei Anwendungszwecke. Erstens nutzen API-Entwickler und -Besitzer das Portal, um ihre APIs bereitzustellen. Dies schließt die Zugriffskontrolle auf die API durch Pläne und Verträge ein. Zweitens nutzen interne und externe Entwickler das Portal, um APIs zu testen und zu dokumentieren sowie ihre Verfügbarkeit zu bewerten.
Über API Lifecycle Management wird der Zustand der API überwacht und verwaltet. Ein typischer API-Lebenszyklus erstreckt sich vom Design über Entwicklung und Tests, Bereitstellung und schließlich Stilllegung.
Über den API Policy Manager wird der Lebenszyklus von Richtlinien gesteuert, die zur Definition und Verwaltung der API verwendet werden. API Policies folgen dem gleichen Weg wie eine API, vom Entwurf bis zur Stilllegung. Viele API-Managementplattformen bieten Anwendern sofort einsatzbereite Richtlinien, die den API-Verkehr steuern, die Security gewährleisten, die Leistung steigern und den Wert der API erhöhen. Diese Richtlinien können ohne das Schreiben von Code oder die Änderung von Backend-Diensten implementiert werden.
API Analytics bietet den Plattformbenutzern zahlreiche Dashboards, die verschiedene betriebliche Aspekte und Geschäftskennzahlen anzeigen. Diese Daten können verwendet werden, um Einblicke in die Fehler- und Leistungsbeschränkungen einer API sowie in die API-Nutzungsmuster und Trends zu erhalten. Diese Informationen können dann für Geschäftsentscheidungen verwendet werden, zum Beispiel für die Monetarisierung der API.
Das API Gateway ist das wichtigste Element der Architektur der API-Managementplattform, da es als eine Art Vermittler zwischen API-Konsument und -Anbieter fungiert. Das Gateway ist eine Komponente, die die Anforderung und Darstellung bestimmter APIs handhabt.
API Gateway
Das API Gateway kann zum Beispiel als Management-Tool innerhalb einer Microservices-Architektur eingesetzt werden. API Gateways präsentieren einem Benutzer oder Client-Gerät eine API und rufen dann APIs für Microservices auf, wobei sie die API und die Verwaltung von Microservices harmonisieren.
Ein API Gateway stellt einem Gerät eine einzige API zur Verfügung, um eine komplexe Reihe von Microservices-Zugriffsprozessen zu maskieren. Diese Lösung birgt jedoch ein gewisses Risiko, da das API Gateway zu einer wesentlichen Anwendung wird. Der Verlust seiner Funktionalität kann zum Ausfall von Services führen, und wenn das Gateway gefährdet ist, kann es alle zugehörigen Microservices beeinträchtigen. Um diese Probleme zu vermeiden, muss das Gateway eine hohe Widerstandsfähigkeit aufweisen und daran gehindert werden, Funktionen hinzuzufügen, die die Leistung beeinträchtigen.
API Gateways versprechen auch die Rationalisierung der Business-to-Business-Integration (B2B) als Alternative zu herkömmlichen Ansätzen, wie zum Beispiel EDI-Diensten (Electronic Data Interchange). Da APIs in der Geschäftswelt immer beliebter werden, werden API Gateways als wesentlicher Bestandteil des digitalen Geschäfts beworben.
Es gibt jedoch zahlreiche Herausforderungen, denen sich Unternehmensarchitekten stellen müssen, damit die Dinge reibungslos funktionieren. Sie müssen sich mit der Tatsache befassen, dass interne Geschäftsprozesse offen für den externen Gebrauch sein können, und auch die Sicherheit durch die Trennung der nach außen gerichteten Schnittstellen von den internen Systemen aufrechterhalten.
Cookies können über das Gateway ebenfalls manipuliert werden, um sicherzustellen, dass sie auf beiden Seiten funktionieren. Das Gateway kann Cookie-Attribute umschreiben, um dessen Herkunft zu verfolgen oder zu garantieren, dass es bei zukünftigen Anfragen an das Gateway zurückgeschickt wird. Einige API-Managementplattformen bieten das automatische Neuschreiben von Cookies an.
Vorteile des API-Managements
Zu den verschiedenen Vorteilen des API-Managements gehören:
- Die Fähigkeit, datenbasierte Entscheidungen über die aus der API-Analyse gewonnenen Geschäftseinblicke zu treffen.
- Schutz der Organisation vor Sicherheitsbedrohungen, die sich auf APIs auswirken.
- Die Möglichkeit, eine detaillierte Dokumentation der API zu erstellen, die zur Gewinnung von Entwicklern und zur Information der Benutzer verwendet werden kann.
- Zentralisierte Sichtbarkeit, die es Unternehmen ermöglicht, alle ihre API-Verbindungen an einer Stelle zu sehen, wodurch Sicherheitslücken reduziert, die Anzahl sich wiederholender APIs verringert und Lücken identifiziert werden, die von den Entwicklern behoben werden müssen.
- Die Möglichkeit, APIs zu monetarisieren, Einnahmen mit Partnern zu teilen und die Rechnungsstellung in Echtzeit zu verfolgen.
- Schaffung einer positiven Benutzererfahrung für API-Anwender.
- Verbesserungen der API-Flexibilität und die Fähigkeit, schnell neue digitale Assets zu erstellen.
- Die Fähigkeit, ein flexibles, agiles, anpassungsfähiges und innovatives Ökosystem zu schaffen, in dem alle Anwender, Prozesse und Technologien zusammenarbeiten können.
Darüber hinaus ermöglicht das API-Management einer Organisation die Optimierung des Wertes ihrer bestehenden Legacy-Systeme durch die Aktualisierung veralteter Sicherheitsprotokolle, so dass diese den modernen Standards der heutigen APIs entsprechen. API-Managementlösungen übersetzen komplexe Daten aus den Altsystemen in einfachere Nachrichtenformate. Darüber hinaus kann das API-Management dazu verwendet werden, alle Backend-Dienste zu einer Funktionalität zu kombinieren, die als API offengelegt wird.