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

Tippen auf Tastatur
Wissen

Best Practices für die Einarbeitung in Connect:Direct

Anhand eines konkreten Kundenszenarios stellt dieser Artikel vor, wie eine Konfiguration aussehen kann und was bei der Einrichtung von Connect:Direct Clients und Servern zu berücksichtigen ist. Dieses Szenario bezieht sich auf IBM Sterling Connect:Direct für UNIX.

Header
Wissen

Best Practices für die Gentran Integration Suite Migration

Was ist bei der Migration von der Gentran Integration Suite zum Sterling B2B Integrator zu beachten? Wie geht man am besten bei der Migration vor? An welcher Stellen könnten Probleme auftreten? All diese Fragen und mehr beantwortet dieser Blogartikel.

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.

Software License Consulting & Cost Optimization
Technologie

Unsere Starterpakete

Schneller Einstieg in einen modernen und skalierbaren Service Desk, effizientes Task- und Projektmanagement über alle Geschäftsprozesse hinweg sowie Performance Check

Kompetenz 29.07.21

DevOps Kulturwandel

Technologischer Wandel und Ideen für neue Geschäftsmodelle entfalten ihr Potenzial ohne die gleichzeitige Einleitung eines Kulturwandels.

Zur is report Website
Presse 09.09.20

Datenmanagement und Datenintegration in der Praxis

In seinem Artikel im Fachmagazin is-report zeigt Matthias Bauer, Teamlead Data Science bei X-INTEGRATE, drei Fallbeispiele wie Datenmanagement in der Praxis aussehen kann.

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?

Kompetenz 29.07.21

DevOps und CI / CD

Eine DevOps Einführung gewinnt durch die Begleitung unserer Experten an Fahrt und Focus. Wir nehmen die Initiativen auf und erfassen den Kontext des Unternehmens.

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.

Puzzleteil zur Visualisierung von Integration
Wissen

Optimierung in der Praxis: Weniger ist mehr - Teil 2

Fortschreitende Technologien ermöglichen uns, immer genauere Berechnungen durchzuführen. Wir sind heute in der Lage, in kürzerer Zeit mit höheren Datenmengen umzugehen als jemals zuvor. Gerade in der Mathematik hat das aber nicht nur Vorteile.

Tafel mit mathematischen Formeln
Wissen

Optimierung in der Praxis: Weniger ist mehr (Teil 1)

Fortschreitende Technologien ermöglichen uns, immer genauere Berechnungen durchzuführen. Wir sind heute in der Lage, in kürzerer Zeit mit höheren Datenmengen umzugehen als jemals zuvor. Gerade in der Mathematik hat das aber nicht nur Vorteile.

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.

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!

Referenz 27.01.25

IAM-Transformation in der Praxis: SR Technics optimiert IT

IAM-Transformation in der Praxis. Wie SR Technics mit einer modernen IAM-Lösung Prozesse automatisiert, Compliance-Vorgaben erfüllt und Kosten senkt. Erfahren Sie mehr in der Success Story!

Success Story 27.01.25

IAM Transformation in Practice: SR Technics Optimizes IT

IAM Transformation in Practice. How SR Technics Automates Processes, Meets Compliance Requirements, and Reduces Costs with a Modern IAM Solution. Learn more in the Success Story!

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

Bleiben Sie mit dem TIMETOACT GROUP Newsletter auf dem Laufenden!