Überblick
API-Management umfasst die Verteilung, Kontrolle und Analyse von Application Programming Interfaces (APIs), mit denen Anwendungen und Daten unternehmens- und cloudübergreifend miteinander verbunden werden. Eine API ermöglicht einen Datenaustausch von 2 Anwendungen in Echtzeit. Hierbei kommen eine Reihe von Tools, Definitionen und Protokolle zur Integration von Anwendungssoftware und Services zum Einsatz.
So können Organisationen, die APIs erstellen oder von Dritten nutzen, Aktivitäten überwachen und sicherstellen, dass die Anforderungen der Entwicklungsteams und Anwendungen erfüllt werden, die diese APIs verwenden. Mit API-Managementtools können Organisationen API-Konfigurationen teilen, den Zugriff kontrollieren, Nutzungsstatistiken sammeln und analysieren und Sicherheitsrichtlinien in ihrem Netzwerk und bei den API-Nutzenden durchsetzen.
Organisationen implementieren vermehrt Strategien für das API-Management, um schnell auf veränderte Kundenanforderungen 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.
Mittlerweile haben sich HTTP-basierte APIs als bevorzugte Methode für eine synchrone Interaktion zwischen Microservice-Architekturen etabliert, während REST-APIs API-Schlüssel, clientspezifisches Throttling, Anfragenvalidierung und private API-Endgeräte unterstützen. 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:
Entwicklerportal: Entwicklerportale 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 die 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 Lifecycles verwaltet werden können. Red Hat 3scale API Management ist ein führendes Produkt im Bereich API-Lifecycle-Management.
Analysen: Sie müssen jederzeit über Ihre APIs informiert sein, z. B. welche API von welchem Nutzenden/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. APIs sorgen 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. API-Management-Services stellen die notwendigen Discovery- oder Erkennungsmechanismen zur Verfügung, um sicherzustellen, dass verfügbare Microservices gefunden und Dokumentation zu ihrer Verwendung über das Entwicklerportal 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.
Was macht eine API-Management-Plattform?
API-Management-Plattformen bestehen aus mehreren wichtigen Komponenten, die mit ihren End-to-End-Services Anwendungsintegration, Management, Sicherheit und Überwachung von APIs ermöglichen.
Ein API-Gateway fängt die eingehenden Client-Anfragen ab und leitet sie an das API-Managementsystem weiter, wo sie mit Backend-Services verbunden werden.
Ein Entwicklerportal ist ein webbasiertes Dashboard, das Entwicklungsteams Self-Service-Zugriff auf API-Dokumentation, Codebeispiele, Software Development Kits (SDKs) und weitere Ressourcen für die API-Entwicklung bietet.
Zum API-Management gehört es auch, das Verwalten und Überwachen des gesamten API-Lifecycles zu erleichtern.API-Lifecycle-Managementtools sind beispielsweise Features zum Designen von APIs, die branchenübliche Anforderungen erfüllen, zur API-Versionierung, zum Managen von Änderungskontrollprozessen und zum Nachverfolgen der API-Nutzung und -Performance über einen längeren Zeitraum.
Um APIs und sensible Daten vor unbefugtem Zugriff und Missbrauch zu schützen, verfügen API-Management-Plattformen über Sicherheits- und Zugriffskontrollen. So werden Authentifizierung und Autorisierung sichergestellt und Sicherheitsrichtlinien umgesetzt. Für das Identitäts- und Zugriffsmanagement kommen dabei Features wie OAuth und OpenID zum Einsatz.
Eine komplette API-Managementplattform verfügt außerdem über Analyse- und Monitoringtools für Insights zur Nutzung und Performance sowie zum Verhalten von APIs. Diese Tools überwachen API-Datenverkehr, Reaktionszeiten, Fehlerraten und beliebte Endpunkte in Echtzeit. Sie verfügen außerdem über historische Daten und Trendanalysen, mit denen Leistungsengpässe erkannt, die API-Nutzung optimiert und die Auswirkung von APIs auf die Geschäftsziele gemessen werden können.
Eine erfolgreiche API-Managementlösung sollte auch eine Erweiterung des IT-Ökosystems erlauben, damit extern mit anderen Systemen oder Partnern oder aber intern mit Systemen im Unternehmensnetzwerk integriert werden kann.
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 APIs für Entwicklerinnen und 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 Entwicklerinnen und Entwicklern 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 Entwicklerinnen und 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 der Entwicklerinnen und Entwickler übereinstimmt. Mit anderen Worten, es wird die Zufriedenheit der Entwicklerinnen und Entwickler 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.
Warum Red Hat?
Red Hat® OpenShift®, die branchenführende Hybrid Cloud-Anwendungsplattform auf Basis von Kubernetes, kombiniert getestete und bewährte Services, mit denen Sie Anwendungen reibungslos entwickeln, modernisieren, bereitstellen, ausführen und verwalten können. Unabhängig davon, ob es lokal, in der Hybrid Cloud, Multi Cloud oder auch nativ auf beliebten Cloud Services bereitgestellt wird, unterstützt Red Hat OpenShift selbst anspruchsvolle Workloads, wie KI/ML und Edge, und erlaubt es Ihnen darüber hinaus, das Deployment und Lifecycle-Management mit unserem umfangreichen Partnernetzwerk von Technologiepartnern zu automatisieren.
Red Hat® OpenShift® Service Mesh basiert auf dem Open Source-Projekt Istio und bietet eine einheitliche Lösung für die Verbindung, Verwaltung und Überwachung von microservicebasierten Anwendungen. Das Ziel ist ein hocheffizientes End-to-End-Entwicklungserlebnis bei microservicebasierten Anwendungsarchitekturen. So stehen Entwicklungsteams nicht länger vor der komplexen Aufgabe, maßgeschneiderte Netzwerkservices für ihre Anwendungen und Geschäftslogik implementieren zu müssen.
Red Hat Application Foundations bietet Unternehmen ein komplettes Set von Tools und Technologien, die zur Entwicklung, Bereitstellung und Nutzung von Anwendungen in großem Umfang in der Hybrid Cloud benötigt werden. Das Thema Sicherheit spielt dabei eine wichtige Rolle. Mit Red Hat Application Foundations können Teams APIs über deren gesamten Lifecycle teilen, sichern, verteilen und kontrollieren. Wichtige Funktionen sind zentralisiertes Management, Zugriffskontrolle, Rate Limiting, Analysen und Nutzungsberichte.