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: 4 Minuten

DevOps und APIOps in der Praxis: Erfolgsfaktoren und Best Practices
 

Im letzten Teil unserer Serie beleuchten wir die praktische Anwendung von DevOps und APIOps. Gerade für Teams, die an modernen, verteilten Systemen arbeiten und DevOps-Methoden optimal umsetzen wollen, ist die Integration von APIOps ein entscheidender Faktor. Dieser Artikel zeigt anhand eines realen Projekts, wie beide Ansätze erfolgreich in der Praxis umgesetzt werden können. 

Zielsetzung

Ein Versicherungsunternehmen beschäftigt mehrere Teams, die an separaten Software-Produkten arbeiten. Diese Teams agieren unabhängig voneinander und folgen eigenen Release-Zyklen. Das Ziel des Unternehmens ist es, echte DevOps-Prozesse einzuführen. Da die verschiedenen Software-Produkte über APIs kommunizieren, sollen die DevOps-Prozesse auch die API-Landschaft abdecken und APIOps eingeführt werden.
Die Ziele sind dabei:

•    Unabhängige und eigenverantwortliche Nutzung durch die Teams
•    Übergreifende Einführung von Automatisierung
•    Qualitätskontrollen nach zentralen Vorgaben
•    Einheitliche Prozesse zur Verwaltung des API-Lebenszyklus

Aufbau

Für die Umsetzung entscheiden wir uns für GitHub Actions. Mit diesem Werkzeug können wir sehr einfach vordefinierte Bausteine mit eigenen Aktionen ergänzen. Dadurch erhalten wir einfache Wiederverwendbarkeit von häufig eingesetzten Aktionen und zugleich die Freiheit, komplexere Abläufe selbst zu steuern. Gleichzeitig bietet uns GitHub-Actions eine einfache Art, CI/CD direkt mit unserer Codeverwaltung zu integrieren. Wir ergänzen die vordefinierten Actions mit Custom-Actions, also selbst definierten Aktionen. Diese Aktionen können durch die einzelnen Teams in ihre eigene Pipeline in den Workflow integrieren werden.
 

Abbildung 1: Exemplarischer Lauf der Pipeline

Erste Schritte: OpenAPI-Scans und Tests

Die erste Action scannt alle OpenAPI-Dateien im Projektordner und prüft sie mit einem Linter als statischem Analysetool zunächst auf syntaktische Korrektheit sowie auf die Einhaltung der unternehmenseigenen REST-Guideline. Am Ende werden Warnungen und Verstöße gegen verpflichtende Regeln in einer Zusammenfassung des Pipeline-Laufs tabellarisch dargestellt. Darüber hinaus werden alle OpenAPI-Spezifikationen auf Änderungen überprüft, und mittels eines Diff-Tools wird die Rückwärtskompatibilität dieser Änderungen geprüft. Diff-Tools vergleichen zwei Versionen einer API und prüfen auf Änderungen, die potenziell bestehende Clients beeinträchtigen könnten. So wird sichergestellt, dass Änderungen rückwärtskompatibel sind und keine unerwarteten Fehler in den abhängigen Systemen auftreten. So wird der Entwickler direkt nach dem Commit darauf hingewiesen, ob die vorgenommenen Änderungen an der OpenAPI für bestehende Clients problematisch sind und welche Änderungen das konkret betrifft. Optional kann dieses Vorgehen durch die Einbindung von Consumer Driven Contract Tests mit Pact ergänzt werden. Diese Tests ermöglichen es, den Servicevertrag zwischen verschiedenen Services zu testen. Dies stellt sicher, dass Änderungen in der API keinen unerwarteten Bruch bei den Consumer-Diensten verursachen.

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.

Ein exemplarischer Lauf der Pipeline mit der beschriebenen GitHub Action:

Im Beispiel sehen wir, dass beim letzten Commit zwei Dateien geändert wurden: cats.yml und dogs.yml. Daraufhin wird die GitHub Action (on-push Trigger) ausgeführt und ermittelt, welche OpenAPI-Dateien geändert wurden. Für jede der OpenAPI-Dateien läuft nun ein weiterer Schritt, in dem die Überprüfungen durch Linter und Diff durchgeführt werden: Dieser Schritt stellt fest, dass die Datei dogs.yml derart geändert wurde, dass Consumer betroffen sind. Deshalb schlägt der Build fehl, da eine der geänderten Dateien die automatische Prüfung nicht bestanden hat.
Das Ergebnis eines erfolgreichen Pipeline-Laufs wäre, dass die API veröffentlicht wird und für die Consumer bereitsteht. Da jedoch noch eine Abhängigkeit zur Version der Software besteht, wird die veröffentlichte API noch nicht unter dem öffentlichen DNS-Namen der Software bereitgestellt, sondern nur für den internen Gebrauch freigegeben. Die Umschaltung des DNS-Eintrags auf die neue Version erfolgt erst, wenn Software und API aktualisiert wurden.

