AIOps – Die Neudefinition des Applikationsbetriebs

31.03.2021

Welches Bild haben Sie vor Augen, wenn Sie an den Betrieb eines komplexen Softwaresystems denken?

Ein großes Team aus mindestens 10 bis 20 Personen, üblicherweise im Near- oder Offshore, das rund um die Uhr vor Monitoren mit Kurven zur Systemgesundheit sitzt und Ticketsysteme und Lösungsdatenbanken bedient? Das ist bisher sicher nicht unüblich. Doch der Einsatz von künstlicher Intelligenz im Betrieb hat das Potenzial, dieses Bild grundlegend zu verändern. Schauen wir uns an, was „AIOps“ möglich macht.

 

 

Worin liegen die wesentlichen Herausforderungen im Applikationsbetrieb?

Üblicherweise muss ein businesskritisches System rund um die Uhr, 365 Tage im Jahr betreut werden. Treten Störungen auf, gilt es diese schnellstmöglich auszuräumen. Darüber hinaus werden Systemumgebungen durch den zunehmenden Einsatz von Microservice-Architekturen immer komplexer. Denn jeder Service wird auf seiner eigenen Infrastruktur betrieben und die Dienste sind nur lose gekoppelt. Die fachliche Nachvollziehbarkeit von Anfragen über mehrere Services hinweg gestaltet sich dadurch schwieriger. Dies alles führt dazu, dass auch die zugehörige Dokumentation und Lösungsdatenbanken umfangreicher und Entstörungsmaßnahmen vielschichtiger werden.

Die zentralen Herausforderungen liegen darin, Störungen rechtzeitig zu erkennen, deren Ursache schnell zu finden und die passenden Entstörungsmaßnahmen unmittelbar zur Verfügung zu haben.

Wie kann AIOps dabei helfen, den Applikationsbetrieb zu vereinfachen?

Künstliche Intelligenz hat das Potenzial, auftretende Störungen nicht nur schneller oder mit weniger manuellem Aufwand zu beheben, sondern sie sogar durch Früherkennung und automatisierte Eingriffe gänzlich zu vermeiden (Predictive Analytics).

Doch wie gelingt das genau?

Störungen mit Hilfe von AIOps schneller beheben:

  • Fehlerkontext herstellen: Indem automatisch Kontextinformationen aus allen verfügbaren Quellen zusammengetragen werden, können Störungsursachen schneller identifiziert werden. Ein Support-Mitarbeiter muss nicht mehr verschiedene Tools separat prüfen und Zeitstempel miteinander abgleichen. Die KI durchsucht automatisch Logfiles, Traces, Events nach Auffälligkeiten zum selben Zeitpunkt oder stellt diese Informationen zumindest zentral zusammen.
  • Muster erkennen: Bestimmte Fehlermuster lassen sich klassifizieren und automatisierte Gegenmaßnahmen hinterlegen, die bei Auftreten des Musters eingeleitet werden. So könnten beispielsweise automatisiert einzelne Komponenten neugestartet werden, wenn die Fehleranzahl sich in ungewöhnliche Bereiche bewegt.
  • “Event noise“ reduzieren: Die KI kann dabei helfen, zu klassifizieren, um welche Art von Event es sich handelt und ob hierzu in der Vergangenheit Aktionen erforderlich waren. Es ist nicht unüblich, dass Fehlermeldungen keine unmittelbare Störung des Systems bedeuten, insbesondere in Architekturen, die auf Resilience, also Robustheit gegenüber Störungen, ausgelegt sind. Eine KI kann lernen, solche Events bereits vorab herauszufiltern und nur noch relevante Events zu berücksichtigen.
  • Verteilte Fehler zusammenfassen: Fehler in verteilten Systemen führen üblicherweise zu einer großen Zahl an Log-Meldungen und Eventstorms. Wenn die KI diese bereits aggregiert und filtert, kann das bedeutend dabei helfen, sich auf die wesentlichen Informationen zu fokussieren.
  • Entstörungsmaßnahmen vorschlagen: Durch Lernprozesse kann eine KI dahingehend trainiert werden, dass sie bei auftretenden Fehlerbildern automatisch die in der Vergangenheit bewährten Entstörungsmaßnahmen vorschlägt oder auf relevante Einträge in der Lösungsdatenbank verweist.

 

