Design und Verwaltung von Programmierschnittstellen API-first – teile und herrsche

Von Filipe Pereira Martins und Anna Kobylinska

„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!

Firma zum Thema

In digitaltransformierten Unternehmen dreht sich alles um APIs. In der Abbildung: Software von Autodesk und ein industrieller Roboter von KUKA arbeiten dank APIs Hand in Hand.
In digitaltransformierten Unternehmen dreht sich alles um APIs. In der Abbildung: Software von Autodesk und ein industrieller Roboter von KUKA arbeiten dank APIs Hand in Hand.
(Bild: Autodesk / KUKA)

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.

eBook API-Entwicklung
eBook „API-Entwicklung“
(Bild: Dev-Insider)

E-Book zum Thema

Im eBook „API-Entwicklung“ erfahren Sie, wie moderne API-Architekturen aufgebaut sind, wie sich APIs erstellen und einbinden lassen und welche Werkzeuge es gibt. Darüber hinaus beleuchtet es einige Best Practices.

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.

eBook API-Entwicklung
eBook „API-Entwicklung“
(Bild: Dev-Insider)

E-Book zum Thema

Im eBook „API-Entwicklung“ erfahren Sie, wie moderne API-Architekturen aufgebaut sind, wie sich APIs erstellen und einbinden lassen und welche Werkzeuge es gibt. Darüber hinaus beleuchtet es einige Best Practices.

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.

E-Book zum Thema

API-Entwicklung

eBook API-Entwicklung
eBook „API-Entwicklung“
(Bild: Dev-Insider)

APIs sind das Herzstück moderner Anwendungsarchitekturen und innovativer Geschäftsmodelle der „API-Wirtschaft“. Startups in diesem Bereich fließen üppige Kapitalsummen zu. Entsprechend scheint sich auch das Innovationstempo weiter zu beschleunigen.

Im eBook erfahren Sie mehr über:

  • Trends rund ums API-Design
  • Moderne API-Architekturen
  • Das ABC des API-Designs
  • Tools für das API-Management
  • Best Practices der API-Entwicklung

Dieser Beitrag stammt von unserem Partnerportal Dev-Insider.de.

(ID:47830911)