Intelligente Lasttests für performantere Anwendungen KI-gestützte Observability

Ein Gastbeitrag von Raphael Pionke und Daniel Bell *

Eine exzellente, zuverlässige User Experience ist ein Muss und sorgt für eine bessere Kundenbindung. KI-basierte Lasttests unterstützen auf dem Weg dahin und sparen Geld.

Anbieter zum Thema

KI-gestützte Last- und Performancetests können dabei helfen, die User Experience und damit die Kundenzufriedenheit zu erhöhen.
KI-gestützte Last- und Performancetests können dabei helfen, die User Experience und damit die Kundenzufriedenheit zu erhöhen.
(Bild: geralt / Pixabay )

Softwareprobleme können bares Geld kosten und das Vertrauen der Nutzerinnen und Nutzer dauerhaft erschüttern. Beispiel Online-Banking: Die Umsetzung der PSD2-Richtlinie fordert eine starke Authentifizierung der Nutzerinnen und Nutzer. Aber was, wenn der Service, der für die TAN-Generierung benötigt wird, gestört ist? Dann hängen die Kundinnen und Kunden im Online-Banking fest. Je nach Dauer der Störung kostet das Vertrauen – und auf Dauer Umsätze.

Exzellenz in User Experience muss sein

eBook Künstliche Intelligenz für Developer
eBook „Künstliche Intelligenz für Developer“
(Bild: Dev-Insider)

E-Book zum Thema

Das eBook „Künstliche Intelligenz für Developer“ vermittelt ein grundlegendes Verständnis für KI und Machine Learning und nennt essenzielle Werkzeuge.

Die verärgerte Kundschaft einer Bank wird nach dem Auftreten einer Störung wahrscheinlich nicht gleich zu einem anderen Institut wechseln. Banken genießen den Vorteil des bekannten Lock-in-Effekts. Es ist schlicht mit viel Aufwand verbunden, seine Bankverbindung zu wechseln. Das sieht in anderen Segmenten deutlich anders aus.

Auf dem Smartphone beispielsweise tobt ein gnadenloser Konkurrenzkampf. Es kostet viel Marketing-Budget, um die Nutzerinnen und Nutzer überhaupt dazu zu bewegen, sich eine App zu installieren. Treten dann Probleme während des Onboardings auf, ist die App einen Fingertipp später auch schon wieder deinstalliert.

Eine Gefahr, die sich so auch bei anderen Service-Angeboten zeigt. Ein Shop, der unter dem Besucheransturm zu Spitzenzeiten wie dem Weihnachtsgeschäft oder beim Sales-Event „Black Friday“ zusammenbricht, führt die Kundschaft unweigerlich zum Konkurrenten. Dies haben inzwischen auch viele Unternehmen erkannt und führen vor dem Launch eines neuen Shops oder einer Anwendung einen klassischen Lasttest durch. Der stößt aber immer häufiger an seine Grenzen.

Die Herausforderung moderner Technology-Stacks

Beim klassischen Lasttest setzen Lastgeneratoren unter möglichst realistischen Bedingungen eine Anwendung oder einen Service mit einer wachsenden Zahl von Requests unter Stress. In den einzelnen Testphasen werden die vorher definierten Messwerte erfasst und analysiert. Das kann die Antwortzeit einer Anwendung sein, die Zahl der erfolgreich verarbeiteten Anfragen oder auch die Fehlerrate.

Das Testergebnis signalisiert den Betreibern und Entwicklern, wo eine Grenze liegt, ab der die User Experience schlechter wird. Der Lasttest zeigt allerdings nicht, wo exakt das Problem liegt. Gibt es ein Problem an einer bestimmten Systemkomponente? Handelt es sich um einen systematischen Fehler oder ist der Service vielleicht zu klein dimensioniert? Wird der Bottleneck durch ein User-Interface verursacht?

Die Schwachstelle zu identifizieren und zu eliminieren ist Aufgabe der DevOps-Teams. Eine Aufgabe, die zunehmend aufwändiger wird, weil aktuelle Technology-Stacks komplexer werden. Ein Online-Shop oder eine Smartphone-App können unter anderem auf Microservices, Open-Source oder Cloud-Diensten basieren. An jeder dieser einzelnen Stellen und Komponenten kann das Problem entstehen.

