Hinweis: Dieser Blogbeitrag stammt aus der Zeit vor dem Zusammenschluss und wurde von ARS realisiert – heute Teil von ATVANTAGE. Unsere Erfahrung bleibt – nur unser Name hat sich geändert. Hier finden Sie weitere Informationen rund um die Fusion.

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

Durch gezielte Teamschnitte und optimale Kommunikationsmodi wird die kognitive Last in DevOps-Teams reduziert. Für 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 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. Mehr über die Bedeutung von User Stories und deren korrekte Umsetzung.

Blog

Der Cloud vorgelagert: Edge Computing für Datenanalysen

Sicherheitsbedenken und Performance-Engpässe gestalten die Verarbeitung und Analyse von Daten in der Cloud zunehmend schwierig. So spricht einiges für eine Zwischenschicht: den Edge.

Branche

Digitaler Wandel in der Öffentliche Verwaltung

Die digitale Transformation wird die Arbeitswelt gerade in der öffentlichen Verwaltung massiv verändern. Wir unterstützen die Behörden von Bund, Ländern und Kommunen bei der strategischen und technischen Umsetzung ihrer Projekte in der Verwaltungsmodernisierung.

Schild als Symbol für innere und äußere Sicherheit
Branche

Innere und äußere Sicherheit

Verteidigungskräfte und Polizei müssen Bürger*innen und den Staat vor immer neuen Bedrohungen schützen. Moderne IT- & Softwarelösungen unterstützen dabei.

Blog 01.08.24

Migration von HOST-Anwendungen zu AWS: Modernisierung

Lernen Sie, wie moderne AWS-Services nahtlos in bestehende Host-Landschaften integriert werden und profitieren Sie von den Vorteilen von Serverless-Technologien.

Headerbild für lokale Entwicklerressourcen in Deutschland
Branche

Digitalisierungspartner vor Ort für Versicherungen

Wir finden die optimale IT-Lösung für Versicherungen! ► Alles aus einer Hand ✓ Persönlich vor Ort ✓ Jetzt persönlichen Austausch vereinbaren.

Headerbild zur Logistik- und Transportbranche
Branche

KI & Digitalisierung für die Transport- und Logistikbranche

Digitalisierung und Transparenz der Prozesse sowie automatisierte Unterstützung bei der Optimierung können Logistikunternehmen helfen, den Spagat zwischen Kosten und Leistung besser zu bewältigen.

Blog 16.05.24

Angular 18: Das nächste Kapitel

Angular 18 bringt Leistungsverbesserungen, neue Features und Entwicklerwerkzeuge mit sich. Erfahren Sie mehr über Zoneless Angular, verbesserte Bundling-Strategien und Barrierefreiheitsverbesserungen.

Blog 11.08.23

AWS Lambda: Erste Schritte mit Java

In diesem Artikel lernen wir, was die Vorteile bei der Verwendung von AWS Lambda sind u. wie wir Java-Code in AWS-Lambda installieren und ausführen können.

Blog 04.07.24

Warum Shift Left jetzt unverzichtbar ist

Erfahren Sie, warum Shift Left und Feedbackschleifen unverzichtbar für eine erfolgreiche Softwareentwicklung sind. Verbessern Sie Qualität, Sicherheit und Effizienz in Ihrem Unternehmen.

Teaserbild Unternehmensprozesse mit Low-Code digitalisieren
Blog 04.04.23

Unternehmensprozesse digitalisieren – am besten mit Low-Code

Auch heute geht das Digitalisieren von Unternehmensprozessen eher schleppend voran. Low-Code Plattformen von Anbietern wie Mendix können hier Abhilfe leisten.

Blog 19.09.24

Die Zukunft datenbankzentrierter IT-Architekturen

Datenbankzentrierte IT-Architekturen prägen viele Unternehmen. Doch ist dieser Ansatz noch zukunftsfähig? Dieser Artikel beleuchtet die Herausforderungen und Alternativen.

Blog 02.03.23

Enterprise Architecture vs. DevOps und agiles Mindset

Über die Rolle von Enterprise-Architekten in Unternehmen, wie sie moderne Softwareentwicklung beeinflussen und Kompetenzbereiche in IT-Abteilungen.

Blog 05.01.23

Teil 6 - Die Architektenrolle in DevOps-Teams/Organisationen

Erfahren Sie in diesem Blogbeitrag mehr über die Rolle der Architekten in DevOps-Teams und wie sich die Architekturarbeit im cloud-native Umfeld verändert hat.

Blog 26.04.24

Team Topology: Ein Wegweiser für effektive DevOps-Kultur

Erfahren Sie, wie Team Topology und effektive Kommunikationsmodi die DevOps-Kultur fördern und die Softwareentwicklung revolutionieren. Ein Wegweiser für erfolgreiches Teammanagement.

Blog 28.03.24

Grafana Loki: Die nächste Generation des Log-Managements

Grafana Loki: Erfahren Sie mehr über die innovative Log-Verwaltungslösung für Cloud-native Umgebungen und deren Vorteile im Vergleich zu anderen Tools wie ElasticStack und Splunk.

Teaserbild zum Blogbeitrag: "Welches Low-Code-Tool ist das richtige?"
Blog 12.05.23

Welches Low-Code-Tool ist das richtige für mein Unternehmen?

Wichtige Auswahlkriterien ✅ Vergleich zwischen Anbietern wie Microsoft, Mendix, HCL und SAP ✅ Wir erleichtern Ihnen im Blog die Entscheidung!