Lesezeit: 5 Minuten

DevOps? Warum APIOps der nächste logische Schritt ist

Die letzten beiden Artikel dieser Serie haben sich mit Team-Topologien und Teamschnitten sowie Kommunikationsmustern und kognitiver Last befasst. Jetzt wollen wir unser Blickfeld noch etwas weiten und uns mit dem Thema APIOps befassen. Im folgenden Artikel stellen wir diesen Begriff vor und erläutern, wie er sich in das Umfeld von DevOps einfügt. Außerdem lernen wir Tools kennen, die uns unterstützen.

APIs als Produkte

APIs genießen heute einen hohen Stellenwert, denn sie sind weit mehr als reine technische Schnittstellen (ursprünglich gedacht zur Ermöglichung einer Point-to-Point-Kommunikation) – sie bilden in ihrer Gesamtheit ein Ökosystem und Fundament für die Zusammenarbeit sowohl mit anderen internen Teams als auch mit Geschäftspartnern des Unternehmens (B2B).

APIs sind digitale Produkte, die auf einer Plattform oder Marktplatz angeboten und verschiedenen Konsumenten zur Verfügung gestellt werden. Eine API kann dabei von mehreren Konsumenten genutzt werden, im Extremfall ist dies sogar eine öffentlich angebotene API mit sehr vielen Endnutzern.

API-Lebenszyklus

Die Sichtweise von APIs als Produkten bringt mit sich, dass APIs einen eigenen Lebenszyklus haben, der getrennt vom Lebenszyklus des dahinterliegenden Services verwaltet wird. Der oft einhergehende API-first-Ansatz besagt, dass nicht nur Entwickler, sondern ein funktionsübergreifendes Team die APIs kollaborativ entwirft. APIs bilden fachlich geeignete Abstraktionen von der dahinter liegenden Service-Implementierung, und veröffentlichte APIs haben einen bindenden Vertragscharakter. Dementsprechend sind Änderungen an bestehenden APIs mit Vorsicht vorzunehmen („Operation am offenen Herzen“), damit deren aktive Basis an Konsumenten weiterhin die integrierten APIs ohne Einschränkungen oder Fehler nutzen kann – es gilt das Prinzip der sicheren Evolution: APIs sind geschlossen für Veränderungen an Bestehendem und offen für Erweiterungen (Open-Closed-Prinzip aus der Software-Architektur).

Einzug von DevOps-Praktiken = APIOps

Auch in dem Bereich rund um APIs finden zunehmend DevOps-Praktiken für das automatisierte Management des gesamten API-Lebenszyklus Anwendung. Wir fassen das unter dem Begriff APIOps zusammen – es handelt sich hierbei um eine Menge an (Entwicklungs-)Prozessen und Praktiken, um sowohl die Auslieferungsgeschwindigkeit als auch die Qualität der zur Verfügung gestellten APIs zu verbessern. Das Produktteam bekommt durch standardisierte, automatisierte Prozesse schneller Feedback zu ihren API-Produkten. Wir wollen schließlich mit Stolz am Ende des Tages sagen können: „So liefern wir APIs aus!“

Erspüren von Anpassungsbedarfen

Diese Systematik der Team-Topologien und ihrer Kommunikationsmodi ermöglicht eine gezielte Strukturierung der Inter-Team-Kommunikation im Hinblick auf das Gesetz von Conway zur Erreichung der gewünschten Systemarchitektur, die Angleichung der tatsächlichen kognitiven Last auf die Teamkapazität und den gleichermaßen effizienten wie effektiven Einsatz von Kommunikationsaufwänden. Das Definieren der Kommunikationsstruktur einer Organisation ist jedoch keine einmalige Aufgabe. Ändern sich Voraussetzungen, die einer gewählten Struktur zugrunde liegen, so muss auch die Struktur dem geänderten Bedarf angepasst werden - entweder temporär oder dauerhaft. Daher muss eine Organisation solche Anpassungsbedarfe aktiv erspüren und systematisch darauf reagieren.

Tooling rund um den OpenAPI-Standard

Das Fundament bildet eine Tool-Umgebung, die in der besten Art und Weise verwendet wird, um Entwicklungsteams unter die Arme zu greifen und zu unterstützen, die also so weit wie möglich in die bestehende CI/CD-Landschaft als Sammlung von Frühwarnsystemen integriert wird.

Pipelines und Automatisierung sind Multiplikatoren: je mehr Teams standardisierte Komponenten und Abläufe einsetzen (z. B. wiederverwendbare GitHub Actions), desto höher ist der Gesamtnutzen.

Die OpenAPI-Spezifikation hat sich als Standard etabliert.

Um diesen Standard herum gibt es ein breites, vielfältiges Angebot an Tools, zur Unterstützung der Automatisierung an den unterschiedlichen Phasen des API-Lebenszyklus:

