Überblick
API-Management umfasst die Verteilung, Kontrolle und Analyse von APIs, mit denen Anwendungen und Daten unternehmens- und cloudübergreifend miteinander verbunden werden. Damit können Organisationen, die APIs erstellen oder von Dritten nutzen, Aktivitäten überwachen und sicherstellen, dass alle Anforderungen der Entwickler und Anwendungen erfüllt werden, die diese APIs verwenden.
Organisationen implementieren vermehrt Strategien für das API-Management, um auf sich rasant ändernde Kundenforderungen reagieren zu können. In den meisten Fällen setzen diese Unternehmen eine Microservice-Architektur ein, um die Forderungen nach einer schnelleren Softwareentwicklung zu erfüllen. HTTP-basierte APIs sind mittlerweile die bevorzugte Methode für eine synchrone Interaktion zwischen Microservice-Architekturen. Sie sind sozusagen der Klebstoff, der alle diese Microservices zusammenhält. Mithilfe des API-Managements stellt eine Organisation sicher, dass die APIs den Unternehmensrichtlinien entsprechen. Damit können außerdem jeweils geeignete Sicherheitsstufen verwendet werden, da eventuell nicht alle Services dieselben Sicherheitsrichtlinien brauchen.
Was hat API-Management für Sie zu bieten?
Beim API-Management geht es in der Hauptsache um eine zentrale Steuerung Ihres API-Programms – einschließlich Analysen, Zugangskontrolle, Monetarisierung und Entwickler-Workflows. Eine API-Managementlösung wie Red Hat 3scale API Management bietet Zuverlässigkeit, Flexibilität, Qualität und Geschwindigkeit. Um diese Ziele zu erreichen und sicherzustellen, dass sowohl öffentliche als auch interne APIs genutzt werden können und dabei sicher sind, sollte eine solche Lösung mindestens über Zugriffskontrollen, Ratenbeschränkungen und Nutzungsrichtlinien verfügen. Gängige API-Managementlösungen enthalten folgende Funktionen:
- Entwickler-Portal: Solche Portale gehören zu den Best Practices des API-Managements. Über sie werden typischerweise API-Dokumentationen und Onboarding-Prozesse für Entwickler (wie Registrierungs- und Kontoverwaltung) bereitgestellt.
- API Gateway: Ein API-Gateway ist der Single Point of Entry für alle Clients. Das Gateway legt auch fest, wie die Clients durch die Anwendung dieser Richtlinien mit den APIs interagieren.
- API-Lifecycle-Management: APIs müssen vom Design über die Implementierung bis zum Ende ihres Lebenszyklus verwaltet werden können. Red Hat 3scale API Management ist Marktführer in Sachen API-Lifecycle-Management.
- Analysen: Sie müssen jederzeit über Ihre APIs informiert sein, z. B. welche API von welchem Kunden/welcher App aufgerufen wird und wie oft. Dazu müssen Sie auch wissen, wie viele APIs fehlerhaft waren und warum.
- Support für die API-Monetarisierung: Monetarisieren Sie den Zugriff auf die Microservices hinter den APIs mithilfe von Nutzungsverträgen. Mithilfe des API-Managements können Sie solche Verträge basierend auf Kennzahlen (wie die Anzahl der API-Aufrufe) definieren. Verbraucher können in unterschiedliche Zugriffsebenen aufgeteilt werden, denen dann jeweils eine andere Servicequalität angeboten wird.
Diese Funktionen werden schon beim Design der API berücksichtigt, damit die API selbstverwaltete oder Cloud-Komponenten verwenden und Richtlinien zu Datenverkehrssteuerung, Sicherheit und Zugriff durchsetzen kann. Wohl durchdachte APIs lassen sich auf einer Infrastrukturplattform gemeinsam nutzen, verteilen, sichern, kontrollieren und monetarisieren, die unter Berücksichtigung von Performance, Kundenkontrolle und zukünftigem Wachstum erstellt wurde.
API-Management und Microservices
Microservices und APIs sind die Grundlage dafür, dass sich innovative Anwendungskomponenten rasant entwickeln und neue geschäftliche Anforderungen erfüllen – ein Konzept, das auch als cloudnative Anwendungsentwicklung bezeichnet wird. Das Konzept stellt uns jedoch aber auch vor einige Herausforderungen.
Technische Grundvoraussetzung für die Entwicklung von Microservices ist das Zerlegen großer Systeme in kleinere Komponenten. Wie bereits erwähnt, sorgen APIs dafür, dass sich diese kleineren Komponenten mit den Datenquellen und miteinander verbinden können.
Eine weitere Hürde der Microservice-Architektur ist die Frage nach der Koordinierung der vielen sich häufig ändernden Microservices. Das Zauberwort heißt Service Discovery. Das API-Management stellt die notwendigen Discovery- oder Erkennungsmechanismen zur Verfügung, um sicherzustellen, dass verfügbare Microservices gefunden und Dokumente zu ihrer Verwendung über das Entwickler-Portal geteilt werden.
Microservices erfordern einen integrierten Sicherheitsansatz. Sicherheitsmechanismen variieren je nach API-Typ. So erfordern externe Services andere Mechanismen als interne. Für weniger missionskritische APIs reicht üblicherweise ein einfacher Schutz mit API-Schlüssel. Für externe oder kritische APIs aber wird ein sichererer Ansatz wie OAuth benötigt.
Sie möchten eine API für Microservices konzipieren?
Stellen Sie sich folgende wichtige Fragen:
- Wie soll der Zugriff auf die API kontrolliert werden?
- Wie werden Kennzahlen erfasst oder Warnungen gehandhabt?
- Wie werden Nutzungsspitzen verwaltet?
- Wer ist für die API-Uptime verantwortlich?
- Wie gehen Sie mit API-Missbrauch um?
Wie bewerte ich den Erfolg meines API-Managements?
Ohne eine Messung der Auswirkungen Ihrer Anstrengungen können Sie den Erfolg nicht beurteilen. Mithilfe von Analysen erhalten Sie Daten zu API-Aktivitäten, aber die Erfolgskriterien müssen trotzdem definiert werden. Berücksichtigen Sie hierbei die wichtigsten fünf Leistungskennzahlen für APIs:
- Zuverlässigkeit: Hierunter versteht man die Verfügbarkeit der API für die Entwickler. Eine nützliche Kennzahl für die Zuverlässigkeit ist die Ausfallzeit. Ist die API kontinuierlich verfügbar? Eine weitere Kennzahl ist die Quote, die angibt, wie viele API-Aufrufe von einem Entwickler in einem bestimmten Zeitrahmen getätigt werden können. Mit Quoten kann ein API-Missbrauch vermieden und das Management vorhersehbarer gemacht werden. Die Geschäftsmodelle und Preispläne mancher API-Anbieter basieren auf Quoten.
- Flexibilität: Hiermit sind die Optionen gemeint, die den Entwicklern bei der Integration von APIs zur Verfügung stehen. Je größer die Flexibilität einer API, desto größer Aufwand (und Kosten) für die verwaltende Organisation.
- Qualität: Hierunter versteht man, inwieweit das API-Verhalten mit den Erwartungen des Entwicklers übereinstimmt. Mit anderen Worten, es wird die Zufriedenheit des Entwicklers bewertet.
- Geschwindigkeit: Diese lässt sich anhand von Zugriffslatenzzeiten und Durchsatz bestimmen. Die Geschwindigkeit kann durch Techniken wie Throttling oder Caching beeinflusst werden.
- Kosten: Ziel der Kostenmessung ist es, dass Sie für Ihr Geld die bestmögliche Entwicklerleistung erhalten. Alle der anderen vier Kriterien tragen auf die eine oder andere Weise zum Kostenziel bei.