REDPIXEL - stock.adobe.com
APIOps: Ein neuer Ansatz zur API-Entwicklung und -Verwaltung
APIOps ist eine Kombination aus DevOps, GitOps und APIs. Wie der Ansatz Entwickler dabei unterstützen kann, Programmierschnittstellen zu erstellen und zu verwalten.
In den letzten 20 Jahren haben sich Application Programming Interfaces (APIs) zu einem kritischen Bestandteil des modernen Lebens entwickelt. Diese Codestücke ermöglichen den problemlosen Datenfluss zwischen verschiedenen Systemen und verbinden Anwendungen und Datenbanken auf vielfältige Art und Weise.
Programmierschnittstellen (APIs) können in vielerlei Hinsicht als Produkte betrachtet werden. Aus diesem Grund ist das effiziente Management ihres Lebenszyklus entscheidend.
Ein effektives Management des API-Lebenszyklus umfasst einen umfassenden, schrittweisen Prozess der Planung, Entwicklung, Implementierung, Prüfung und Versionierung. Während dies in der Vergangenheit ein herausfordernder und teilweise manueller Prozess war, verbessert sich die Situation jetzt: Die Automatisierung wird immer mehr zu einem Teil des Prozesses. Dies ermöglicht eine End-to-End-Lösung für die Verwaltung des API-Lebenszyklus, indem sie mit dem agilen Charakter moderner Verfahren für Softwareentwicklung wie DevOps und GitOps kombiniert wird.
Schnelligkeit versus Qualität
Bei der Verwaltung des API-Lebenszyklus kann es zu einem Zielkonflikt zwischen Geschwindigkeit und Qualität kommen. Ein Unternehmen muss vielleicht eine neue oder aktualisierte API so schnell wie möglich in Betrieb nehmen, aber dies sollte nie auf Kosten der Qualität geschehen.
Herkömmliche, manuelle Methoden des API-Lifecycle-Managements sind in einem schnelllebigen Geschäftsumfeld nicht nachhaltig. Selbst mit den agilsten Prozessen kann der Mensch nur begrenzt mit einem komplexen technologischen Ökosystem Schritt halten, das auf ständige Innovation angewiesen ist.
Will ein Unternehmen vorankommen, ist ein effizientes Management des API-Lebenszyklus unabdingbar. Die bestehenden Praktiken können jedoch ein solch schnelles Tempo nicht unterstützen.
Ein neuer Ansatz für die Verwaltung von APIs
Anstatt zwischen Qualität und Geschwindigkeit abzuwägen, wählen immer mehr Unternehmen einen neuen Ansatz für das API-Management. Sie haben einen Weg gefunden, den Code in kürzerer Zeit, mit weniger menschlichem Einsatz und ohne Qualitätseinbußen zu entwickeln und zu verwalten.
Der neue Ansatz, der als APIOps bezeichnet wird, ist im Wesentlichen eine Kombination aus DevOps, GitOps und APIs. DevOps ist darauf ausgelegt, die Geschwindigkeit der Bereitstellung zu erhöhen und gleichzeitig die Softwarequalität sicherzustellen. Parallel nutzt GitOps ein Versionskontrollsystem (in der Regel Git), um einen Workflow bereitzustellen, der Änderungen durch einen Pull-Request- und Code-Review-Prozess navigiert. APIOps ist das Beste aus beiden Welten.
Unternehmen können auf APIOps umsteigen sowie den Prozess des API-Lifecycle-Managements automatisieren. Damit lässt er sich schneller und zuverlässiger als je zuvor gestalten. Dies funktioniert nach dem Prinzip der kontinuierlichen Entwicklung (Continuous Development) und umfasst folgende fünf verschiedene Schritte.
Design
Diese erste Phase umfasst die Erstellung einer API-Spezifikation und einer Testsuite in einem API-Design-Tool. Das API-Design-Tool sollte die Spezifikationen automatisch auflisten und die Generierung von Unit- und Governance-Tests basierend auf der Spezifikation unterstützen. Die API wird dann in ein Versionskontrollsystem, wie zum Beispiel Git, übertragen, wodurch der erste automatische Governance-Checkpoint ausgelöst wird
Build
APIs können mit jedem Tool und in jeder Programmierumgebung erstellt werden. Sobald deren Entwicklung abgeschlossen und der Code in der Versionskontrolle angelegt ist, werden Tests ausgelöst – einschließlich der in der Designphase erstellten Unit-Tests. Wenn alle Tests bestanden sind, geht es in die Bereitstellungsphase (Deployment) über.
Deploy
Wenn eine API einsatzbereit ist, wird im Rahmen der Pipeline automatisch eine deklarative Konfigurationsdatei aus dem API-Design generiert. Diese Datei wird in der Versionskontrolle gespeichert, sodass Änderungen einfach nachverfolgt und Deployments bei Problemen zurückgesetzt werden können.
Die deklarative Konfigurationsdatei wird verwendet, um die API an einem API-Gateway bereitzustellen, das APIOps unterstützt. Neue (oder aktualisierte) Endpunkte werden dabei automatisch im Gateway registriert und Sicherheits-, Governance- und Betriebsrichtlinien werden ebenfalls automatisch zur Verwaltung angewendet.
Publish
Wenn eine API alle Tests bestanden hat und sich wie erwartet verhält, kann sie für die API-Verbraucher veröffentlicht werden. Es ist wichtig zu wissen, dass bei APIOps die Bereitstellung einer API in einem Entwicklerportal, die Aktivierung des Self-Service-Zugriffs und das Hinzufügen von Spezifikationen allesamt automatisierte Prozesse sind.
„Wenn Unternehmen bei der API-Entwicklung eine APIOps-Strategie verfolgen, können sie sicher sein, dass sie APIs implementieren, die den erwarteten geschäftlichen Nutzen bringen.“
Sven Walther, Kong
Diese Schritte sind wichtig, um eine API auffindbar und konsumierbar zu machen. Dies erforderte aber in der Regel langwierige oder manuelle Prozesse, was dazu führte, dass sie auf der Liste der Lieblingsaktivitäten jedes IT-Teams weit unten standen. Durch die Automatisierung des Deployment-Prozesses wird diese Arbeitsbelastung minimiert und sichergestellt, dass jede bereitgestellte API konsistent und korrekt veröffentlicht wird.
Operate
Sobald eine API veröffentlicht wurde, muss sie fortlaufend verwaltet werden. Abhängig von den Anforderungen der Kunden und den Zielen des Unternehmens muss die API möglicherweise horizontal oder vertikal skaliert, aktualisiert oder stillgelegt werden.
Die Verwendung deklarativer Konfiguration und automatisierter Governance während des gesamten API-Lebenszyklus stellt sicher, dass künftige Vorgänge nahtlos verwaltet werden, wie zum Beispiel die Skalierung einer API zur Bewältigung von Spitzenlasten des Datenverkehrs.
Fazit
Wenn Unternehmen bei der API-Entwicklung eine APIOps-Strategie verfolgen, können sie sicher sein, dass sie APIs implementieren, die den erwarteten geschäftlichen Nutzen bringen. Die Zeiten, in denen man sich zwischen Geschwindigkeit und Qualität entscheiden musste, sind damit vorbei.
Über den Autor:
Sven Walther ist Ansprechpartner für alle technischen Fragen im Bereich API und Services und zeichnet sich im Solutions Engineering von Kong verantwortlich für Präsentationen und Installationen bei Interessenten. Dabei konzentriert er sich auf die Bereitstellung von erstklassigen Lösungen für APIs, Services und Developer Engagement. Sven Walther hat ein Studium der Wirtschaftswissenschaften absolviert und verfügt über eine mehr als 20-jährige internationale Erfahrung mit verschiedenen IT-Lösungen für Unternehmen, die APIs nutzen, bereitstellen und verwalten.
Die Autoren sind für den Inhalt und die Richtigkeit ihrer Beiträge selbst verantwortlich. Die dargelegten Meinungen geben die Ansichten der Autoren wieder.