Contract Testing – Testen und Verifikation von Interaktionen einzelner Consumer mit der API, beispielsweise mittels Pact. So lässt sich frühzeitig feststellen, welche Consumer von Änderungen an der API betroffen sind, und ob sie nach den Änderungen immer noch funktionieren werden. Dabei speichert ein Broker die Verträge und verbindet zwei unabhängig voneinander laufende Pipelines: eine auf Consumer-Seite, um die gewünschten Interaktionen festzuhalten, und die andere auf Provider-Seite, um das von den Consumern erwartete Verhalten tatsächlich gegen eine laufende Instanz des Services zu verifizieren.

Linter – Prüfung der OpenAPI-Spezifikationen auf syntaktische Korrektheit (gültiges YAML/JSON und OpenAPI-Format) sowie gegen einen bestehenden API-Styleguide (Governance), z. B. mittels Spectral, wo man sich aus einem bestehenden Fundus an Regeln bedienen, aber auch eigene Regeln definieren kann.

Einhaltung von Security-Regeln: Tools wie 42Crunch oder die „OWASP Top Ten“-Regelsätze in Spectral ermöglichen es uns, den Entwicklern der API frühzeitiges Feedback zu geben, ob etwaige Security-Regeln verletzt werden. Dieser „Shift-Left“-Ansatz spart potenziell sehr viel Frust und Wartungsaufwände, denn Security-Änderungen gehen aus unserer Erfahrung meist einher mit Breaking Changes.

Diff von OpenAPI-Spezifikationen (Vergleich der geänderten Version gegen die vorherige) bei jeder Codeänderung bzw. jedem Merge Request mit automatisierter Prüfung auf rückwärts-kompatible Änderungen. So wird die sichere Evolution von APIs gewährleistet, und man spart sich Wartungskosten, die durch den Parallelbetrieb zweier Versionen der API anfallen würden.

Beispiel-Anfragen und Interaktionen helfen beim Testen von APIs und können beispielsweise in einer Postman-Collection festgehalten werden.

Auf Basis einer OpenAPI-Spezifikation können durch Tools wie Prism bereits Mock-Server bzw. eine Sandbox-Umgebung bereitgestellt werden.

Viele API-Gateways unterstützen durch Admin- und Self-Service-Endpunkte automatisiert ausgelöste Transitionen im API-Lebenszyklus, z. B. das Veröffentlichen von APIs oder Deprecation und Parallelbetrieb.

Fazit und Ausblick

Nachdem wir nun kennengelernt haben, welche Anforderungen an DevOps-Praktiken im Bereich von APIs bestehen und wie diese mit der richtigen Toolunterstützung umgesetzt werden können, wollen wir uns im nächsten und abschließenden Blog-Artikel dieser Serie einem praktischen Beispiel widmen, das die vorgestellten Themen vereint.

Blogautor

Johannes Brühl
Softwarearchitekt ARS Computer und Consulting GmbH
Ihr Erfolg ist unser Ziel

Stehen Sie vor komplexen IT-Projekten? Mit unserer Expertise bieten wir Ihnen maßgeschneiderte Lösungen. Erfahren Sie mehr.

Werde Teil unseres Teams

Wir suchen ständig nach neuen Talenten. Für dich haben wir genau die richtige Stelle. Schau dir unsere offenen Positionen an.

Noch Fragen? Wir helfen Ihnen gerne!

Blog 10.10.24

DevOps? Warum APIOps der nächste logische Schritt ist

APIOps erweitert DevOps-Praktiken auf APIs, um deren Entwicklung zu automatisieren und zu optimieren. Dieser Ansatz verbessert Qualität, Sicherheit und Geschwindigkeit im API-Management.

Blog 10.10.24

DevOps? Warum APIOps der nächste logische Schritt ist

APIOps erweitert DevOps-Praktiken auf APIs, um deren Entwicklung zu automatisieren und zu optimieren. Dieser Ansatz verbessert Qualität, Sicherheit und Geschwindigkeit im API-Management.

Blog 24.10.24

DevOps und APIOps in der Praxis: Best Practices

Wie lassen sich DevOps und APIOps erfolgreich kombinieren? In diesem Artikel erfahren Sie, welche Best Practices und Erfolgsfaktoren moderne Softwareentwicklung schneller und skalierbarer machen.

Blog 24.10.24

DevOps und APIOps in der Praxis: Best Practices

Wie lassen sich DevOps und APIOps erfolgreich kombinieren? In diesem Artikel erfahren Sie, welche Best Practices und Erfolgsfaktoren moderne Softwareentwicklung schneller und skalierbarer machen.

Blog 24.10.24

