Intelligente Lasttests für performantere Anwendungen KI-gestützte Observability
Anbieter zum Thema
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.

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
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.
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.
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.
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.
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 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.
(ID:48015844)