DIgilife - stock.adobe.com

DevOps und KI: Herausforderungen bei der Entwicklung meistern

DevOps beschleunigt die Softwareentwicklung, doch technische Hürden limitieren die Effizienz. Die Integration von KI kann diese Schwachstellen beheben.

DevOps kombiniert Softwareentwicklung und IT-Betrieb. Die Methodik rationalisiert und beschleunigt die Anwendungsentwicklung. Durch Automatisierung und den Einsatz grundlegender Praktiken ermöglicht DevOps die Erstellung hochwertiger, sicherer und zuverlässiger Software.

Es verändert auch die Arbeitsweisen, indem es Teams mit Tools und CI/CD-Pipelines (Continuous Integration/Continuous Delivery) ausstattet. Neben diesen Vorteilen kann die Effektivität von DevOps jedoch auch eingeschränkt sein, wenn Unternehmen mit dem Zeit- und Arbeitsaufwand zu kämpfen haben, um bereits erkannte Herausforderungen zu beheben. Dazu gehören beispielsweise Codeprobleme, die Abhängigkeit von Fachexperten, um den Code zu überprüfen oder die längere Zeit bis zur Wiederherstellung häufiger Hürden. Die Integration von künstlicher Intelligenz (KI) in DevOps kann all diese Herausforderungen abfedern und die Softwareentwicklung verbessern.

Künstliche Intelligenz gewinnt in DevOps rasch an Bedeutung. Der Markt für KI in DevOps lag im Jahr 2023 bei circa 2,9 Milliarden US-Dollar. Bis 2033 soll er mit einer durchschnittlichen Wachstumsrate von 24 Prozent auf 24,9 Milliarden US-Dollar wachsen. KI bringt eine Reihe von Vorteilen für die Softwareentwicklung mit sich – von Automatisierung über Agilität bis hin zu intelligenter Überwachung.

Codeprobleme schneller beheben

Während Unternehmen automatisierte Entwicklungsaufgaben wie statisches Codequalitäts-Scanning und Anwendungssicherheitstests durchführen, um Schwachstellen in ihren CI/CD-Pipelines zu identifizieren, haben sie oft nicht die Zeit, alle auftretenden Probleme zu lösen. Nach und nach wächst die Liste der ungelösten Probleme zu technischen Schulden heran.

KI überwindet dieses Problem, indem sie Codierungsprobleme in den frühen Phasen der Entwicklung erkennt. Tools wie GitHub Copilot und DeepCode lassen sich in die integrierte Entwicklungsumgebung (IDE) integrieren. Sie liefern Feedback zum Code-Scanning in Echtzeit und geben Verbesserungsvorschläge, um zu verhindern, dass sich technische Schulden anhäufen.

Auf Machine Learning basierende Tools wie Amazon CodeGuru, Snyk und SonarCloud analysieren Code-Repositories und Änderungen während Pull Requests mit großer Präzision. Snyk ist mit seiner DeepCode-basierten Engine in der Lage, selbst ungewöhnliche und komplexe Sicherheitslücken zu schließen. Sonar AI CodeFix nutzt Auto-Suggestion-Funktionen, um die Erkennung und Behebung von Problemen zu beschleunigen und so die Codequalität insgesamt zu verbessern.

DevOps-Plattformen wie GitLab und GitHub haben ihr Angebot um KI-gestütztes Scannen und Reparieren erweitert. Damit sind Teams in der Lage, potenzielle Probleme zur Laufzeit während der Codierung schnell isolieren. Diese lassen sich dann durch die Auswahl der von den Plattformen bereitgestellten Optionen schnell beheben. Darüber hinaus bieten diese Plattformen sowohl den Entwicklungs- als auch den Sicherheitsteams eine gemeinsame Sichtweise – und verbessert so das Verständnis und die Kontrolle der Anwendungssicherheit.

Effiziente Überprüfung des Codes

Normalerweise überprüfen Experten den Code, um sicherzustellen, dass die Praktiken mit den Unternehmensrichtlinien und Best Practices übereinstimmen. Leider kann das Vertrauen auf manuelle Expertise zu Verzögerungen und inkonsistenten Überprüfungen führen. Eine Möglichkeit, dies zu lösen: Copilot-Erweiterungen verwenden. So lässt sich überprüfen, ob der Code mit den Standardvorlagen des Unternehmens übereinstimmt. Die Integration mit der Wissensbasis des Unternehmens über Standards und Richtlinien führt zu kontextbezogeneren Antworten.