Mehr Übersicht über Schwachstellen und Performance in diesen verschiedenen Technologie-Stacks bieten Fullstack-Monitoring-Tools. Ihr Einsatz hilft dabei, zuverlässiger und schneller einem Problem auf die Spur zu kommen. Denn die Lösungen bieten einen kontinuierlichen Einblick über den Status von Anwendungen und deren Ressourcennutzung in allen Schichten der Infrastruktur.

Die Verbindung von Lasttest und Monitoring ist somit nicht agnostisch gegenüber der Anwendung, sondern berücksichtigt die Besonderheiten des geprüften Zielsystems. Noch mehr Nutzen bringt dieser Ansatz durch die Unterstützung von KI während der Analyse.

KI entdeckt Schwachstellen deutlich schneller

Ein Szenario für die Verbindung aus Lasttest und Monitoring kann dabei so aussehen: Die Last wird von JMeter-Agents erzeugt, die vom JMeter-Controller gesteuert werden. Der Lasttest selbst wird in JMeter mit Parametern, Use Cases und dazugehörigen Teststeps definiert. Mittels Jenkins als Open-Source-Lösung wird die Test-Infrastruktur in der Cloud provisioniert und hochgefahren.

eBook Künstliche Intelligenz für Developer
eBook „Künstliche Intelligenz für Developer“
(Bild: Dev-Insider)

E-Book zum Thema

Das eBook „Künstliche Intelligenz für Developer“ vermittelt ein grundlegendes Verständnis für KI und Machine Learning und nennt essenzielle Werkzeuge.

Soweit ein klassisches Vorgehen: Die Einbindung einer Monitoring-Lösung wie Dynatrace macht an dieser Stelle den Unterschied, sorgt sie doch für eine größere Transparenz. Da bis auf die Tiefe eines einzelnen Microservices geprüft werden kann, zeigt der Lasttest somit einen eventuellen Lasteinbruch. Das Monitoring-Tool liefert dann die Information bezüglich der verantwortlichen Stelle. Durch die Überwachung bis auf Code-Level-Ebene macht ein Skalierungstest die limitierende Komponente sichtbar.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Kontinuierlich wertet das Monitoring-Tool Metriken aus, die zeigen, wie das Lastszenario umgesetzt wird. Mit diesem Testaufbau können wichtige KPIs, z. B. Hardware-Auslastung, Anzahl der Requests oder der aktiven Virtual Users im Blick behalten werden. Das Monitoring ist KI-gestützt und arbeitet mit einer Anomalie-Detection. Durch diese ist das Monitoring-Tool in der Lage, das normale Systemverhalten zu kennen und kann somit definieren, was systemspezifische Abweichungen, also Anomalien, sind.

Wenn die Antwortzeit eines Service aufgrund der CPU-Nutzung ansteigt, dann ermittelt das System dies selbstständig. Ein wesentlicher Vorteil: Es muss kein Schwellenwert definiert werden. Während klassisches Monitoring einen Alarm nur auf Basis eines statischen Werts auslöst, weist die Anomalie-Detection bereits frühzeitig auf Probleme hin.

Ergänzendes zum Thema
Weiterführende Informationen

Eine KI kann durchaus In-House entwickelt werden, wobei sich allerdings die Frage stellt, ob sich der damit verbundene Aufwand lohnt. Zudem bietet der Einsatz einer proprietären Lösung Vorteile in Hinblick auf die Produktunterstützung.

Ein Unternehmen, das sein Monitoring bereits entsprechend aufgestellt hat, ist die Nord-Ost-West-Informationstechnik GmbH (NOW IT), ein IT-Dienstleistungsunternehmen für verschiedene Rentenversicherungsträger. Um die containerbasierte IT-Umgebung überwachen zu können, wollte NOW IT das vorige APM-Tool ablösen und Dynatrace einführen.

