Heute prägt der Hype um generative künstliche Intelligenz (KI) die Softwareentwicklung. Technologien wie KI-unterstützte Programmierung und Testing verändern bereits die Art und Weise, wie wir Software entwickeln und bereitstellen. Entwickler nutzen intelligente Tools, die Code automatisch generieren oder Fehler in Echtzeit erkennen und beheben.
AIOps: Die Zukunft von IT Operations
Für eine holistische KI-getriebene Softwareauslieferung braucht es allerdings mehr. Fokussieren wir uns nur auf die Entwicklung, verpassen wir die enormen Möglichkeiten in den Bereichen Verifikation und Betrieb, die entscheidend für stabile und zuverlässige Applikationen sind.
AIOps (Artificial Intelligence for IT Operations) steht für die Nutzung von KI und maschinellem Lernen (ML), um im IT-Betrieb zu automatisieren und zu optimieren. Es geht darum, grosse Datenmengen aus verschiedenen Quellen zu analysieren, Muster zu erkennen, Anomalien zu identifizieren und Massnahmen vorzuschlagen oder automatisch einzuführen. Das Ziel ist es, höhere Effizienz, Stabilität und Skalierbarkeit für den Betrieb von Applikationen und Systemen zu erreichen. Wichtige Datenquellen sind hierbei unter anderen: Change-Logs, Analyseergebnisse von Tests (funktional, nicht-funktional), Observability- und Monitoring-Daten von Test- und Produktionssystemen sowie Informationen aus IT Service Management und Incident Management.
Ohne AIOps lässt sich diese Datenmenge schwer bändigen. Denn die manuelle Analyse und die Überwachung der Daten ist nicht nur zeitaufwendig, sondern auch fehleranfällig. Indem AIOps Trends und Muster erkennt, die auf potenzielle Probleme und bestenfalls deren Ursache hinweisen, ermöglicht es die proaktive Überwachung der IT-Infrastruktur. Darüber hinaus können durch die Analyse von Log-Daten oder Metriken die Auslastung und die Leistung von Systemen verbessert und Kapazitätsengpässe vermieden werden. Dies führt zu deutlich kürzeren Ausfallzeiten sowie einer höheren Verfügbarkeit und Zuverlässigkeit der Systeme.
Wie die Implementierung von AIOps reibungslos gelingt
Um AIOps erfolgreich einzuführen, sind eine sorgfältige Planung und ein iteratives Vorgehen erforderlich. Zuerst müssen die Use Cases, die mit AIOps verbessert bzw. beschleunigt werden können, ermittelt und priorisiert werden. Danach werden die betreffenden Daten aus verschiedenen Quellen wie Logs, Metriken, Traces und Events gesammelt, allenfalls transformiert und in Big-Data-Systemen konsolidiert. Nun kommen ML-Algorithmen zum Einsatz. Sie analysieren die gesammelten Daten und erkennen Muster sowie Anomalien mittels lernender Modelle. In einem nächsten Schritt werden Automatisierungs-Workflows implementiert, um erkannte Probleme zu beheben und die Systemleistung zu optimieren. Dieses Vorgehen wird iterativ für die einzelnen Use Cases ausgeführt. Um fortwährende Verbesserungen sicherzustellen, ist eine regelmässige Überprüfung und Anpassung der AIOps-Strategie basierend auf den gesammelten Erkenntnissen und dem Feedback aus den umgesetzten Use Cases unerlässlich.
Durch den Einsatz von Big Data und ML verändert AIOps die Prozesse, Aufgaben und Anforderungen an die IT-Betriebsorganisation und involvierte Rollen. Ein Verständnis von ML-Algorithmen/-Werkzeugen und Datenanalyse sowie die Fähigkeit, die Erkenntnisse auf Problemanalysen in komplexen IT-Systemen anzuwenden, sind essenziell für Fachleute im IT-Betrieb. Deshalb muss die Verwendung von AIOps-Tools mit begleitenden Massnahmen einhergehen. Deren Ziel sind der Wissensaufbau sowie die Überprüfung der Prozesse und Verantwortlichkeiten im Betrieb und in den vorhergehenden Teststufen aufgrund des veränderten Automatisierungsgrads.
Continuous Verification mit AIOps – der «Geheimcode» für stabile Software
Besonders interessant ist der Einsatz von AIOps für Continuous Verification (CV), da es die kontinuierliche und automatisierte Überprüfung von Systemen ermöglicht. Dies gewährleistet die Leistung, Sicherheit und Compliance und erhöht gleichzeitig die Effizienz und Geschwindigkeit der Softwareentwicklungsprozesse. Was braucht es, um AIOps in diesem Kontext erfolgreich einzuführen?
Zunächst müssen leistungsfähige ML-Modelle entwickelt und trainiert werden, um normale von anomalen Betriebszuständen zu unterscheiden. Diese Modelle sollten regelmässig aktualisiert werden, um sich an Änderungen in der IT-Umgebung anzupassen und so stets präzise Ergebnisse zu liefern.
Eine enge Integration mit den bestehenden DevOps- und CI/CD-Tools ist ebenfalls notwendig. Nur so lässt sich Continuous Verification nahtlos in den Softwareentwicklungszyklus einbinden. Die Tools werden durch AIOps erweitert, um automatisch Tests auszuführen, aus den Ergebnissen zu lernen und bei Bedarf Rollbacks durchzuführen. Durch die Überwachung von Service Level Indicators (SLI) und die Einhaltung von Service Level Objectives (SLO) können Teams sicherstellen, dass die Qualität und die Zuverlässigkeit der Applikationen die festgelegten Standards auch bei erhöhter Liefergeschwindigkeit erfüllen.
Schliesslich sind eine umfassende Visualisierung und ein sorgfältiges Reporting entscheidend. Dashboards und Berichte müssen verständliche Einblicke in die aktuellen Systemzustände und -trends bieten, um IT-Teams bei der Entscheidungsfindung zu unterstützen. Diese Transparenz hilft, den Überblick über die Einhaltung der SLOs zu behalten und bei Bedarf Massnahmen zu treffen.
In Kombination mit Continuous Verification ermöglicht AIOps insgesamt eine proaktive Überwachung und Sicherstellung der Softwarequalität, was zu einer schnelleren und zuverlässigeren Softwarebereitstellung führt. Dank der Verwendung fortschrittlicher KI- und ML-Technologien können IT-Teams effizienter arbeiten und gewährleisten, dass neue Softwareversionen stabil und sicher sind.
Autoren
Beat
Fluri
CTO und Head of Technology & Innovation Adnovum
Tobias Sager
Co-Founder und Managing Consultant Swiss Digital Network