Störungen mit Hilfe von AIOps ganz vermeiden oder früher erkennen:

  • Anomalien erkennen und gegensteuern: Eine künstliche Intelligenz kann Anomalien in Zeitreihen erkennen und frühzeitig entsprechende Gegenmaßnahmen einleiten. Bewegen sich mehrere Messwerte zeitgleich in einen unüblichen Korridor? Nimmt die Abweichung von üblichen Messbereichen stetig zu? Die KI könnte das Support-Team benachrichtigen oder betroffene Komponenten automatisiert neustarten.
  • Vorausschauende Skalierung der Infrastruktur: Eine Künstliche Intelligenz kann die Systemnutzung der Vergangenheit untersuchen, um Zeiträume mit hoher Auslastung vorherzusagen. Damit kann die Infrastruktur entsprechend frühzeitig und proaktiv skaliert werden.

 

Welche Anforderungen gilt es für den Einsatz von AIOps zu beachten?

So verlockend diese Dinge auch klingen – der Einsatz von KI im Betrieb kann nur sinnvoll funktionieren, wenn das betriebene System selbst eine Reihe von Anforderungen erfüllt. Leider sind das Anforderungen, die erfahrungsgemäß nur allzu gern nach hinten priorisiert werden, da deren unmittelbarer Wertbeitrag am System erst mal nicht offensichtlich ist. Ein fundiertes Requirements Engineering zahlt sich hier aus, um diese Bedingungen in Zukunft gleich mitzubedenken.

Ein System muss vor allem „observable“, also überwachbar sein. Wie überall sonst in der KI gilt auch hier: ohne Daten keine KI. Je besser die Daten, desto besser der Output. Anforderungen zur Observability gehören zur Gruppe der nichtfunktionalen Anforderungen – auf sie muss im Anforderungsprozess besonderes Augenmerk gelegt werden.

Bereits in der Anwendungsentwicklung gilt es sicherzustellen, dass alle relevanten Messpunkte wie z. B. die Anzahl eingeloggter Benutzer vorhanden sind. Sollen Zeitreihen wie beispielsweise die CPU-Auslastung überwacht werden, müssen diese lückenlos sein. Schlechte, fehlerhafte oder gar fehlende Daten führen dazu, dass eine künstliche Intelligenz nicht sinnvoll trainiert werden kann.

Soll die KI auf Basis von erkannten Mustern selbstständig Aktionen ausführen, muss das System zudem so ausgelegt sein, dass es von außen steuerbar ist. Eine durchgängige API-basierte Architektur kann helfen, indem sie Anwendungsfunktionen nach außen verfügbar macht. Bereits in der Designphase sollte also bedacht werden, welche Funktionen zukünftig für den Betrieb notwendig sind.

 

Fazit

Es ist keine Zukunftsmusik mehr, KI-Methoden im Betrieb von komplexen Softwaresystemen einzusetzen. Längst sind die nötigen Methoden etabliert und auch Produkte verfügbar, um schneller, gezielter und mit weniger Personalaufwand auch umfangreichste Systeme zu betreiben.

Aber um hieraus einen Nutzen zu ziehen, muss am System selbst einiges an Vorarbeit getroffen werden. Insbesondere muss es im Hinblick auf die Observability gut ausgestattet sein.

Und wie in allen KI-basierten Anwendungsfällen gilt hier genauso: je besser die Datengrundlage, desto mehr Wert können KI-Lösungen bieten. Diese Grundlage zu schaffen, sollte im Hinblick auf die wachsende Komplexität von Softwaresystemen eine hohe Priorität bekommen.

 

Mehr zu Application Performance Monitoring erfahren

 


Quellen

1 https://www.gartner.com/en/information-technology/glossary/aiops-artificial-intelligence-operations

Zurück zur Übersicht

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*Pflichtfelder

*