iX 7/2022
S. 104
Wissen
Softwareentwicklung

AI4DevOps: KI in der CI/CD-Pipeline

Beim Bauen und Betreiben von Software fallen zahlreiche Testergebnisse, Warnungen und Fehlermeldungen an. Künstliche Intelligenz hilft die Datenmenge zu bewältigen.

Von Dr. Alexander Acker, Philipp Bohn und Klaus Schmeh

Code, Build, Test, Release, Deploy, Verify, Monitor sind die sieben Schritte der CI/CD-Pipeline, die die Grundlage des DevOps-Paradigmas bildet. Für jeden dieser Schritte gibt es zahlreiche Werkzeuge: Jenkins orchestriert die Teilschritte einer CI/CD-Pipeline, SonarQube kümmert sich um die statische Codeanalyse, Maven oder Gradle übernehmen das Management der Builds und Nagios überwacht den Betrieb. An dieser Stelle stößt man jedoch auf zwei Herausforderungen: Zum einen benötigen alle genannten Tools vordefinierte Regeln, die Betreiber mit viel Aufwand für ihre Zwecke anpassen müssen, zum anderen überschwemmen diese Werkzeuge die an DevOps Beteiligten mit so vielen Informationen – 100 000 Nachrichten pro Deployment sind keine Seltenheit –, dass sie schnell den Überblick verlieren können.

Eine Lösung für beide Probleme liefert die künstliche Intelligenz (KI). Man spricht in diesem Zusammenhang auch von AI4DevOps-Systemen. Ein AI4DevOps-System benötigt keine vordefinierten Regeln, um die Datenflut zu bewältigen, sondern lernt sie selbstständig. Zu diesem Zweck wird es mit Informationen aus vorherigen Durchläufen der CI/CD-Pipeline trainiert. Das AI4DevOps-System analysiert anschließend die anfallenden Daten und prüft, ob diese den Erwartungen entsprechen. Die KI ist dabei im Gegensatz zu einem Menschen in der Lage, auch mit großen Informationsmengen umzugehen. Erkennt das AI4DevOps-System eine Abweichung (Anomalie), beispielsweise wenn ein zuvor konfigurierter Schwellenwert überschritten wird, dann schlägt es Alarm. Diesen Alarm können DevOps-Anwender bearbeiten, indem sie Störungen ignorieren, sie beseitigen oder Komponenten abschalten.

Kommentieren