Tierney - stock.adobe.com
So entwickeln Sie eine Teststrategie für die Cloud-Migration
Erfahren Sie in diesem Artikel, wie Sie die passende Teststrategie für Ihre Cloud-Migration finden, welche Herausforderungen es gibt – und warum Sie Security priorisieren sollten.
Das Verschieben einer Anwendung in die Cloud ist für viele Unternehmen eine Herausforderung. On-Premises bleiben Fehler an Servern und anderen IT-Komponenten oft unsichtbar für die Nutzer – vorausgesetzt, die Admins haben vorgesorgt. Wenn eine Cloud-Anwendung nicht erreichbar ist, merken das hingegen alle sofort. Deshalb ist es so wichtig, sie vor der Migration auf Herz und Nieren zu testen.
Ein formalisiertes Framework hilft IT-Teams dabei, eine Teststrategie für die Cloud-Migration zu entwickeln und sicherzustellen, dass eine App so funktioniert, wie sie sollte. Lassen Sie uns einige der Hauptbereiche durchgehen, auf die Sie sich konzentrieren sollten, welche bewährten Verfahren Sie kennen sollten, und was die typischen Probleme sind, die Sie von vornherein auf dem Schirm haben sollten.
Wieso brauche ich eine Teststrategie für die Cloud-Migration?
Cloud-Migrationstests helfen IT-Teams sicherzustellen, dass die App nach dem Wechsel in die Cloud weiterhin so funktioniert, wie sie sollte, und sorgen für eine bessere Nutzererfahrung (User Experience, UX). Dazu müssen sie die Leistung der App sowohl On-Premises, als auch in der Cloud messen, damit Sie die beiden Werte vergleichen können.
Metriken aus Cloud-Migrationstests helfen dabei, Probleme zu identifizieren und zu quantifizieren – andernfalls laufen Sie Gefahr, die Zeit und Ressourcen Ihrer Mitarbeiter zu verschwenden. Zu den wichtigen Schlüsselmetriken gehören Anwendungsstart- und Reaktionszeiten, Leistung während Spitzenlasten und außerhalb der Geschäftszeiten sowie Benutzerfreundlichkeit auf verschiedenen Plattformen (Desktops, Remote-Zugriff und mobile Geräte).
Beachten Sie außerdem, dass Cloud-Anbieter Updates herausgeben, die bei Ihrer Anwendung auch nachträglich Leistungsprobleme verursachen können. Haben Sie kontinuierlich Performance-Metriken erhoben, so bemerken Sie solche Schwierigkeiten recht schnell. Arbeiten Sie dann mit Ihrem Cloud-Anbieter zusammen, um herauszufinden, was passiert ist und Lösungsmöglichkeiten es gibt.
Schließlich zeigen Cloud-Migrationstests, wo IT-Teams die Leistung oder UX anpassen müssen, um die Anwendung für die neue Umgebung zu optimieren.
Wie sich Cloud-Migrationstests von herkömmlichen Anwendungstests unterscheiden
Der Hauptunterschied beim Testen von Anwendungen On-Premises im Vergleich zu Anwendungen in der Cloud, ist, dass Sie die Skalierbarkeit der Cloud sowie zusätzliche Integrationen und Abhängigkeiten berücksichtigen müssen. Einige dieser Integrationen sind schwer zu identifizieren und zu verstehen. Ihr Cloud-Test-Framework wird sich daher in den meisten Fällen von Ihrem bisherigen Vorgehen On-Premises unterscheiden und Sie müssen vielleicht neue Tools anschaffen, um die richtigen Metriken zu erheben, zu Beispiel für Lasttests und Pentests.
Beachten Sie bei alledem, dass die Ziele Ihrer Tests in beiden Umgebungen dieselben sein müssen. Sonst bekommen Sie keine vergleichbaren Ergebnisse. Verwenden Sie so viele der gleichen Schritte und Tools wie möglich, um klare Prognosen treffen zu können, wie sich die Migration auf Ihre Anwendung auswirken wird.
Welche Tests sollte ich durchführen?
Das Ziel von Cloud-Migrationstests besteht nicht darin, alle möglichen Features und Funktionen zu testen. Sie benötigen eine solide Grundlage von Tests und Metriken, um sicherzustellen, dass Ihre Anwendung wie erwartet funktioniert. Bei einer Cloud-Migration gibt es bestimmte Tests, die Vorrang erhalten sollten:
- Funktionale Validierung. Mit diesem Test finden Sie heraus, ob der Build die Anforderungen dafür erfüllt, dass alle Funktionen und Komponenten auf beiden Seiten der Cloud-Migration sauber laufen. Meist zeichnet sich recht deutlich ab, wo Sie nachjustieren müssen.
- Leistung. Dazu gehören Metriken, die abbilden, wie gut eine Anwendung unter realen Bedingungen funktioniert: wie wirken sich Datenvolumen, Kapazität, CPU- und Speicherbelegung auf die Performance aus?
- Integration. Anwendungen sind mit anderen Diensten und Apps verbunden, um Daten aus der Cloud und On-Premises (oder aus beidem) auszutauschen. IT-Teams müssen überprüfen, ob diese Verknüpfungen in der Cloud noch funktionieren. Besonderes Augenmerk liegt hier auf Konstrukten, bei denen Komponenten in unterschiedlichen Clouds liegen oder On-Premises bleiben.
Es gibt allerdings noch weitere Aspekte, die Sie prüfen sollten: Wenn Ihre Anwendung über ein dediziertes Portal verfügt oder Anpassungen der Benutzeroberfläche (Graphic User Interface, GUI) erfordert, um sie von Mobilgeräten aus zu nutzen, sollten Sie das auf Android- und Apple-Geräten prüfen. Natürlich können Sie nicht alle Mobilgeräte dieser Welt beschaffen, um die Anwendung zu testen – dafür hat sich das Feedback aus der Benutzerbasis bewährt.
Testen Sie außerdem sowohl den Zugriff über Mobilfunknetze als auch WLAN, da sich unterschiedliche Datenübertragungsgeschwindigkeiten auf das Verhalten der App auswirken. Zusätzlich sollten Sie sowohl eine Internetverbindung innerhalb als auch außerhalb Ihres Unternehmensnetzwerks verwenden.
Eine weitere Funktion, die Sie ausprobieren sollten, ist das Drucken – ja, die Leute drucken immer noch, manchmal müssen sie das sogar. Hier werden technische Probleme häufig übersehen, bis es zu spät ist und die Hütte brennt. Das Drucken aus einer Cloud-basierten Anwendung heraus auf einem lokalen Gerät stößt häufig auf Sicherheits- und Netzwerkprobleme, die Sie vorab adressieren sollten.
Sicherheitstests vor der Cloud-Migration
Es ist unerlässlich, dass Sie Nutzerrechte und Anwendungssicherheit ausführlich prüfen, bevor Sie beginnen, eine Anwendung in die Cloud zu verschieben. Sie sollten sich dazu die folgenden Frage stellen:
- Wer hat Zugriff auf die App? Beginnen Sie mit den Konten und den Features sowie Funktionen, auf welche de Benutzer zugreifen würden. Das Hinzufügen weiterer Variablen hilft nicht oder beschleunigt das Testen nicht, daher sollte der Zugriff der Endbenutzer dem entsprechen, was sie mit der App On-Premises hatten, nicht mehr und nicht weniger.
- Wie gehen Sie sicher, dass Dienste die kleinstmöglichen Privilegien erhalten? Wenn Ihre Daten zwischen verschiedenen Diensten in der Cloud verschoben werden, welche Schritte stellen die geringstmöglichen Privilegien sicher? Bei vielen Cloud-Anbietern gibt es spezielle Tools, um das zu regeln. Nehmen Sie sich die Zeit, sie kennenzulernen und zu lernen, wie Sie sie verwenden.
- Werden sich Sicherheitsmaßnahmen auf die App auswirken? Führen Sie Anwendungstests immer erneut aus, nachdem Sie eine Änderung an den Sicherheitsmechanismen vorgenommen haben, da sie möglicherweise die Leistung beeinträchtigen. So könnte die Verschlüsselung eine App sowohl im aktiven Modus, als auch im Ruhezustand verlangsam, oder der Overhead dafür sorgen, dass sie die CPU stärker beansprucht.
7 häufige Herausforderungen beim Cloud-Migrationstest – und wie Sie sie meistern
Anwendungstests sind eine Herausforderung, egal wie reibungslos sie ablaufen. Trotz all Ihrer Planung und Tests werden Sie wahrscheinlich auf Probleme stoßen. Die meisten von ihnen sind zum Glück lösbar.
1. Die Priorisierung von Testmetriken fällt schwer
UX und Sicherheit einer Anwendung sind wichtig, doch letztendlich muss die Anwendung wie beabsichtigt funktionieren. Wenn sie absolut sicher ist und totschick, aber einfach nicht macht, was sie soll, haben Sie nichts erreicht.
Lösung: Finden Sie die Balance zwischen Design, Sicherheit und Funktion. Nehmen Sie sich Zeit, um alle Faktoren – Funktionalität, UX und Sicherheit – frühzeitig im Cloud-Migrationsprozess zu berücksichtigen. All diese Bereiche sind miteinander verknüpft und Sie sollten sie auch so behandeln.
2. Zeit- und Geldmangel erschwert sorgfältiges Arbeiten
Achten Sie unbedingt darauf, nicht schlampig zu werden, wenn Ihnen die Zeit ausgeht. Insbesondere sollten Sie keine Sicherheitsmaßnahmen schnell und unüberlegt reduzieren oder entfernen, um eine App funktionsfähig zu machen.
Lösung: Planen Sie die Sicherheit von Anfang an mit ein. Probleme mit Sicherheitsberechtigungen treten oft auf und können die Performance einer App beeinträchtigen. Widerstehen Sie dennoch dem Reflex, groß angelegte Änderungen vorzunehmen, um die Dinge sofort zum Laufen zu bringen. Planen Sie Zeit in Ihren Cloud-Migrationsplan ein, um diese Probleme anzugehen.
3. Die IT-Abteilung schafft die Migration nicht allein
Cloud-Migrationen sind komplexe Projekte, die das Wissen und die Arbeitskraft vieler verschiedener Unternehmensbereiche erfordert. Die IT trägt den Großteil der Verantwortung und unterstützt den Rest des Unternehmens – doch im Gegenzug benötigen sie Hilfe, vor allem von den Entwicklern, aber auch aus der Nutzerbasis.
Lösung: Stellen Sie ein gemischtes Testteam zusammen. Dieses Team muss flexibel sein und aus Experten bestehen, die sich mit dem Inhalt und der technologischen Perspektive der Anwendung auskennen. Stellen Sie bestimmte Punkte in Meetings zurück, damit Sie Ihre Mitarbeiter nicht überfordern oder langweilen.
4. Der Sirenenruf einfacher Lösungen lockt
Oft scheint es so, als hätte Ihr Cloud-Anbieter eine simple Lösung für Ihr Problem zur Hand: zum Beispiel bietet er eine automatische Verschlüsselung für Ihre App, die Sie mit wenigen Klicks aktivieren. Hier ist Vorsicht geboten: Jede Änderung kann sich auf mehrere Aspekte des Betriebs auswirken und sowohl technische Probleme als auch höhere Kosten verursachen. Und schon laufen Ihre Tests komplett aus dem Ruder.
Lösung: Prüfen Sie jede zusätzliche Funktion, die Sie in Anspruch nehmen. Versuchen Sie zunächst, sich an den ursprünglichen Plan zu halten – die Testphase ist weder die Zeit noch der Ort für Experimente mit neuen Services. Wenn Sie kleinere neue Features oder Funktionen hinzufügen müssen, holen Sie die Zustimmung aller ein und testen und überprüfen Sie diese Änderungen sofort, um deren Folgen zu verstehen.
5. Rhythmus und Termine für die Tests sind unregelmäßig
Idealerweise sollten Sie kontinuierliche Sicherheitstests durchführen und mindestens wöchentliche Tests, mit denen Sie Daten validieren und Fehlerprotokolle auswerten. Leider durchkreuzen Kosten, anderweitige Termine und unerwartete, dringliche Projekte diese Pläne häufig. Jede Sekunde, in der Sie eine Cloud-Ressource nutzen, kostet das Unternehmen Geld. Sobald die App veröffentlich ist, haben außerdem die meisten Beteiligten andere Sorgen und neue Projekte.
Lösung: Sorgen Sie dafür, dass Sie genügend Zeit für große Updates haben und lassen Sie nicht locker. Wo ein Wille ist, ist auch ein Weg, besonders in der IT. Richten Sie Cloud-Migrationstests an den Wünschen, Bedürfnissen und Erwartungen des Managements aus. Fassen Sie einen klaren Plan für tägliche und wöchentliche Tests in Zeiten, zu denen Sie größere Änderungen erwarten. Wenn die Ressourcen vorhanden sind, drängen Sie darauf, dass es allgemein regelmäßige Tests gibt.
6. UX-Tests bilden nicht die breite Nutzerbasis ab
Viele IT-Teams ziehen immer dieselben Nutzer für UX-Test heran – manchmal beschränken sie sich auf einige wenige Experten für die jeweilige Software. Wenn Sie Ihre Anwendung in die Cloud verschieben, benötigen Sie jedoch möglichst viele Perspektiven von möglichst vielen Geräten und Standorten aus.
Lösung: Erweitern Sie Ihre Benutzertestteams. Koordinieren Sie Benutzertests mit einem großen Pool von Testern mit unterschiedlichen Erfahrungen und Rollen. Schließen Sie sowohl Leute mit Cloud-Erfahrung ein, als auch totale Anfänger. Achten Sie auf durchmischte Altersgruppen. Die meisten Endbenutzer wissen nichts über die Technologie unter der Haube, aber sie sehen die Anwendung und haben bestimmte Erwartungen. Und manchmal wissen sie sogar besser als Sie, was noch fehlt.
7. Der Kostenfaktor ist nicht Teil der Tests
Bei einer lokalen Migration gehören in der Regel alle Komponenten dem Unternehmen. Bei einer Cloud-Migration entstehen bei jedem durchgeführten Prozess Kosten: für aufgerufene Dienste und die Übertragung von Daten aus der Cloud in einen Cache oder zurück On-Premises. Es gibt Verknüpfungen zu anderen Cloud-Diensten, die Sie leicht übersehen können, oder sogar die Test-Tools selbst sind kostenpflichtige Cloud-Services. Sie erhalten am Ende eine Überraschungsrechnung, die im schlimmsten Fall so hoch ausfällt, dass sich die ganze Cloud-Migration nicht mehr lohnt.
Lösung: Finden Sie einen Weg, auch die Kosten zu prüfen. Das Kostenmanagement ist nicht regulär Teil der Tests. Doch die Tests bilden genau ab, was eine App tut, wenn sie in der Cloud ausgeführt wird. Daher sind häufige Cloud-Migrationstests zu Datenübertragung, Nutzungsmustern und Kompatibilität eine Grundlage, um die Kosten abzuschätzen.
Dann ist die Rechnung auch keine Überraschung mehr.