Mit E-Mail-Diensten muss sich jeder Administrator früher oder später einmal beschäftigen. Das zur CeBIT erscheinende ADMIN 02/2012 gibt dazu Praxis-Tipps und ... (mehr)

Niedrige Eintrittshürden

Lasttests muss man methodisch vorbereiten, um zum Beispiel Hypothesen darüber zu entwickeln, was nicht einwandfrei funktioniert oder wo Schwachstellen liegen könnten. Ebenso sollte vorher definiert werden, welche Werte als akzeptabel, welche als problematisch anzusehen sind. Daran ändert auch die Cloud nichts, aber sie senkt die technischen Hürden und minimiert die finanziellen Vorleistungen für die Lastsimulationen. Statt eigene Server zu unterhalten und aufwendig als Lastgeneratoren zu konfigurieren, lassen sich Tests aus der Cloud schnell im gewünschten Umfang starten. Nutzenbasierte Abrechnungsmodelle machen schwer zu kalkulierende Investitionen in Softwarelizenzen überflüssig. IT-Tester können zudem die Charakteristik und Anzahl virtueller User speichern, um im Krisenfall mit den hinterlegten Profilen ( Abbildung 2 ) unmittelbar in die Diagnose einzusteigen.

Abbildung 2: In der Testsoftware werden die Cloud-Server aktiviert und das Profil der erzeugten Last festgelegt ( Steigerungsraten, Anzahl der Zugriffe, Lastspitzen und so weiter).

Trotz der Cloud-Vorteile sind interne Tests mit eigenen Lastgeneratoren aber nach wie kaum zu ersetzen, um hausgemachte Probleme gegen solche abzugrenzen, die jenseits der eigenen Firewall angesiedelt sind und sich der direkten Kontrolle entziehen. Solange die unzureichende Performanz direkt auf eine einzelne Ursache zurückzuführen ist, gibt es bewährte Metriken für das Monitoring der durchschnittlichen Antwortzeit einer Webanwendung oder für die Messung der Datenrate, die an den einzelnen Stationen der Frage-Antwort-Kette tatsächlich auftritt. Application Performance Management zeigt darüber hinaus, an welchen Stellen die Agilität einer Anwendung zum Beispiel durch Optimierung ihrer Architektur gesteigert werden kann.

Häufig ist die zugrunde liegende Ursache allerdings komplex, sodass das Zusammenspiel verschiedener Teilursachen auszumachen ist. Überlagern sich etwa Probleme dies- und jenseits der Firewall, ist es hilfreich, mit derselben Lasttestsoftware sowohl aus der Cloud als auch von eigenen Servern aus zu operieren, um die Ursachen zu isolieren.

Ein weiterer Grund, sich bei Lasttests nicht ausschließlich auf die Cloud zu verlassen, liegt darin, dass eine präzise Iteration der Testläufe durch eine schwankende Bandbreitenverfügbarkeit beeinträchtigt werden kann. Modifiziert man beispielsweise Anwendungen auf der Code- oder Konfigurationsebene, lassen sich die Veränderungen jeweils Schritt für Schritt überprüfen. Das allerdings setzt eine hohe Genauigkeit der Regressionstests voraus, die die Cloud nicht bieten kann. Die aktuelle Auslastung des Internets und unterschiedliche Datenraten entziehen sich der Kontrolle der Testspezialisten und überlagern sich mit den erzielten Testergebnissen. Insbesondere ist eine exakte Wiederholbarkeit der Testläufe unter diesen Verhältnissen kaum zu bewerkstelligen.

Hybride Testverfahren

Soll eine Umgebung vor dem Start des Produktivbetriebs getestet werden, geschieht das aus technischen und Sicherheitsgründen in der Regel hinter der Firewall. Zunächst geht es nur darum, mit relativ wenigen virtuellen Nutzern die grundsätzliche Verfügbarkeit der Anwendungen sicherzustellen. Steht die gesamte Infrastruktur für den Go-Live, können die externen Zugriffssimulationen aus der Cloud starten. Das geschieht häufig mit demselben Skript und denselben Nutzerprofilen, sodass eine Lasttestsoftware von Vorteil ist, die externe und interne Testverfahren unterstützt. Das hybride Testverfahren erlaubt zudem, schon früh in der Entwicklungsphase einer Anwendung in das Monitoring einzusteigen, um Fehler zu beseitigen, solange es noch vergleichsweise einfach und kostengünstig möglich ist. Eine ausschließliche Verwendung der Cloud würde den Beginn der Tests auf einen Zeitpunkt verschieben, an dem die jeweilige Umgebung bereits eingerichtet ist.

Die Performanz-Analysen auf mehrere Cloud-Provider zu stützen, ist aus drei Gründen empfehlenswert.

  • Mehr Regionen können einbezogen werden, sodass ein realistisches Bild entsteht, wie verteilte Nutzer unter jeweils unterschiedlichen Rahmenbedingungen (Bandbreiten, Router, Third-Party-Server, und so weiter) die Verfügbarkeit von Anwendungen erleben.
  • Höhere Skalierbarkeit, indem die Beschränkungen in der Bandbreite oder der Anzahl der verfügbaren Server eines Providers durch das Zuschalten der Kapazitäten anderer Anbieter erweitert werden.
  • Performanz-Probleme des Cloud-Providers, die Testergebnisse verfälschen, lassen sich durch den Vergleich mit Resultaten der anderen Cloud-Tests leichter entdecken. Tritt ein bestimmter Bottleneck nur dann auf, wenn aus einer bestimmten Cloud heraus getestet wird, dann liegt das Problem nicht bei der geprüften Anwendung.

Ähnliche Artikel

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023