Design und Verwaltung von Programmierschnittstellen API-first – teile und herrsche
Anbieter zum Thema
„Je eine API, sie in Code zu fassen, sie alle zu finden, auf die Plattform zu locken und ewig zu binden.“ Etwa so ließe sich die API-getriebene Softwareentwicklung auf den Punkt bringen. Und noch etwas: First come, first served!

API-zentrische Softwareentwicklung – also der Ansatz „APIs first“ – priorisiert die Qualität von Programmierschnittstellen. Sie macht klar Schiff für die Entstehung von Partner-Ökosystemen, frei nach dem Motto: „kommen lassen“. Denn leistungsstarke APIs binden andere an Plattform-interne Features, die sich fortan unabhängig von den APIs weiterentwickeln können.
Schluss mit der hektischen Betriebsamkeit nach dem „Bananensoftware“-Ansatz, bei dem die Funktionalität durch Hotfixes beim Anwender reift. Die Langzeitsicht schafft Partner-Ökosysteme, die über APIs verzahnt sind und damit langfristige Bestandsfähigkeit erlangen. Denn Software-Ökosysteme brauchen standardisierte Integrationsmuster zur Steuerung ihres Betriebs in Code.
Die Orchestrierung verteilter Arbeitslasten, die M2M-Kommunikation und vieles andere steht und fällt mit leistungsstarken APIs. API-zentrische Geschäftsmodelle und der breite Einsatz von API-Analytics schaffen hierzu die nötigen Voraussetzungen.
Leistungsstarke APIs stellen nicht zuletzt eine Voraussetzung für die Einbindung von KI/ML-Engines in unternehmenseigene Software zur Steuerung interner Abläufe dar. Dies ermöglicht wiederum unter anderem diverse Rationalisierungsmaßnahmen und die KI-gestützte Abwehr von Cyberattacken, die ja zunehmend auch KI-gestützt sind.
Jetzt dreht sich alles um APIs. Ihr Einsatz erstreckt sich auf ganze Wertschöpfungsketten in nahezu allen Vertikalen, da die Notwendigkeit für Agilität zu einer universellen Unternehmensanforderung geworden ist. Die API Economy brummt auf allen Zylindern. Wer noch keine APIs hat, muss die Ärmel schleunigst hochkrempeln.
Der steigende Bedarf an leistungsstarken Programmierschnittstellen führte zur Entstehung einer neuen Kategorie von Softwaresystemen: Tools und Plattformen für das Management von APIs – siehe dazu das Kapitel „API-Toolchains“ in unserem eBook „API-Entwicklung“.
Application Networking
Die breite Verfügbarkeit ausgereifter API-Tools erleichtert die praktische Umsetzung von Schnittstellen und die Entstehung von Software-Ökosystemen. Die Verzahnung verteilter Cloud-nativer Anwendungen via APIs, das sogenannte Application Networking, ist ebenfalls stark im Kommen. Diese nächste Evolutionsstufe der API-Wirtschaft macht sich leistungsstarke API-Gateways und neuerdings auch Service-Mesh-Infrastrukturen zunutze.
API-Gateways und Service-Mesh-Infrastrukturen
Dieser Trend steht in engem Zusammenhang mit der Verlagerung der Softwareentwicklung von monolithisch aufgebauten Architekturen zu leichtgewichtigen Cloud-nativen hypervernetzten Microservices. Diese Anwendungen setzen auf kleineren, funktionsbasierten Komponenten auf, die sich einfacher warten und skalieren lassen als konventionelle Software. Um sie zu integrieren, bedarf es eben leistungsstarker Service-Meshes oder zumindest API-Gateways.
Ein API-Gateway vermittelt zwischen einem Client, der die betreffende API verbrauchen möchte, und dem zugehörigen API-Endpunkt. Jede API-Anfrage muss dieses Gateway erfolgreich durchlaufen. In diesem Sinne stellt ein API-Gateway einen zusätzlichen Netzwerk-Hop auf dem Pfad au der Datenebene zwischen den beiden Endpunkten der Kommunikation dar.
Zur Verwaltung verteilter Anwendungsinfrastrukturen durch einen Cloud-Orchestrierer ist ein leistungsstarker dynamischer Service-Mesh unumgänglich (Service-Netz). Dabei handelt es sich um eine Virtualisierungsebene verteilter Konnektivität zur Gewährleistung kontinuierlicher Dienstverfügbarkeit.
Kubernetes setzt zum Beispiel auf Istio auf, dem quelloffenen Service-Mesh von Google. Als Antwort auf die Unsicherheit rund um die Governance von Istio hat Microsoft eine eigene quelloffene Service-Mesh-Implementierung in Googles Cloud-nativer Sprache Go/golang entwickelt: das sogenannte Open Service Mesh (siehe dazu das dritte Kapitel im erwähnten eBook.
Durch das Veröffentlichen von APIs können Unternehmen die Funktionalität ihrer Lösungen „unter der Haube“ weiter verbessern, ohne bei den „Verbrauchern“ der APIs Änderungen an deren Code zu erzwingen. Doch auch die APIs müssen mit der Zeit gehen. Mit den richtigen Tools lässt sich diese „Quadratur des Kreises“ durchaus bewerkstelligen.
„… auf ewig zu binden“
API-Management beschränkt sich längst nicht mehr auf die Steuerung der Runtime der API-Bereitstellung, sondern umfasst mittlerweile den ganzen Lebenszyklus einer API auf allen Ebenen der Funktionalität, von der Entwicklung über das Testen bis hin zur Bereitstellung, Überwachung und Monetarisierung (Engl. Full Lifecycle API Management, kurz APIM).
Je besser die API konzipiert ist, umso leichter macht sie die benötigte Funktionalität verfügbar, sodass die betroffenen Entwickler sie gerne implementieren wollen. Der Erfolg einer API steht und fällt im Grunde genommen mit der Umsetzung bewährter Best Practices. Mit der wachsenden Anzahl von APIs wird die Aufgabe schnell unübersichtlich.
Viele Unternehmen verfügen bereits über eine große Anzahl eigener APIs; die Anzahl der API-Verbindungen und Interdependenzen wächst bald außer Rand und Band. Je mehr Benutzer und Anwendungen auf diese APIs vertrauen und je mehr neue APIs und Versionen „nachwachsen“, desto mehr ähnelt die API-Landschaft einem Labyrinth mit einem endlosen Hürdenlauf voller widersprüchlicher Anforderungen. Die API-getriebene Softwareentwicklung muss dann doch zur Priorität und das Lebenszyklusmanagement „zur Pflicht gekürt“ werden.
Fazit
APIs sind zum Herzstück moderner Anwendungsarchitekturen herangewachsen. Leistungsstarke Programmierschnittstellen verleihen Software eine höhere Tragweite. Wer seiner Software langfristige Bestandsfähigkeit zusichern will, braucht eigene APIs.
(ID:47808961)