Durch den reduzierten Bedarf an ausführlichen Code-Reviews und eine verbesserte Konsistenz, insbesondere bei großen Entwicklungsteams, steigert dieser Ansatz die Effizienz. Die Experten können sich so auf ihre Kerntätigkeiten, beispielsweise den Entwurf von Lösungen, konzentrieren.

Verbesserte Vorhersagbarkeit des Versionserfolgs

Bei komplexen Programmen, an denen verteilte Teams beteiligt sind, ist es schwierig, die Vorhersagbarkeit von Softwareversionen zu gewährleisten. Wenn einige Wochen nach Beginn der Entwicklung Probleme entdeckt werden, müssen bestimmte Funktionen möglicherweise nicht mehr berücksichtigt werden. So reduziert sich das Risiko für die Veröffentlichung.

Daher ist eine frühzeitige Sichtbarkeit entscheidend. KI ermöglicht dies, indem sie historische Daten über DevOps-Tools hinweg untersucht und korreliert. Sie sagt dann mithilfe von Wahrscheinlichkeiten Ergebnisse nahezu in Echtzeit vorher. Ein frühzeitiger Einblick hilft Unternehmen, den Kurs zu korrigieren und die richtigen Ressourcen zuzuweisen. Tools wie Digital.ai verbessern die Risikoerkennung und -vorhersage – und erhöhen so die Zuverlässigkeit von Releases.

Triage und automatische Heilung mithilfe von Cloud-Plattformen

Cloud-native Architekturen bringen ihre eigenen Herausforderungen mit sich; die Fehlersuche ist mitunter komplex und erfordert Expertenwissen. Die manuelle Fehlersuche verlängert jedoch die Zeit bis zur Wiederherstellung. KI löst dieses Problem, indem sie Herausforderungen nicht nur schneller erkennt, sondern auch bei der Wiederherstellung unterstützt.

Naresh Duddu, Infosys

„Die Fähigkeiten von KI entwickeln sich kontinuierlich weiter. Unternehmen sollten diese im Auge behalten und die besten oder ausgereiftesten KI-Tools für die Kombination mit DevOps identifizieren.“

Naresh Duddu, Infosys

Open-Source-Projekte wie K8sGPT bieten Funktionen zum Scannen von Kubernetes-Clustern und zur Triage von Problemen in einfacher Sprache, um die Kubernetes-Verwaltung erheblich zu vereinfachen. Unternehmen können auch KI-gestützte Selbstheilungsfunktionen entwickeln, um die Wiederherstellung und Verfügbarkeit zu verbessern.

Der Weg zur erfolgreichen Einführung von KI in DevOps

Die Fähigkeiten von KI entwickeln sich kontinuierlich weiter. Unternehmen sollten diese im Auge behalten und die besten oder ausgereiftesten KI-Tools für die Kombination mit DevOps identifizieren. Um die richtige Entscheidung zu treffen, sollten sie eine Reihe von Optionen evaluieren, darunter auch neue Angebote von DevOps-Tool-Partnern. Lösungen, die gezielte Proof of Values (PoVs) bieten, sollten Vorrang haben. Diese Bemühungen können durch ein zentrales DevOps-Team verankert werden, das die Bedürfnisse im gesamten Unternehmen berücksichtigt, bevor es eine Strategie für die Einführung von KI entwickelt.

Die größere Herausforderung für Unternehmen besteht jedoch darin, ein flexibles DevOps-Framework zu schaffen, das sich mit der Geschwindigkeit der KI weiterentwickelt, ohne dass eine ständige Überarbeitung erforderlich ist. Für Unternehmen mit Hunderten oder gar Tausenden von CI/CD-Pipelines können die für die Integration von KI-Funktionen erforderlichen Änderungen einen erheblichen Aufwand bedeuten, insbesondere im Fall von schlecht konzipierten DevOps-Lösungen. Aus diesem Grund muss das DevOps-Pipeline-Framework skalierbar und erweiterbar sein. Ein möglicher Ansatz ist die Standardisierung und Schablonisierung der Lebenszyklusphasen. Darüber hinaus müssen ephemere Pipelines erstellt werden, so dass sich Tool-Änderungen einfach vornehmen lassen und sich automatisch in den CI/CD-Pipelines widerspiegeln, die das gemeinsame DevOps-Framework nutzen.

Über den Autor:
Naresh Duddu ist AVP and Global Head – Modernization bei Infosys.

 

Die Autoren sind für den Inhalt und die Richtigkeit ihrer Beiträge selbst verantwortlich. Die dargelegten Meinungen geben die Ansichten der Autoren wieder.

Erfahren Sie mehr über Künstliche Intelligenz (KI) und Machine Learning (ML)