Nächste Schritte: Bau und Release der Anwendung

Weitere Actions kümmern sich um den Bau, die Analyse und das Testen der Anwendung. Mithilfe von SonarQube führen wir statische Code-Analysen durch, um die grundlegende Qualität sicherzustellen. Anschließend werden automatisierte Tests durchgeführt. Sind alle Qualitätschecks erfolgreich, wird die Anwendung auf die Zielumgebung deployed, und die API in der neuen Version wird aktiviert.
 

Ausblick

In modernen, containerisierten Umgebungen, die oft auf Kubernetes basieren, spielen Pipelines eine entscheidende Rolle bei der Orchestrierung der Deployments. Infrastructure as Code (IaC), z. B. mit Terraform oder Ansible, ermöglicht dabei eine automatisierte Bereitstellung und Verwaltung der Infrastruktur, wodurch DevOps- und APIOps-Prozesse weiter skalierbar und wiederholbar werden. Die enge Verzahnung dieser Technologien erleichtert es Teams, kontinuierlich neue Versionen sowohl von Anwendungen als auch von APIs zu entwickeln, zu testen und auszurollen, während gleichzeitig die Infrastruktur konsistent bleibt.
 

Auswirkungen auf die Teams

Die Bereitstellung der Pipeline-Bausteine und deren Wartung erfolgt durch ein Platform-Team, das als Dienstleister für die Stream-Aligned-Produktteams fungiert. Auch der Betrieb der ausführenden Pipeline-Infrastruktur mit GitHub wird vom Platform-Team übernommen. Um den Produktteams die Erstellung und Nutzung der Tools zu erleichtern, wird ein Enabling-Team geschaffen, das Coaching und Onboarding anbietet. Da die Produktteams jedoch unabhängig voneinander ihre Pipelines aufbauen und verwalten können, erreichen wir eine hohe Skalierbarkeit der Arbeitsaufwände und können die Kommunikation zwischen den beteiligten Teams gut steuern. So wird die kognitive Last der Beteiligten nicht überstrapaziert.
Eine Gefahr besteht darin, dass die Stream-Aligned-Teams im Laufe der Zeit unbeabsichtigte Nutzungsmöglichkeiten der Pipelines entwickeln oder sogar parallele Lösungen entstehen. Um dem entgegenzuwirken, werden die Projekte regelmäßig vom Enabling-Team geprüft. Falls eine Verwilderung der DevOps-Tools festgestellt wird, kann das Enabling-Team korrigierend eingreifen und die Teams zur korrekten Nutzung zurückführen.
 

Fazit

Das Thema DevOps und CI/CD ist nicht neu. Seit etlichen Jahren beschäftigt sich die Industrie mit diesen Praktiken, und es werden ständig neue Trends gesetzt. Dennoch stellen wir oft fest, dass der tatsächliche Einsatz dieser Praktiken auf Herausforderungen stößt. Besonders schlechte Kommunikation oder unklare Verantwortungsbereiche führen schnell zu Hindernissen. Dadurch steigt der Aufwand, der in die Anwendung von DevOps investiert werden muss, und die beteiligten Mitarbeiter entwickeln Frustration. Wir haben aufgezeigt, was aus unserer Sicht getan werden kann, um in diesem Umfeld gute Voraussetzungen für effiziente Kommunikation zu schaffen. Mit den vorgeschlagenen Teamschnitten können Fähigkeiten

Blogautor

Johannes Brühl
Softwarearchitekt ARS Computer und Consulting GmbH

Mit uns arbeiten

Sie suchen einen Partner, der nicht nur berät, sondern mit Ihnen gemeinsam gestaltet? Ob Strategie, Technologie oder Umsetzung – wir unterstützen Sie entlang der gesamten digitalen Wertschöpfungskette. Lernen Sie unsere Leistungen kennen und finden Sie genau den Einstieg, der zu Ihren Zielen passt.

Bei uns arbeiten

Du willst nicht nur abwarten, was als nächstes passiert, sondern es mitgestalten? Dann bist du bei uns genau richtig. Wir suchen Menschen mit Haltung, Leidenschaft und Lust auf Wirkung – Entwickler:innen, Strateg:innen, Consultants und Kreative, die mit uns digitale Lösungen vorantreiben möchten.

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

Cropped shot of an african-american young woman using smart phone at home. Smiling african american woman using smartphone at home, messaging or browsing social networks while relaxing on couch
Blog 11.04.24

Best Practices für Copilot for Microsoft 365

Copilot for Microsoft 365 verspricht mehr Effizienz, Schnelligkeit und Produktivität. Doch hält Copilot, was es verspricht? Welche Dos & Don’ts sollte man beachten? Wir teilen unsere Best Practices!

Webinar on demand

Agilität skalieren – Erfolgsfaktoren aus der Praxis

Agiles Arbeiten und agile Methoden sind aus der modernen Arbeitswelt nicht mehr wegzudenken. Aber was bedeutet es und vor allem was erwartet ein Unternehmen eigentlich, wenn es sich auf diese Reise begibt?

Young beautiful woman working on laptop at home office, copy space, portrait.
Leistung

Prozessoptimierung: DevOps einführen

Mit einer ganzheitlichen DevOps-Strategie können Unternehmen schnell auf Veränderungen reagieren - und haben damit einen Wettbewerbsvorteil. Unsere Expert:innen unterstützen bei der DevOps-Einführung.

Blog 09.07.24

Ein Erfahrungsbericht zur Praxis von Lean-Agile-Prinzipien

Spiele sind nicht nur Zeitvertreib; sie sind mächtige Werkzeuge, um abstrakte Konzepte greifbar zu machen. Während eines Workshops setzten wir verschiedene Spiele ein, die nicht nur Spaß machten, sondern auch tiefe Einsichten in Lean- und Agile-Prinzipien ermöglichten. Die Entscheidungen, die die Teilnehmer während des Spiels trafen, spiegelten oft die realen Herausforderungen und Chancen wider, mit denen Unternehmen konfrontiert sind.

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

Durch gezielte Teamschnitte und optimale Kommunikationsmodi wird die kognitive Last in DevOps-Teams reduziert. Für effizientere Zusammenarbeit und kontinuierlichen Fortschritt.

Young beautiful woman working on laptop at home office, copy space, portrait.
News 04.07.19

novaCapta hat neue Gold-Kompetenz für DevOps

Die novaCapta hat ihren Partnerstatus bei Microsoft zusätzlich vergoldet: Ab sofort glänzt auch die Sparte DevOps in Gold.

Bild zur Bester Arbeitgeber BAKM für IPG - Experts in IAM
News 17.03.20

IPG ist „Beste Arbeitgeber kleiner Mittelstand 2020"

Beim Great Place to Work® Wettbewerb „Beste Arbeitgeber kleiner Mittelstand 2020“ wurde die IPG mit einem Award ausgezeichnet.

Wissen 30.04.24

GPT & Co: Die besten Sprachmodelle für digitale Produkte

Welche LLM-Modelle meistern Ihre Herausforderungen am besten? Werfen Sie einen Blick auf die Ergebnisse und finden Sie Ihr ideales Sprachmodell!

Service

API Economy, DevOps, Low Code & MACH

Kundenorientierte Lösungen zu den Themen API Economy, DevOps, Low Code und MACH (Microservices, API-first, Cloud-native und Headless Architecture)

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

Grafik digitaler Marktplatz
Referenz

re.alto: Marktplatz für Energie nutzt Azure und DevOps

re.alto baut mit novaCapta die technische Basis für digitalen API-Marktplatz für Energie auf Basis von Azure, DevOps und einer Microservices-Architektur.

Blog

Best-of-Breed vernetzt: Ein durchgängiges Enterprise-System

Best-of-Breed effizient integrieren: Mit Cloud, Datahub & Events zur skalierbaren IT-Plattform. Jetzt mehr zur Umsetzung erfahren!

Grafik mit zwei Menschen und der DevOps Schleife
Lösung

plainOne – Die DevOps Lösung auf der IBM Power i (AS400)

plainOne – Die DevOps Lösung auf der IBM Power i (AS400)

Blog

All-in-One-Suite vs. Best-of-Breed-Integration

Erfahren Sie, welche IT-Strategie zukunftssicher ist – inkl. Praxislösung der TIMETOACT GROUP.

Bleiben Sie mit dem TIMETOACT GROUP Newsletter auf dem Laufenden!