Ein wesentlicher Baustein des DevOps-Ansatzes ist die Automatisierung von wiederkehrenden Tätigkeiten und Prozessen, um Fehlern vorzubeugen und Zeit- und Budgetaufwand zu reduzieren.  

Neben der Automatisierung von Softwareentwicklungs- und Bereitstellungsprozessen (DEV) wollen wir auch für die Operation (OPS), also den Betriebsanteil, und die zugehörigen IT-Service-Prozesse Automatisierungsmöglichkeiten finden.

Für den Webshop-Betreiber sind vor allem die Vermeidung von Systemausfällen oder Performance-Problemen wesentliche Schwerpunkte. Lange Seitenladezeiten stören den Anwender – wenn dann noch die Support-Hotline keine passenden Antworten hat, ist die Kundenbeziehung schnell negativ belastet.  
Im Sinne „Think big – start small“ waren also unsere Fragen:
  
Wie können Ursachen für mögliche Probleme wie zu lange Ladezeiten oder Systemausfälle im Betrieb des Webshops frühzeitig und mit geringem oder ohne manuellen Aufwand erkannt und beseitigt werden? Könnte uns KI (englisch: Artificial Intelligence / AI) dabei unterstützen?
 
Nach einigen Recherchen in Bezug auf vorhandene KI-unterstützende Tools und zugängliche Erkenntnisse bei der Anwendung von KI standen für uns der praktische Erfahrungsgewinn und die Nutzung von Open Source Software im Fokus.

Wir haben uns einen firmeninternen KI-Experten eingeladen, um Basiswissen über KI-Ansätze und die Ursachen für enttäuschte Erwartungen in KI-Projekten zu erfahren.

Überraschend war für uns zu hören, dass die Zielfindung für den KI-Einsatz, die Erstellung von Anwendungsfällen zur Zielerreichung, die nachfolgende Ableitung von Datenbedarfen und geeigneten Methoden zur Datenkomprimierung den größten und wichtigsten Anteil des KI-Projekts ausmachen. Der Anteil für die Erstellung von KI-Code ist im Vergleich dazu gering. Darüber hinaus müssen die generierten Ergebnisse des KI-Ansatzes geprüft und ggf. Ansatz und/oder Datenbeschaffung korrigiert werden, um Enttäuschungen zu vermeiden.
 
Wir haben also im Zusammenhang mit der applikationsbezogenen Störungserkennung und -beseitigung wiederkehrende Aufgaben mit hohem manuellem Aufwand als mögliche Anwendungsfälle zusammengetragen. 

Die Analyse der Log-Dateien, die Erkennung von Abweichungen (Anomalien) und die Bewertung der möglichen Auswirkungen sowie die Ableitung und Initiierung von Maßnahmen macht schon auf Grund der erzeugten Menge an Log-Einträgen einen großen Anteil des manuellen Aufwands für die DevOps-Engineers bzw. System Engineers aus.
  
Für unsere Kundenapplikation sind es ca. 183.000 pro Tag. Damit war das unser Anwendungsfall Nr. 1 für das weitere Vorgehen.
 
Ein Traum wäre die fortlaufende Automatisierung der Erkennung von Anomalien und Behebung der Ursachen, das heißt eine KI, die aus dem Feedback zur Ursachenbehebung lernt und bei ausreichend bekannten Mustern die Probleme selbst beseitigt. 

Abbildung 1: KI-gestützte Automatisierung von IT-Service-Aufgaben 

Unser praktischer KI-Ansatz

Ausgehend von der für diesen Anwendungsfall vorhandenen Datenbasis (Log-Dateien, Fehler-Tickets inkl. Fehlerklassifizierung, Dokumentation von Ursache und Lösung) haben wir uns für die Anomalie-Erkennung durch den „Unsupervised Learning“-Ansatz entschieden, um diesen dann später zu einem „Reinforcement Learning“-Ansatz, also das Lernen durch Feedback zum Ergebnis zu erweitern.
Für die Themenbearbeitung ist eine heterogene Zusammensetzung des Teams notwendig, um verschiedene Blickwinkel zu erhalten, Ideen auszutauschen und voranzutreiben.
Es war klar, dass dafür ein Data Scientist und der die Kundenapplikation betreuende Software-Engineer eng zusammenarbeiten müssen. 
Mit diesem Verständnis haben wir uns Ziele gesetzt und einen Fahrplan für einen Proof of Concept (PoC) „KI im IT-Service“ vereinbart und im PoC-Verlauf aktualisiert.

Zielstellung für den PoC

  1. für eine Kundenapplikation – in unserem PoC ein Webshop – das Nutzenpotenzial durch Reduzierung des manuellen Aufwands zur Erkennung von Abweichungen im Systemverhalten nachweisen und  
  2. die Wiederholbarkeit des Ansatzes durch den Aufbau eines automatischen Analyse- und Ergebnisprozesses sicherstellen  

Fahrplan für den PoC:  Anomalie-Erkennung durch 

  • Wissensvermittlung über den technischen Aufbau, Aktivitäten und Zustände der Kundenapplikation, bezogen auf den Anwendungsfall 
  • Zusammenstellung aller für den Anwendungsfall verfügbaren Log-Dateien und Bereitstellung für die Datenanalyse 
  • Vorselektion der Daten, z. B. durch Abgrenzung nicht relevanter Log-Einträge 
  • Explorative Analyse der Daten  
  • Cluster-Analyse der Daten zur Mustererkennung, z. B. für häufig wiederkehrende Fehlerkategorien 
  • manuelle Bewertung der Fehlerkategorien 
  • Automatisierung der Datenbereitstellung zur Verfahrensanwendung 
  • Fortlaufende Visualisierung der Ergebnisse aus dem KI-Ansatz 

Im Wesentlichen haben wir uns tatsächlich an unseren Fahrplan gehalten, allerdings war es für uns überraschend festzustellen, wie sehr wir Menschen auf „Wenn-Dann-Muster“ geeicht sind, auch Data Scientists sind hier keine Ausnahme. Daher muss im KI-Projekt darauf geachtet werden, genau dieses Denkmuster zu erkennen und zu vermeiden, um die Möglichkeiten von KI auch wirklich nutzen zu können.
 
Durch die Nutzung des Scientific Python Frameworks mit einem großen Spektrum an KI-Algorithmen und Möglichkeiten der Ergebnisdarstellung sowie eines MS Azure Machine Learning Service für das Hochladen der Log-Dateien, Rechenausführung und Download der Ergebnisse ist unser PoC-Ergebnis sehr preiswert im Betrieb, flexibel in der Anpassung der Algorithmen und adaptiert für andere Kundenapplikationen anwendbar. 

Ausblick: Die ausführlichere technische Vorgehensweise bzgl. Analyse der Log-Dateien, Operationalisierung der Analyse und Visualisierung der Analyse-Ergebnisse werden wir in einem weiteren Blog-Artikel vorstellen. Bleiben Sie gespannt.

Was haben wir erreicht? Wie machen wir weiter?

Wir sind mit unserem Resultat des PoC sehr zufrieden: Im Sinne unseres Proof of Concept haben wir alle nötigen Bestandteile für die fortlaufende automatische Datenbereitstellung und -analyse entwickelt.

Abbildung 2: Service-Workflow als PoC-Ergebnis

Wir wollen als Nächstes nach Möglichkeiten für den Übergang vom „Unsupervised Machine Learning“ zum „Reinforcement Learning“ suchen, also dem Lernen der KI aus dem Feedback zum erzielten Ergebnis. Dazu gehört die automatische Erstellung von IT-Service-Tickets inklusive Klassifikation sowie die Zuordnung von negativem Feedback (z.B. die Anomalie ist nicht IT-Service-relevant) und positivem Feedback (z.B. die Anomalie ist nach Lösung verschwunden).

Haben Sie Interesse, das Thema „KI im IT-Service“ mit uns zusammen voranzutreiben?

Wenn Sie diesen KI-Ansatz auch für Ihre Software-Anwendungen als nützlich im Sinne einer verbesserten, kostenreduzierten IT-Service-Qualität im IT-Applikationsmanagement sehen, dann lassen Sie uns zusammenarbeiten.

Wir suchen nach weiteren Implementierungsprojekten, um die Prozessautomatisierung mit „KI im IT-Service“ nutzbringend fortzusetzen.