adam121 - stock.adobe.com

Cloud-Performance-Tests sind für die App-Migration notwendig

Wenn man eine Anwendung von einer On-Premises- in eine Cloud-Umgebung migriert, sollte man testen, ob sie alle Leistungsziele erfüllt. Tipps für eine geordnete Migration.

Eine der Herausforderungen beim Verschieben einer Anwendung von einer lokalen Umgebung in die Cloud ist Selbstzufriedenheit. Die Umstellung scheint so einfach zu sein, dass Entwickler und IT-Mitarbeiter davon ausgehen, dass die Anwendung genauso funktionieren wird, sobald sie in der Cloud angekommen ist. Sie minimieren die Tests und die Qualitätssicherung und fahren mit einem schnellen Rollout fort.

Das ist der Zeitpunkt, an dem die Beschwerden beginnen. Wenn Sie Glück haben, sind die Beschwerden das Schlimmste, was passiert. Wenn Sie Pech haben, wird Ihre Anwendung am Ende komplett offline sein.

Wie also sollte eine IT-Organisation diesen scheinbar schnellen und einfachen Prozess intelligent angehen, um die Anwendung erfolgreich in die Cloud zu bringen? Beginnen Sie mit Cloud-Performance-Tests.

Best Practices für Cloud-Performance-Tests

Die Nutzung von Public-Cloud-Diensten hat fast alles daran geändert, wie Unternehmen ihre IT-Systeme betreiben. Für Anwendungen bietet Cloud Computing unübertroffene Skalierbarkeit und weniger Verwaltungsaufwand. All das ist jedoch nur von hypothetischem Nutzen, solange eine Anwendung nicht richtig auf die Cloud vorbereitet ist.

Das bedeutet, dass Entwicklungs- und Betriebsteams koordiniert werden müssen, um Sicherheitslücken zu prüfen, Lasttests durchzuführen, die Skalierbarkeit zu bewerten, die Benutzerfreundlichkeit zu berücksichtigen und Server, Ports und Pfade zuzuordnen.

Echte Anwendungstests machen

Softwareentwickler starten oft die Anwendung und sehen, dass sie über das Startbild hinausgeht – doch das ist kein Test. Wenn die Person, die die Anwendung entwickelt hat, diejenige ist, die sie testet, ist das wiederum kein echtes Testen der Software. Sie brauchen Benutzer, die alle Aspekte der Anwendung überprüfen.

Diese Art des gründlichen Testens ist bei einer Multiserver-Anwendung sogar noch wichtiger. Die Anwendung mag funktionieren, aber können Sie auch Berichte erstellen? Wie sieht es mit der Geschwindigkeit der Datenübertragungen aus? Diese Funktionen werden wahrscheinlich lokal gut funktionieren. Aber sie können in der Cloud versagen, wo Sie zusätzliche Sicherheitsebenen haben, die in Ihrer lokalen Umgebung möglicherweise nicht vorhanden waren.

Abbildung 1: Checkliste für die Cloud-Migrationsstrategie
Abbildung 1: Checkliste für die Cloud-Migrationsstrategie

Sicherheitsmaßnahmen, die die Anwendungskommunikation blockieren, sind nicht das Problem des Entwicklers, zumindest nicht direkt. Um jedoch eine geeignete Lösung zu finden, benötigen Sie die Fähigkeiten und die Zusammenarbeit sowohl des Entwicklungs- als auch des IT-Betriebsteams.

Sie wollen Situationen vermeiden, in denen IT-Administratoren und Entwickler Schuldzuweisungen machen, während sich Ihre Benutzer über eine Anwendung beschweren, die nicht wie erwartet funktioniert. Ohne Kooperation könnte das IT-Team beschließen, einfach die Sicherheitsvorkehrungen zu entfernen und zusätzliche Ressourcen auf das Problem zu werfen, in der Hoffnung auf eine schnelle Lösung.

Verhindern Sie den Ausfall der App-Kommunikation

Die Kommunikation zwischen den Anwendungen kann eines der größten Probleme bei der Verlagerung einer Anwendung in die Cloud sein. Cloud-Umgebungen haben in der Regel mehr Sicherheitseinschränkungen für die interne Kommunikation als On-Premises-Umgebungen. Darauf müssen Sie vorbereitet sein.

Erstellen Sie eine vollständige Übersicht, welche Server, Ports und Kommunikationswege die Anwendung verwendet, bevor Sie in die Cloud umziehen. Oftmals sind diese Kommunikationsdaten unbekannt – und wenn Sie in die Cloud umziehen, bevor Sie sie kennen, werden Sie wahrscheinlich Schwierigkeiten haben, genau zu bestimmen, was in einer neuen Umgebung voller unbekannter Einstellungen passiert. Ihre Bemühungen, die Anwendungskommunikation abzubilden, können Ihnen später Stunden oder sogar Wochen der Fehlersuche ersparen. Und da Sie für jeden CPU- und RAM-Zyklus in der Cloud bezahlen, können Verzögerungen kostspielig sein. Schließlich bedeutet Cloud-Nutzung auch Kosten.

Stellen Sie sicher, dass eine App die Last tragen kann

Abgesehen von der Funktionalität ist es wichtig, Ihre Anwendung auch unter Last zu testen. Zu oft wird etwas, das einmal funktioniert, in Produktion gegeben, weil es einfach nur funktioniert. Eine Anwendung mit einem Dutzend Benutzern ist eine Sache, aber kann sie auch noch funktionieren, wenn die Anzahl der gleichzeitigen Benutzer Tausende oder Zehntausende erreicht?

Was ist Cloud Testing
Abbildung 2: Was Cloud Testing umfasst.

An dieser Stelle müssen Sie sich Ihre Einrichtung für die automatische Skalierung ansehen. Während die Cloud auf nahezu unbegrenzte Ressourcen skalieren kann, muss Ihre Anwendung darauf vorbereitet sein, dies auszunutzen, sonst werden Sie Leistungsprobleme bekommen. Lasttest-Software simuliert große Benutzergruppen, so dass Sie sehen können, wie sich Ihre Anwendung bei steigender Nutzung verhält. Dies gibt Ihnen auch die Möglichkeit, alle Einstellungen für die automatische Skalierung in der Cloud zu optimieren.

Es ist wichtig, daran zu denken, dass es verschiedene Arten von Anwendungstests gibt, und jeder hat seinen Platz. Ein Performance Tool zeigt Ihnen an, was vor sich geht. Lasttest-Tools sind darauf ausgelegt, zu sehen, wie gut die App unter erwarteten Bedingungen funktioniert. Ein weiterer Schritt sind Stresstests, die Ihre Umgebung auf den Prüfstand stellen, um die Sollbruchstelle der App zu ermitteln. Diese Tools und Testverfahren arbeiten zusammen; das eine ersetzt das andere nicht.

Lasttests werden nicht immer möglich sein, daher sollten Sie einen Soft Launch für die Anwendung in Betracht ziehen. Dies erfordert zwar oft mehr Schritte, um sicherzustellen, dass die Daten zwischen der alten und der neuen Umgebung synchron gehalten werden, gibt Ihnen aber die Möglichkeit, auf die lokale Umgebung zurückzugreifen, wenn die Cloud-Umgebung nicht wie erwartet funktioniert. Der Rückgriff auf die lokale Version bedeutet nicht, dass Ihre Bemühungen fehlgeschlagen sind – es gibt Ihnen die Möglichkeit, das Problem auf geordnete Weise zu korrigieren, und nicht inmitten eines chaotischen Ereignisses.

Erfahren Sie mehr über Cloud-Software