10 DevOps-Praktiken fürs KI-Zeitalter
Stimmen Ihre DevOps-Prioritäten (noch)?DC Studio | shutterstock.com
Fragt man IT-Führungskräfte nach den ihrer Meinung nach bedeutendsten DevOps-Praktiken, werden im Regelfall Versionskontrolle, automatisierte Deployments oder Infrastructure as Code (IaC) genannt. Unternehmen, die maßgeschneiderte Software in großem Umfang entwickeln, setzen wahrscheinlich auch auf fortschrittliches CI/CD sowie Observability.
Angesichts der jüngsten Fortschritte bei KI-gestützten Programmierassistenten und Low-Code-Lösungen, ist es jedoch angebracht, DevOps-Strategien und -Prioritäten ganz allgemein auf den Prüfstand zu stellen. Für diesen Artikel haben wir ausgewiesene Experten gefragt, welche DevOps-Methoden sie aktuell als erfolgskritisch ansehen.
1. DevOps neu denken
DevOps ist als ein kultureller Ansatz entstanden, der Dev-Teams in die Lage versetzt, Code für die Produktion in hoher Frequenz zu veröffentlichen – und dabei parallel die Anforderungen des IT-Betriebs zu erfüllen. Allerdings sollten sich IT-Manager und -Entscheider regelmäßig mit ihrer DevOps-Mission und -Kultur auseinandersetzen- Nur so lässt sich sicherstellen, dass diese mit den aktuellen Zielen und Herausforderungen (noch) in Einklang steht.
Chris Hendrich, Associate CTO bei SADA, sieht den Aufbau einer Kultur der gemeinsamen Ownership als Schlüssel für eine erfolgreiche DevOps-Praxis. Das werde seiner Meinung nach allzu oft übersehen: “Geteilte Verantwortung bedeutet mehr, als Teams in denselben Chatraum einzuladen. Vielmehr müssen Zuverlässigkeit und Performanz die primären Erfolgsindikatoren für die Entwicklung darstellen – und nicht bloß operatives Anliegen bleiben. Erst durch diese organisatorische Kompetenz lassen sich bessere, widerstandsfähige Produkte realisieren.”
Eine Frage, die dabei besonderen Fokus verdient: Wie tragen DevOps-Methoden dazu bei, dass zuverlässige KI-Agenten und Machine-Learning-Modelle entstehen? Um eine befriedigende Antwort auf diese Frage zu finden, empfiehlt Graham McMillan, CTO beim Softwareanbieter Redgate: “Weil KI zunehmend in die Softwareentwicklung eingebettet wird, muss sich auch das Führungsmodell entsprechend weiterentwickeln. Technische Führungskräfte müssen nicht nur ihr allgemeines Knowhow über KI-Tools optimieren, sondern auch mit Blick auf verantwortungsvoll gemanagte Daten-Pipelines und Compliance in maschinengesteuerten Umgebungen.”
IT-Führungskräfte sollten sich bewusst sein, dass DevOps eine Investition darstellt. Regelmäßig zu überprüfen, ob die Vision dahinter den geschäftlichen Nutzen und die angestrebten KPIs widerspiegelt, ist ein essenzieller Schritt, um Prioritäten festzulegen – und aufrechtzuerhalten.
2. Code validieren
Frühe DevOps-Initiativen ließen das Thema Security oft außen vor. Deswegen haben sich viele Organisationen dazu entschlossen, den DevSecOps-Ansatz einzubinden. Angesichts des vielerorts tobenden Implementierungs-Wettrennens in Sachen KI-gestütztem Coding ist es heute noch wesentlich wichtiger, CI/CD um Qualitäts-, Sicherheits- und Compliance-Prüfungen für Code zu erweitern. Die damit verbundenen Vorteile fasst Donald Fischer, Vice President beim Dev-Spezialisten Sonar, zusammen: “Sicherheit und Qualität von Anfang an zu berücksichtigen, bedeutet nicht nur, Fehler frühzeitig zu erkennen. So lässt sich grundlegend sicherere, vertrauenswürdigere und widerstandsfähigere Software entwickeln.”
Fischer weist zudem darauf hin, dass ein proaktiver Ansatz in Bezug auf Code-Qualität und -Sicherheit auch kostspielige und zeitaufwändige Last-Minute-Korrekturen vermeide.
3. OS-Lieferkette automatisiert überwachen
Eine weitere DevOps-Maßnahme mit Sicherheitsbezug besteht darin, Open-Source-Softwarelieferketten durchgängig auf Security-Schwachstellen und Compliance-Mängel zu überprüfen.
“Open Source ist für Entwickler eine Selbstverständlichkeit, aber mit einem wachsenden Ökosystem steigen auch die Risiken durch Malware, unsichere KI-Modelle, Lizenzprobleme, veraltete Packages, schlechte Performance und fehlende Funktionen”, hält Mitchell Johnson, CPDO bei Sonatype, fest. Moderne DevOps-Teams müssten einen Überblick darüber haben, was sie einbinden – nicht nur, um Security zu gewährleisten, sondern auch, um sicherzustellen, mit hochwertigen Komponenten zu arbeiten. Der Manager empfiehlt, auf Automatisierung zu setzen, um minderwertige oder riskante Abhängigkeiten zu flaggen – und zwar, bevor sie in die Pipeline gelangen.
4. CI/CD-Pipelines standardisieren
Laut Michael Ameling, President der SAP Business Technology Platform und Mitglied des erweiterten Vorstands der SAP SE, kann es die Entwicklungszyklen beschleunigen und vereinfachen, einen CI/CD Service zu implementieren. “Vordefinierte, einsatzbereite Pipelines tragen dazu bei, die Zeit zwischen Commit und Produktion so kurz wie möglich zu halten. Das resultiert in kürzeren Vorlaufzeiten und einer geringen Fehlerquote”, erklärt der SAP-Entscheider und fügt hinzu: “Eine gemanagte CI/CD-Pipeline befähigt Dev-Teams dazu, Änderungen am Code automatisiert zu erstellen, zu testen und bereitzustellen – ohne sich um die zugrunde liegende Infrastruktur kümmern zu müssen.”
Unternehmen, die agile Teams einst dazu befähigt haben, eigene CI/CD-Pipelines zu entwickeln und zu supporten, haben jetzt die Möglichkeit, diese zu standardisierten Mustern zu konsolidieren. Damit lassen sich technische Schulden, Wartungsaufwand und Risiken reduzieren.
5. Datenbankschemata einbeziehen
Diverse CI/CD- und Versionskontroll-Praktiken fokussieren vornehmlich den Anwendungs-Code, das User Interface und die Konfiguration. Das reicht laut Redgate-CTO McMillan jedoch nicht aus. Er fordert, dass DevOps-Teams dieselben Standards auch auf Data Engineering, Data Pipelines und andere Datenmanagement-Assets anwenden: “Die Versionskontrolle von Datenbankschemata und -konfigurationen in den Bereichen Entwicklung, Qualitätssicherung und Produktion ist eine empfehlenswerte DevOps-Methode. Sie gleicht Umgebungen an, reduziert Abweichungen und unterwirft Datenbankänderungen denselben strengen CI/CD-Vorgaben wie Anwendungscode.”
DevOps-Teams sollten Schemaänderungen, Datentransformationen und andere Datenbankänderungen skripten. Das gewährleistet, dass Anwendungs- und UX-Bereitstellungen mit ihren Datenbankabhängigkeiten synchronisiert sind.
6. Continuous Testing etablieren
Ähnlich wie Security wurde auch das Thema Testing in frühen DevOps-Initiativen häufig ausgeblendet. Unternehmen, die CI/CD nutzen wollten, um Continuous Deployment in Produktionsumgebungen zu verwirklichen, erkannten allerdings schnell, dass es essenziell ist, auch entsprechende Testing-Strategien zu implementieren.
“Testing ist oft der langwierigste und teuerste Teil des Builds”, weiß James Hill, VP of Product bei Buildkite. Ohne Einblicksmöglichkeit in unzuverlässige Tests (sogenannte “Flaky Tests“), verschwendeten Entwicklungsteams Stunden und jede Menge Rechenleistung, um Störungen und Fehlern nachzujagen, die eigentlich nicht relevant seien. “Die Fähigkeit, solche Tests automatisiert zu erkennen, zu unterdrücken und zuzuweisen und die resultierenden Erkenntnisse direkt an die Teams weiterzugeben, ist essenziell für eine effiziente Delivery und funktionierende Feedback-Loops”, konstatiert Hill.
Agile Entwicklungsteams, die häufig damit beschäftigt sind, fehlgeschlagenen Tests auf den Grund zu gehen, ist eine Metrik zu empfehlen, um Flaky Tests zu erfassen und intermittierende Testfehler zu messen, die ohne Änderung am Code auftreten.
7. Konfiguration als Asset verstehen
Ähnlich wie bei CI/CD haben diverse Organisationen ihre Entwicklungs-Teams dazu ermächtigt, ihre eigenen Konfigurationen – und IaC – zu erstellen. Dieser Ansatz kann zwar die Akzeptanz erhöhen, großen Unternehmen dafür aber technische Schulden, Sicherheitsrisiken und höhere Support-Kosten bescheren. Priya Sawant, VP of Platform and Infrastructure beim KI-Spezialisten ASAPP empfiehlt an dieser Stelle: “Behandeln Sie Kubernetes-Manifeste als versionierte Steuerungsebenen. Dadurch werden Infrastruktur-Upgrades systematisch, testbar und reversibel.”
Zudem rät die Softwareexpertin dazu, eine Config-Hydration-API zu erstellen, um Laufzeitkonfigurationen umgebungsübergreifend zu standardisieren – und so:
Drift zu reduzieren,
Rollbacks zu vereinfachen, und
Konsistenz zwischen Teams ohne manuellen Overhead herzustellen.
Statt spezielle Konfigurationen zu verwenden, empfiehlt es sich, ein Set von Konfigurationsstandards zu entwickeln sowie Self-Service-Deployment-Tools einzusetzen.
8. Observability voraussetzen
Bevor agile Teams neue KI-Funktionen einführen, sollten sie sich zuerst um Observability-Lücken kümmern. Geht es nach Greg Leffler, Director of Developer Evangelism bei Splunk, ist Observability nicht verhandelbar: “Sorgen Sie dafür, dass Observability von Grund auf in der Entwicklung berücksichtigt wird. Zum Beispiel, indem Sie ein Plattform-Engineering-Team damit beauftragen, OpenTelemetry-Instrumente für unternehmensübliche Bibliotheken und Frameworks bereitzustellen.”
Durch Observability as Code (OaC) und integrierte Checks für wesentliche Observability-Funktionen werde sichergestellt, dass alle Anwendungen einfach debuggt werden können und jeder im Team einen Überblick über den Zustand des Service habe, so der Dev-Experte.
9. DevOps-Tools konsolidieren
Es ist nicht unwahrscheinlich, dass einige Unternehmen aufgrund von Entwickler-Präferenzen, Fusionen und Übernahmen oder mangelnder IT-Governance mehrere verschiedene DevOps-Tools für denselben Zweck eingeführt haben. Deshalb empfiehlt sich eine Bestandsaufnahme in diesem Bereich, in deren Rahmen überprüft wird:
welche Tools vorhanden sind,
wie diese genutzt werden,
was sie kosten, und
welche Vorteile sowie Risiken damit verbunden sind.
“Multicloud hat gezeigt, dass Transparenz wichtiger ist als Einheitlichkeit – dasselbe gilt auch für KI-Agenten”, hält Jimmy Mesta, Mitbegründer und CTO von RAD Security, fest. Er fügt hinzu: “Vendor Lock-In kann je nach Kontext ein Risiko oder eine strategische Entscheidung sein. Zu viele Plattformen führen zu Chaos, während zu wenige Innovation behindern können. Die richtige Balance ergibt sich daraus, das Behavior und den Impact zu verstehen – nicht bloß die Architektur.”
DevOps-Tools, die kaum genutzt werden oder deren Potenzial nicht voll ausgeschöpft wird, sind aus Business-Perspektive wahrscheinlich reif, konsolidiert zu werden.
10. DevOps auf KI ausweiten
Mit Blick auf KI sollten DevOps-Teams zwei wichtige Entwicklungen berücksichtigen:
der Fokus darauf, Endbenutzer-Anwendungen und wiederverwendbare APIs zu entwickeln, lässt sich nun dazu nutzen, KI-Agenten zu Orchestrierungs- und Automatisierungszwecken zu erstellen.
viele Unternehmen werden versuchen, SaaS-, Low-Code- oder Automation-Plattformen mit integrierten DevOps-Funktionen zu nutzen, um KI-Agenten zu konfigurieren, statt proprietäre Fähigkeiten in diesem Bereich zu entwickeln.
“Viele übersehen das Synergiepotenzial zwischen DevOps und neuen Technologien”, wundert sich Miguel Baltazar, VP of Developer Relations beim Low-Code-Spezialisten OutSystems. Eine Methode, die besonders oft unter den Tisch falle, sei die nahtlose Integration von KI und MLOps, so der Dev-Experte: “Dabei wird nicht nur Code bereitgestellt, sondern parallel auch KI-Agenten, Workflows und User Interfaces.” (fm)
Hier finden Sie den kompletten Artikel: