Blog

Private: Performance Testing für eine erfolgreiche Cloud-Migration

Autor:

Viktoria Praschl

VP Sales Central Europe bei Tricentis

Datum: Jun. 15, 2022

Unternehmen verlagern immer mehr Applikationen in die Cloud. Aber wie stellt man sicher, dass sie dort auch schnell und stabil laufen? Damit es kein böses Erwachen gibt, ist eine umfassende Performance-Testing-Strategie gefragt – sowohl vor, während als auch nach der Cloud-Migration.

Performance-Tests haben einen schlechten Ruf: Sie gelten traditionell als aufwendig, komplex und teuer. Gerade im Hinblick auf die Cloud-Migration sind sie jedoch unverzichtbar. Denn Anwender haben kein Verständnis dafür, wenn eine Applikation langsam ist oder zu lange Ladezeiten hat. Alles über vier Sekunden gilt bereits als kritisch. Unternehmen riskieren dadurch, Kunden und Interessenten zu verlieren, Mitarbeiter zu demotivieren und die Produktivität auszubremsen. Bevor man eine Applikation in die Cloud verschiebt, muss man daher sicherstellen, dass sie dort performant und stabil läuft – auch dann noch, wenn viele Nutzer gleichzeitig darauf zugreifen. Das gilt für kundenseitige Applikationen gleichermaßen wie für unternehmensinterne.

Performance Testing gehört zu den integralen Bestandteilen einer erfolgreichen Cloud-Migration. Das Thema wird umso wichtiger, je mehr Workloads Unternehmen in die Cloud verschieben. Seit der Pandemie hat das Tempo rasant zugelegt: 80 Prozent der Organisationen steigen doppelt so schnell auf eine Cloud-zentrierte IT um wie vor Corona, so eine IDC-Studie. Waren bisher viele noch zögerlich, auch Kern-Anwendungen wie das ERP, das Auftragsmanagement und die Supply Chain in die Cloud zu verschieben, ändert sich dies zunehmend. Denn mit dem anstehenden Wechsel auf SAP S/4 HANA denken viele Unternehmen darüber nach, gleich auf ein Cloud-Modell umzusteigen, um Kosten und Management-Aufwand zu reduzieren. Gerade bei geschäftskritischen Anwendungen ist eine gute Performance unverzichtbar.

Die Cloud ist kein Selbstläufer

Auch wenn es viele Vorteile bringt, Anwendungen in der Cloud zu betreiben, ist die neue Infrastruktur kein Selbstläufer. Eine Applikation, die bereits On-Premises langsam war, wird in der Cloud nicht automatisch schneller. Zwar lassen sich hier Ressourcen dynamisch skalieren, doch schlecht funktionierender Code wird immer ein Nadelöhr bleiben, egal, wo er läuft und auf wie vielen Instanzen. Dazu kommen neue Herausforderungen: Häufig entstehen zum Beispiel Latenzen, wenn man Services über Cloud-Ressourcen und Netzwerkgrenzen verteilt. Nicht immer sind Einstellungen zudem optimal vorkonfiguriert. Auch Security-Maßnahmen, die erforderlich sind, um die Cloud abzusichern – etwa Firewalls, VPN und Verschlüsselung – verbrauchen Rechenleistung und können die Performance einer Anwendung beeinträchtigen. Daher ist es wichtig, bei der Migration genau zu prüfen, ob es Engpässe gibt und wo die Ursachen liegen. So kann man gezielte Maßnahmen ableiten, um sie zu vermeiden.

Performance Testing auf den Migrations-Ansatz abstimmen