Der Digitaldienstleister T-Systems MMS hat dafür die Dynatrace-Plattform implementiert und skalierbare Mietlizenzen bereitgestellt. Eine zentrale Instanz stellt den Betrieb und die Nutzungsverwaltung sicher, das End-to-End-Monitoring der Komponenten übernimmt die Abteilung für Datenbank- und Applikationsdienste. Die in Dynatrace eingebundene Künstliche Intelligenz stellt kausale Zusammenhänge etwa in Geschäftsprozessen und Softwareentwicklung her, damit Ursachen von IT-Störungen schnell und effizient erfasst und behoben werden können.

Eine intelligente, dank KI mitlernende Überwachung erzeugt einen ganzheitlichen Blick, der die gesamte IT-Landschaft mit allen Anwendungen einbezieht. Betriebs- und Entwicklerteams arbeiten nach dem Dev-Ops-Prinzip besser und vernetzt zusammen, da eine Problemanalyse jetzt von allen Beteiligten aus allen Bereichen angegangen werden kann. Das beschleunigt eine Fehlerbehebung erheblich und sorgt für eine effiziente Zusammenarbeit.

Mit Application Monitoring nicht zu lange warten

Gerade weil Tech-Stacks anspruchsvoller und komplexer werden, profitieren Firmen insbesondere dann von den Lasttests, wenn sie mit dem Testen nicht erst kurz vor einem Release beginnen. Tauchen Schwierigkeiten kurz vor dem geplanten Release-Termin auf, steigt der Druck auf alle Beteiligten, das Problem rasch zu finden. Bekanntlich wachsen Kosten und Aufwände bei der Fehlerbeseitigung umso stärker, je später die Fehler entdeckt worden sind.

KI-gestütztes Monitoring kann in DevOps- und DevSecOps-Strategien eingebunden werden. Die Errichtung einer Testumgebung lässt sich heute dynamisch in der Cloud umsetzen, genauso wie das Aufsetzen ganzer Infrastrukturen. Der wesentliche Vorteil, Lasttests und Monitoring bereits während der Entwicklung zu nutzen, bietet die Sicherheit, dass die entwickelte Anwendung respektive Service während der gesamten Release-Kette zuverlässig und stabil arbeitet.

Raphael Pionke
Raphael Pionke
(Bild: T-Systems MMS)

Schwachstellen, Fehler oder zu klein gewähltes Sizing werden frühzeitig und vor allem leichter und schneller erkannt, als erst am Ende einen großen Test zu fahren. Die frühzeitige Integration trägt also stark zu einer besseren Softwarequalität bei und davon profitieren alle Beteiligten nachhaltig.

* Raphael Pionke ist seit 2013 als DevOps Engineer und seit 2019 als IT-Architekt im Bereich Application Performance Management tätig. Während dieser Zeit begleitete er zahlreiche Projekte für KMU, Großunternehmen und den öffentlichen Sektor. Seit 2020 beschäftigt er sich als Quality Architekt intensiv mit den Themen Performance, DevOps, IaaC, Cloud und der Implementierung & Anwendung von intelligenten APM-Lösungen.

Daniel Bell
Daniel Bell
(Bild: T-Systems MMS)

* Daniel Bell ist seit 2007 im Bereich der Software-Qualitätssicherung tätig. Während dieser Zeit begleitete er zahlreiche Projekte mit dem fachlichen Schwerpunkt Performance Testing. Seit 2018 ist er als Senior IT-Architekt im Bereich Application Performance Management tätig und beschäftigt sich mit der Implementierung und der Anwendung von intelligenten APM-Lösungen. Hierbei liegt der Fokus darauf, die Performance komplexer IT-Systeme zu optimieren und kontinuierlich zu überwachen.

E-Book zum Thema

Künstliche Intelligenz für Developer

eBook Künstliche Intelligenz für Developer
eBook „Künstliche Intelligenz für Developer“
(Bild: Dev-Insider)

Entwickler mit Erfahrung in Sachen Künstlicher Intelligenz (KI) und Machine Learning (ML) sind gesucht, die Einsatzszenarien vielfältig. Das eBook „Künstliche Intelligenz für Developer“ vermittelt ein grundlegendes Verständnis für KI und Machine Learning und nennt essenzielle Werkzeuge.

Das eBook behandelt folgende Bereiche:

  • Programmiersprachen und Bibliotheken
  • Entwicklungsumgebungen und Cloud-Plattformen
  • Testing von Software für Machine Learning

(ID:47957861)