DevOps und APIOps in der Praxis: Best Practices

Wie lassen sich DevOps und APIOps erfolgreich kombinieren? In diesem Artikel erfahren Sie, welche Best Practices und Erfolgsfaktoren moderne Softwareentwicklung schneller und skalierbarer machen.

Blog 05.09.24

Effiziente DevOps-Teams: Teamschnitte und Kommunikation

Erfahre, wie durch gezielte Teamschnitte und optimale Kommunikationsmodi die kognitive Last in DevOps-Teams reduziert wird. So erreichst du effizientere Zusammenarbeit und kontinuierlichen Fortschritt.

Blog 23.08.24

"DevOps, quo vadis?" – Team Topologien

Erfahren Sie, wie Team-Topologien in DevOps Silos aufbrechen und erfolgreiche Zusammenarbeit fördern. Entdecken Sie die vier fundamentalen Teamarten.

Blog 23.08.24

"DevOps, quo vadis?" – Team Topologien

Erfahren Sie, wie Team-Topologien in DevOps Silos aufbrechen und erfolgreiche Zusammenarbeit fördern. Entdecken Sie die vier fundamentalen Teamarten.

Blog 05.09.24

Effiziente DevOps-Teams: Teamschnitte und Kommunikation

Erfahre, wie durch gezielte Teamschnitte und optimale Kommunikationsmodi die kognitive Last in DevOps-Teams reduziert wird. So erreichst du effizientere Zusammenarbeit und kontinuierlichen Fortschritt.

Blog 23.08.24

"DevOps, quo vadis?" – Team Topologien

Erfahren Sie, wie Team-Topologien in DevOps Silos aufbrechen und erfolgreiche Zusammenarbeit fördern. Entdecken Sie die vier fundamentalen Teamarten.

Blog 05.09.24

Effiziente DevOps-Teams: Teamschnitte und Kommunikation

Erfahre, wie durch gezielte Teamschnitte und optimale Kommunikationsmodi die kognitive Last in DevOps-Teams reduziert wird. So erreichst du effizientere Zusammenarbeit und kontinuierlichen Fortschritt.

Blog 28.04.23

Bestandteile und Dienste einer API Plattform

Grundlegende Erläuterungen zu API (Lifecycle) Management, durchdachtes API Design und den Sinn hinter API-Management

Blog 28.04.23

Bestandteile und Dienste einer API Plattform

Grundlegende Erläuterungen zu API (Lifecycle) Management, durchdachtes API Design und den Sinn hinter API-Management

Blog 28.04.23

Bestandteile und Dienste einer API Plattform

Grundlegende Erläuterungen zu API (Lifecycle) Management, durchdachtes API Design und den Sinn hinter API-Management

Blog 12.12.24

API-Dokumentation jenseits der Bestandsaufnahme

API-Dokumentation ist kein Luxus, sondern essenziell für fehlerfreie Prozesse. Erfahren Sie, warum OpenAPI oft nicht reicht und wie Sie mit Spring REST-Docs prozessgetriebene, getestete und aktuelle API-Dokumentation erstellen.

Blog 12.12.24

API-Dokumentation jenseits der Bestandsaufnahme

API-Dokumentation ist kein Luxus, sondern essenziell für fehlerfreie Prozesse. Erfahren Sie, warum OpenAPI oft nicht reicht und wie Sie mit Spring REST-Docs prozessgetriebene, getestete und aktuelle API-Dokumentation erstellen.

Blog 12.12.24

API-Dokumentation jenseits der Bestandsaufnahme

API-Dokumentation ist kein Luxus, sondern essenziell für fehlerfreie Prozesse. Erfahren Sie, warum OpenAPI oft nicht reicht und wie Sie mit Spring REST-Docs prozessgetriebene, getestete und aktuelle API-Dokumentation erstellen.

Blog 18.07.24

Ticket-Schneiden: Best Practices und Agile Methoden

Erfahren Sie, wie Sie effektive Tickets für die Softwareentwicklung schreiben und schneiden, um Probleme zu vermeiden. Erfahren Sie mehr über die Bedeutung von User Stories und deren korrekte Umsetzung.

Blog 18.07.24

Ticket-Schneiden: Best Practices und Agile Methoden

Erfahren Sie, wie Sie effektive Tickets für die Softwareentwicklung schreiben und schneiden, um Probleme zu vermeiden. Erfahren Sie mehr über die Bedeutung von User Stories und deren korrekte Umsetzung.

Blog 18.07.24

Ticket-Schneiden: Best Practices und Agile Methoden

Erfahren Sie, wie Sie effektive Tickets für die Softwareentwicklung schreiben und schneiden, um Probleme zu vermeiden. Erfahren Sie mehr über die Bedeutung von User Stories und deren korrekte Umsetzung.