Um den Aufwand für das Performance Testing möglichst gering zu halten, empfiehlt es sich, die Test-Methoden auf die jeweilige Migrations-Strategie abzustimmen. Bei einem Lift-and-Shift-Ansatz, der eine bestehende Applikation eins zu eins in eine IaaS-Umgebung überträgt, liegt der Fokus auf der Infrastruktur. Reicht etwa die Netzwerkbandbreite aus? Und sind VMs und Container mit genügend Rechenleistung und Speicher ausgestattet? In der Praxis verschieben Unternehmen ihre Applikationen allerdings nur selten unverändert in die Cloud. Meist passen sie diese mehr oder weniger stark an die neue Umgebung an, optimieren sie oder ersetzen sie gar durch eine komplett andere, meist serverlose Architektur. Bei Serverless-Applikationen konzentrieren sich die Performance-Tests auf die Anwendung selbst. Engpässe können hier vor allem durch fehlerhaften Code entstehen. Um sie schon im Vorfeld zu vermeiden, sollte man automatisiertes Performance-Testing am besten bereits in DevOps-Prozesse integrieren. Serverless-Architekturen erfreuen sich wachsender Beliebtheit. Entwickler müssen hierbei nur noch den Code bereitstellen und in Container packen. Der Cloud Provider kümmert sich dann um die Provisionierung, Verwaltung und Skalierung der Serverinfrastruktur.

Nicht blind auf Elastizität verlassen

Ein attraktives Feature von Cloud Services ist die sogenannte Elastizität: Sie passt Ressourcen automatisch an den aktuellen Bedarf einer Anwendung an. Kunden müssen nur für das zahlen, was sie auch tatsächlich nutzen. Trotz Elastizität kann es jedoch kurzzeitig zu Performance-Engpässen kommen. Zwar erkennt die automatisierte Provisionierung, wenn zusätzliche VMs oder Container benötigt werden. Es dauert jedoch einige Minuten, bis diese hochgefahren und betriebsbereit sind. Daher sollten Unternehmen sich nicht blind auf die Elastizität verlassen, sondern lieber Vorkehrungen treffen, um Lastspitzen abzudecken. Das setzt voraus, dass man das Nutzerverhalten kennt und Schwankungen in der Nachfrage versteht. Der Video-Streaming-Anbieter Netflix weiß zum Beispiel, dass seine Spitzenzeiten zischen 18 und 22 Uhr liegen. Rechtzeitig vorher fährt er die Ressourcen automatisiert hoch. Dank Performance Testing weiß er genau, wie viel Rechenleistung er wann benötigt. Für die Tests simuliert er die entsprechenden Szenarien mit der erforderlichen Zahl an virtuellen Benutzern und einer realistischen IT-Umgebung. Mithilfe einer Testautomatisierungs-Plattform lassen sich Lastgeneratoren in Sekundenschnelle starten.

Performance Testing nach der Migration

Auch nach der Migration ist kontinuierliches Performance Testing wichtig. Denn in der Cloud herrschen viel schnellere Release-Zyklen. Außerdem verändern sich Cloud-Umgebungen hochdynamisch, sodass es zu Anwendungsproblemen kommen kann. SAP stellt zum Beispiel jedes Quartal neue S/4HANA-Cloud-Updates bereit, die es sorgfältig zu testen gilt, damit Geschäftsprozesse weiterhin reibungslos funktionieren. Diese manuell durchzuführen, ist viel zu aufwändig. Denn man muss einen Prozess immer Ende-zu-Ende über alle Glieder der Kette hinweg prüfen. Dabei ist in den meisten Fällen ein komplexes Geflecht aus SAP- und Nicht-SAP-Anwendungen zu berücksichtigen. Eine Cloud-fähige Testautomatisierungs-Plattform ermöglicht es, schnell und einfach Performance-Tests für große, komplexe Anwendungen zu erstellen und durchzuführen.

Fazit

Mit automatisiertem Performance-Testing können Unternehmen sicherstellen, dass ihre Cloud-Applikationen während des gesamten Lebenszyklus schnell und stabil laufen. Sie können Leistungs-Engpässe identifizieren und Geschäftsrisiken reduzieren. Dabei lassen sich Aufwand und Kosten dank einer Cloud-fähigen Testautomatisierungs-Plattform erheblich reduzieren. So werfen Performance-Tests ihren schlechten Ruf endlich ab. Mithilfe einer Automatisierungs-Lösung tragen sie dazu bei, Cloud-Migrationen zu beschleunigen und Cloud-Projekte effizient zum Erfolg zu führen.

Bildmaterial:
BU: Viktoria Praschl, VP Sales Central Europe bei Tricentis

Viktoria Praschl headshot

Author:

Viktoria Praschl

VP Sales Central Europe bei Tricentis

Datum: Jun. 15, 2022

Weitere Ressourcen