„Die Cloud skaliert doch für uns“: Warum das falsch ist und ihr Performance-Tests machen solltet
Auf der DevOpsCon in Berlin hat Sebastian Cohnen, Performance-Spezialist und Gründer von Stormforger, einen Vortrag rund um Performance-Tests in der Cloud gehalten. Zuerst einmal geht es darum, Performance und Skalierbarkeit auseinander zu halten. Die Performance ist für Cohnen die Fähigkeit eines Systems, eine Aufgabe in einer definierten Dimension zu erledigen. Die Skalierbarkeit wiederum ist die Effektivität, mit der die Kapazität durch Ressourcen gesteigert werden kann. Das Performance-Problem erkennt man daran, dass die eigene Applikation für einen einzelnen Nutzer langsam ist; Das Skalierungsproblem daran, dass sie für einzelne Nutzer schnell, aber unter Last langsam ist.
Performance-Tests: Auf diese Methoden könnt ihr auch in der Cloud setzen
Da es auch in Cloud-Umgebungen zum Beispiel in der Konfiguration viele Faktoren gibt, die die Performance beeinflussen können, sollten Unternehmen auch dort nicht auf Performance-Tests verzichten. Auch durch das Zusammenspiel unterschiedlicher Konfigurationen und weitere Faktoren wie dem Betriebssystem und Co., die nicht beeinflusst werden können, kann es Einflussgrößen geben, die die Performance beeinflussen. Daher gibt Cohnen in seinem Vortrag einen Überblick über verschiedene Methoden, um Performance-Tests durchzuführen.
Beim Load-Testing wird mit normaler, zu erwartender Last getestet, um Latenzen, Durchsatz und Fehlerraten zu ermitteln. Beim Stress-Testing hingegen geht es darum, Tests mit gesteigerter bis extremer Last durchzuführen. Dabei soll das Systemverhalten überwacht werden, während die Last immer weiter erhöht wird. So kann festgestellt werden, welche Kapazität eine bestimmte Ressource hat, beispielsweise ein Server. Mit dem Scalability-Testing kann dann ermittelt werden, wie effektiv weitere Ressourcen umgesetzt werden. Für Unternehmer ein praktikables Mittel, um die Kapazität und somit die Kosten zu planen. Außerdem sollte man im Auge behalten, wann man mit seiner aktuellen Kapazität an die Grenze stößt.
Eine weitere Testmethode bezeichnet Cohnen als Spike-Testing. Damit wird getestet, wie sich das System bei extremen Lastspitzen entwickelt, und ob man als Unternehmen darauf schnell genug reagieren kann. Ein weiterer Test beschäftigt sich mit hoher Last über einen längeren Zeitraum. Dabei sollte vor allem darauf geachtet werden, ob Langzeiteffekte auftreten. Besonders spannend wird es gerade im Cloud-Bereich beim Configuration-Testing. In diesem Bereich braucht man natürlich auch eine ganze Reihe Tests, gerade im Hinblick auf unterschiedliche Instanztypen, Auto-Scaling-Einstellungen und die optimale Nutzung von Diensten. Dazu kommt, dass nicht alle Komponenten in der Cloud frei gewählt werden können. So ist man oft auf ein Betriebssystem oder die bestimmte Konfiguration einer Software festgelegt.
Performance-Tests früher und heute
Besonders spannend ist auch das Availability- und Resilience-Testing. Hierbei wird untersucht, was bei Deployments unter Last passiert oder ob es Probleme beim Ändern der Infrastruktur gibt.
Die Frage, ob Performance-Testing anders ist als früher, beantwortet Cohnen mit einem klaren Jain. Die Notwendigkeit und die Methoden sind unverändert. Aber durch die neuen Möglichkeiten der Cloud lassen sich Testumgebungen viel einfacher bereitstellen. Und wenn man sie nicht mehr braucht, schaltet man sie ab und sie verursachen keine Kosten mehr.
Die größte Herausforderung beim Performance-Testing in der Cloud bleibt aber die Reproduzierbarkeit. Testdaten und der „State“ im Allgemeinen sind auch in der Cloud ein komplexes System. Datenbanken, Caches und Dateisysteme müssen in einen definierten Zustand versetzt werden, die Testdaten müssen verwaltet werden. Hier sind die Administratoren gefragt – und sie dürfen mit ruhigem Gewissen ans Automatisieren denken.
Fazit
Zusammenfassend lässt sich also sagen, dass Ressourcen nicht gleich das Skalieren der Anwendung sind. Dazu kommt, dass die Systeme auch in der Cloud komplex sind und das Verständnis zum Testen enorm wichtig ist. Cohnens Tipp am Ende: Die Cloud macht bei Performance-Tests vieles einfacher – das sollten alle im Saal nutzen.
Bitte beachte unsere Community-Richtlinien
Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.
Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.
Dein t3n-Team