Was Cloud-basierte Testsoftware leisten muss

Unter Last

Wer sich von seiner Webanwendung nicht überraschen lassen will, muss unter anderem testen, wie sie unter Last reagiert. Dafür kommt Hilfe von einer Seite, von der man sie vielleicht zunächst nicht vermutet: aus der Cloud.
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)

Eine Unsicherheit haftet Labortests immer an: Was sagen sie über die wirkliche Welt? Wird sich das System genauso verhalten, wenn die realen Bedingungen viel komplexer sind als das Modell? Vor diesem Problem steht beispielsweise, wer Webapplikationen testen will: Das Internet mit seiner geografischen Verteilung und seinen unzähligen Rechnern mit verschiedenen Betriebssystemen und Browsern, Proxys und Firewalls ist sicherlich wesentlich vielfältiger als ein schlichter Lastgenerator im eigenen LAN. Andererseits würde es wohl in den meisten Fällen das Budget sprengen, wollte man tatsächlich physische Testrechner über alle Kontinente verteilen, um den wahren Bedingungen nahe zu kommen. Aber es gibt einen Ausweg – und der liegt in der Cloud.

Das, was es attraktiv macht, Applikationen in der Cloud zu betreiben – die Skalierbarkeit, die Flexibilität, die hohe Verfügbarkeit, das Pay-per-use-Prinzip – das zahlt sich nämlich aus (Abbildung 1). Testrechner, die sich in der Cloud leicht vervielfältigen lassen, vermögen beinahe unbegrenzte Lasten zu erzeugen, die sich realistisch verhalten und gut parametrisieren lassen.

Abbildung 1: Die Architektur eines Cloud-basierten Lasttests : Ein Rechner steuert die lasterzeugenden Cloud-Knoten und überwacht gleichzeitig die getesteten Server-Komponenten.

Allerdings ist das Testen via Cloud weder ein Selbstläufer noch ein Allheilmittel. Vielmehr bedarf es einer klugen Strategie, in der der Tester interne Lastgeneratoren mit Cloud-basierten Verfahren ergänzt.

Cloud nutzt allen

Steigende Zugriffsraten als Folge von Marketinginitiativen wünscht sich jeder. Problematisch wird es allerdings, wenn Lastspitzen die Anwendungen außer Gefecht setzen und frustrierte Beinahe-Kunden zurücklassen. Die Simulation eines Besucheransturms zum Start eines neuen Produktes oder eines Saisongeschäftes ist daher unerlässlich, aber schwierig. Denn dafür ist nicht selten eine zwei- oder dreistellige Anzahl von Servern mit Lastgeneratoren erforderlich, was für einen mittelständischen Betreiber von Webshops meist unerreichbar ist. Und selbst große Unternehmen müssten erhebliche Summen in Hardware, Softwarelizenzen und die Konfiguration investieren, um einen Serverpark zu implementieren, den sie dann doch nur hin und wieder nutzen könnten.

Solche umfangreichen Lasttests sind ein typisches Einsatzszenario für die Cloud, da sie einerseits Mittelständlern Funktionen an die Hand geben, die früher wenigen Großen vorbehalten waren und es andererseits zugleich den Großen erlauben, Zeit und Geld zu sparen.

Zugriffe simulieren

Wenn Internet-Anwendungen mit Lastgeneratoren hinter der eigenen Firewall getestet werden, dann kommt nur ein Ausschnitt der Client-Server-Kommunikation ins Spiel. Im Unterschied dazu lassen sich in einer Cloud die statistisch ermittelten oder erwarteten Besucherzahlen mit regional entsprechend verteilten Lastgeneratoren simulieren und Browseranfragen von außerhalb der Firewall starten.

Hat beispielsweise ein Webshop tagsüber vor allem Kunden aus Europa, abends aus den USA und nachts aus Asien, können Lasttests aus der Cloud die Zugriffe geografisch und quantitativ differenzieren. Faktoren wie Bandbreite und Latenz werden dabei so erfasst, wie auch der Nutzer sie erlebt. Selbst ein regional spezifisches Kaufverhalten und typische Surfgewohnheiten lassen sich nachstellen.

Dabei ist es möglich alle involvierten Komponenten (wie die Netzwerkhardware, DNS-Server, Internetdienstanbieter oder die Firewall) und alle durchlaufenen Stationen von der Browseranfrage bis zur abgeschlossenen Datenübertragung auszumessen. Cloud-basierte Testverfahren gewinnen zusätzlich an Realitätsnähe, indem sie auch den Einfluss von CDN (Content Distribution Network), Ad-Servern und weiteren, von externen Anbietern gelieferten Technologien auf die Verfügbarkeit der Anwendungen erfassen.

Ähnliche Artikel

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
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

Google+

Ausgabe /2019