Der Blog

Continuous Delivery mit KI/ML optimieren – mit Harness und PagerDuty

von Steve Burton 7. September 2018 | 4 Minuten Lesezeit

Auf den ersten Blick ist die Anwendung von maschinellem Lernen auf Kontinuierliche Bereitstellung klingt vielleicht ein bisschen so, als würde man mit Vorschlaghämmern auf Erdnüsse hauen. Ich meine, wie schwierig kann die Bereitstellungsautomatisierung eigentlich sein?

Wie sich herausstellt, ist es viel komplexer als wir denken.

Das Übertragen einer neuen Bereitstellung in die Produktion hat normalerweise zwei Ergebnisse:

  1. Der Dienst bleibt aktiv und wir denken, alles ist in Ordnung.
  2. Der Dienst kann nicht fortgesetzt werden und die Hölle bricht los.

Tatsächlich stellen diese beiden oben genannten Punkte dar, wie 95 Prozent der Organisationen den Bereitstellungserfolg messen (aktiv = gut, inaktiv = schlecht). Diejenigen unter Ihnen, die zufriedene PagerDuty Kunden sind, werden mit Ergebnis Nr. 2 am besten vertraut sein (von der Flut von Alarmen/Vorfällen, die Ihr Mobiltelefon erreichen). Szenario Nr. 1 ist jedoch auch irreführend, da ein aktiver Dienst nicht automatisch Gesundheit, Leistung oder Qualität impliziert.

Nachteile manueller Integritätsprüfungen bei der Bereitstellung

Eines haben wir von unseren ersten 25 Kunden gelernt Geschirr ist, dass die meisten Organisationen typischerweise 3-5 Ingenieure haben, die jeweils mindestens eine Stunde damit verbringen, Produktionsbereitstellungen manuell zu überprüfen. Einer unserer Kunden beispielsweise, Build.com , früher verbrachten 5-6 Teamleiter jeweils eine Stunde damit, Daten manuell zu analysieren aus Neues Relikt Und Sumo-Logik – was normalerweise bedeutet, dass mehrere Konsolen-/Browserfenster geöffnet sind und der Kontext zwischen Bash-Skripten, der Überwachung der Anwendungsleistung und Protokollanalysetools umgeschaltet werden muss.

Da sich das menschliche Gehirn nur auf 8-10 Elemente im Kurzzeitgedächtnis konzentrieren kann und alle eingehenden Daten aus verschiedenen Systemen vorhanden sind, können Menschen im Jahr 2018 ziemlich leicht Dinge übersehen. Manuelle Analysen und Integritätsprüfungen sind eine Herausforderung, wenn Sie nach der Bereitstellung mehrere hunderttausend Zeitreihenmetriken und einige Millionen Protokolleinträge überprüfen müssen.

Lassen Sie sich bei Gesundheitschecks von KI/Maschinellem Lernen unterstützen

Bei Harness automatisieren wir nicht nur die Bereitstellung von Softwareartefakten in der Produktion, sondern auch die Integritätsprüfung mithilfe von KI und ML. Wir nennen dies Kontinuierliche Verifizierung .

Wir verwenden hauptsächlich unüberwachte Algorithmen des maschinellen Lernens wie Hidden-Markov-Modelle, symbolische Aggregatdarstellung, KMeans-Clustering und einige neuronale Netze, um die Erkennung von Anomalien und Regressionen aus APM- und Protokolldaten zu automatisieren.

Innerhalb weniger Sekunden nach der Bereitstellung eines neuen Software-Artefakts kann Harness eine Verbindung zu jedem APM oder Protokolltool und generieren Sie automatisch ein Modell des Anwendungsverhaltens aus Leistungs- (Reaktionszeit/Durchsatz) und Qualitätsperspektive (Fehler/Ausnahme/Ereignisse).

Harness vergleicht diese Modelle dann mit früheren Bereitstellungen und kennzeichnet sofort alle neuen Anomalien oder Regressionen. Was Menschen Stunden zum Verarbeiten und Analysieren brauchen, dauert mit Algorithmen des maschinellen Lernens nur Sekunden.

Die folgenden Screenshots stammen beispielsweise aus der Harness-Verifizierung von AppDynamics APM-Daten:

Im obigen Bild können Sie sehen, dass Harness nach der Bereitstellung zwei Leistungseinbußen bei Geschäftstransaktionen festgestellt hat. Damit verbunden zeigt das folgende Bild, dass sich die Reaktionszeit einer Transaktion – „Anmeldung anfordern“ – tatsächlich von 31 ms auf 165 ms erhöht hat. Die gesamte Analyse wird mithilfe von KI/ML automatisiert.

Hier ist ein weiteres Beispiel dafür, wie Harness Fehler-/Ausnahmeanomalien in Anwendungsprotokollen von Splunk erkennt:

Rote Punkte stehen für neue Fehler, die durch die Bereitstellung in die Anwendungsprotokolle eingeführt wurden. Graue und blaue Punkte stellen Basisereignisse oder Fehler/Ausnahmen dar, die normalerweise bei jeder Bereitstellung beobachtet werden.

Harness verwendet KMeans-Clustering mit einigen Jacard- und Cosinus-Distanzberechnungen, um diese Visualisierungen zu generieren. Wenn Sie auf einen beliebigen Punkt klicken, werden auch der Stacktrace und die Grundursache des Ereignisses angezeigt.

Rollback mit KI/ML-Intelligenz automatisieren

Harness kann mithilfe der Intelligenz aus seiner kontinuierlichen Überprüfung auch das Rollback von Bereitstellungen automatisieren. Stellen Sie sich Harness als ein Sicherheitsnetz vor, das es Dev/DevOps-Teams ermöglicht, schneller bereitzustellen, aber dann ein Rollback durchzuführen, wenn neue Anomalien oder Regressionen auftreten.

Mit der kommenden Harness-Unterstützung für PagerDuty können Unternehmen PagerDuty sowohl als Benachrichtigungskanal als auch als Verifizierungsquelle verwenden. Harness kann beispielsweise PagerDuty vor der Bereitstellung abfragen, um festzustellen, ob in der Produktion aktive Vorfälle auftreten. Das Letzte, was Dev/DevOps-Teams tun möchten, ist die Bereitstellung in einer Hot-Umgebung.

Zusammenfassend bietet Harness Kontinuierliche Bereitstellung als Service das Unternehmen dabei unterstützt, die Bereitstellung und Auslieferung von Software an Endbenutzer in der Produktion zu automatisieren. Wir helfen Kunden dabei, schnell voranzukommen, ohne dass etwas kaputt geht.


Steve Burton ist CI/CD- und DevOps-Evangelist bei Harness.io. Vor Harness war Steve als Geek bei AppDynamics, Moogsoft und Glassdoor tätig. Seine Karriere begann er 2004 als Java-Entwickler bei Sapient. Wenn er nicht gerade mit Technik herumspielt, schaut er sich normalerweise Formel 1 an oder recherchiert im Internet nach Autos.