Da agile Entwicklung zur neuen Normalität geworden ist, hat die häufige Bereitstellung verbesserter Services die Geschäftsprozessmodelle verändert. Die Frage ist, warum? Nun, die einfache Antwort ist die Kundengewinnung und -bindung durch die rechtzeitige Bereitstellung von Qualitätsprodukten oder -dienstleistungen, um die sich schnell entwickelnden Bedürfnisse der Kunden zu befriedigen. Die nächste Frage ist, beeinträchtigt es die Qualität? Die kurze Antwort lautet “Leistungstests”. Nochmals, warum in Tests investieren, wenn es die Build-Veröffentlichung verzögern kann? Nun, das ist kein großer Kompromiss, denn das Testen ist das Rückgrat der Qualität, ohne das der gesamte Zweck von Agile zusammenbrechen würde. Dies ist der Grund, warum intelligentere Testwerkzeuge und -techniken eingeführt werden. Kanarische Tests für Leistungstests gewinnen heutzutage an Bedeutung.

Heute wird Benutzern eine solche Vielfalt in Anwendungen angeboten, dass sogar 5 Sekunden Verzögerung der Ladezeit der Website und Reaktionszeit höher als acht Sekunden ihnen einen großen Verlust verursachen können. Zum Beispiel, im Jahr 2013, nur eine 5 Minuten Ausfallzeit von Google machte das Unternehmen fast 545.000 Dollar verlieren. In ähnlicher Weise führte im Januar 2016 ein Software-Update dazu, dass der Nest-Thermostat nicht mehr funktionierte und viele Benutzer kalt ließen, die später in den sozialen Medien über das Problem schimpften. Es ist auch noch nicht lange her, dass der Ausfall von Amazon Web Service den Umsatzverlust der Unternehmen im Wert von 1100 US-Dollar pro Sekunde verursachte.

Werfen wir einen Blick auf die Kanarienzeit, ihre Bedeutung, ihre Vorteile und Ihre Nachteile, damit wir ihre Bedeutung rechtfertigen können.

JMeter Lasttests mit LoadView

Vom Setup bis zur Testausführung in wenigen Minuten.

Was ist Canary Testing?

Canary-Testing, Canary-Release und Canary-Deployment sind die Begriffe, die alternativ für eine Technik verwendet werden, die eine kontinuierliche Bereitstellung ermöglicht und gleichzeitig das Risiko minimiert. Der Vorgang besteht darin, ein Softwareupdate für eine ausgewählte Gruppe von Benutzern zum Testen einzuführen. Die Methode erhielt ihren Namen von Kanarienvögeln, die in der Vergangenheit als Giftgasdetektoren in den Kohlebergwerken eingesetzt wurden. Kanaren reagieren empfindlicher auf giftige Gase als Menschen, sie fallen daher sofort krank oder sterben bei geringer Exposition. Dies half den Bergleuten, die Minen zu evakuieren und der Gefahr zu entkommen, bevor es zu spät war.

 

Rollout-Strategie

In ähnlicher Weise sind die Kanarienvögel bei Kanarienvogeltests eine kleine Gruppe von Benutzern, die die neuesten Softwareupdates erleben, und ihr Feedback hilft dem Entwicklungsteam bei der Entscheidung, ob die neue Version allen Benutzern zur Verfügung gestellt werden soll oder ob die Änderungen schnell rückgängig gemacht werden sollen. Canary Testing ist eine Anwendung paralleler Änderungen, die in einer separaten Produktionsumgebung durchgeführt wird, an die nur wenige ausgewählte Benutzer weitergeleitet werden, während der Großteil in der alten Produktionsumgebung beibehalten wird. Diese Migration der Benutzer dauert, bis alle Benutzer auf die neue Version verschoben wurden. Dies ist ein inkrementeller Ansatz, der Innovation unterstützt und das Risiko von Störungen auf Massenebene verringert.

 

Rollback-Strategie

Wenn sich die neue Version als extrem fehlerhaft erweist und eine große Bedrohung für die Benutzererfahrung darstellt, anstatt die Änderungen in der Produktionsumgebung rückgängig zu machen; Die Benutzer werden auf die stabile alte Version umgeleitet. Unterdessen bemüht sich das Entwicklungsteam um die Fehlerbehebung.

 

Wer sind die ausgewählten Benutzer?

Die nächste Frage ist, wer die Benutzer sein sollen, die von Ihrem Software-Update betroffen sind? Nun, es gibt verschiedene Möglichkeiten, um über die Kanarischen Benutzer zu entscheiden, wie:

  • Sie können die internen oder aus der Ferne verteilten Testteams sein.
  • Aus einer bestimmten Region, bei geografisch verteilten Nutzern
  • Die einzige Marke zuerst, bei mehreren Marken

 

Die beste Anwendung von Kanarienvogeltests, die zitiert werden können, ist Facebook. Facebook arbeitet mit einer “multiple canary” Strategie. Nur interne Mitarbeiter werden zuerst den neuen Änderungen ausgesetzt, wobei alle Feature-Toggles aktiviert sind, um die Probleme frühzeitig zu erkennen.

 

Was sind die Vorteile der kanarischen Prüfung

Sie können den Nutzen von etwas nicht messen, es sei denn, Sie haben etwas anderes, mit dem Sie es vergleichen können. Also, ja, die Kanarienvogeltests werden oft mit A/B-Tests und blau-grünen Tests verwechselt. Es ist jedoch das Beste aus beiden Welten. Mal sehen, warum.

 

A/B-Prüfung

In der Implementierung ähnelt das A/B-Testing dem Canary-Testing. 50 Prozent der Benutzer erhalten eine aktualisierte Version der Anwendung mit der neuen Funktion “B”. Die restlichen 50 Prozent der Benutzer verwenden weiterhin die Baseline-Funktion “A”. Die Ergebnisse der Funktionsfreigabe werden dann überwacht, um die Ergebnisse entgegen den Erwartungen. Der Fokus von A/B liegt jedoch darauf, zu sehen, wie nützlich ein Feature für Kunden ist. Während Kanarienvogeltests zur Risikominderung durchgeführt werden.

 

Blau-Grüne Bereitstellung

Die blau-grüne Bereitstellung konzentriert sich auf die Beseitigung von Ausfallzeiten und Unterbrechungen für Endbenutzer. Die Änderungen werden in einer im Leerlauf befindlichen Produktionsumgebung vorgenommen, in die alle Benutzer nach Abschluss der Tests aus der alten Produktion migriert werden. Bei Kanarientests wird jedoch das Volumen der betroffenen Benutzer zunächst minimal gehalten.

Wir können schlussfolgern, dass Kanarientests das Beste aus beiden Welten sind, z. B. A/B-Tests und blau-grüne Bereitstellung. Die Vorteile des Kanarienvogelbereitstellungsansatzes können wie möglich aufgelistet werden:

  • Es unterstützt Innovationen, beschleunigt die agile Entwicklung und ermöglicht die einfache Einführung neuer Funktionen.
  • Es sorgt für keine Ausfallzeiten.
  • Es ermöglicht ein schnelles Rollback der Änderungen im Falle von negativen Ergebnissen.
  • Es ermöglicht eine hohe Konfigurationsebene für die Bedingungen, um zu bestimmen, welcher Datenverkehr an die neue Version gesendet wird, bevor er an die gesamte Benutzerbasis freigegeben wird.
  • Es ermöglicht mehreren Teams, gleichzeitig einzelne Micro-Services in der Produktion zu testen.
  • Im Gegensatz zur blau-grünen Bereitstellung ist keine Ressourcenerweiterung erforderlich, um eine zusätzliche Umgebung zu testen. Denn pro Micro-Service-Ressourcenstrategie wird zum Testen übernommen.
  • Das Verhalten der neuen Version kann überwacht werden, indem die Auslastung der Produktion langsam erhöht wird, anstatt eine völlig neue Kapazitätstestumgebung einzurichten.
  • Es ermöglicht die Bereitstellung mehrerer Versionen in der Produktion. Dies bietet dem Team die gewünschte Freiheit, Flexibilität und Geschwindigkeit, um die neue Version zu testen.

 

Canary Deployment und LoadView

Sie können die besten Ergebnisse für Leistungstests erzielen, ohne die Benutzererfahrung der Massen zu beeinträchtigen. Alles, was Sie brauchen, ist die Praxis der Kanarienvogelbereitstellung und ein ausgezeichnetes Testtool, das Metriken für Leistungstests unterstützt. Mit hilfe des Kanarienvogelansatzes kann die Ausführung von Leistungstestfällen mit Hilfe einer erweiterten Lösung wie LoadViewautomatisiert werden. Das mag verwirrend und komplex klingen. Aber lassen Sie uns versuchen, es mit Hilfe eines Beispiels zu verstehen. Netflix beispielsweise, eine einseitige Anwendung (SPA), entwickelt eine neue Funktion und gibt sie den Kanarischen Nutzern (7,50.000 d.h. 5 Prozent von 15 Millionen; basierend auf 2020-Statistiken) zur Hand.

Jetzt kann kein DevOps-Team jemals eine so große Anzahl von Benutzern manuell überwachen. Daher wirkt LoadView wie ein Zauberstab, da es die DevOps- und Testteams in die Lage versetzt, Hunderte bis Tausende von gleichzeitigen Benutzern für Last– und Belastungstests mit ihren Anwendungen zu mobilisieren und zu sehen, wie sich ihre Anwendungen unter dieser Last verhalten.

Darüber hinaus ist LoadView mit seinem Scripting-Tool EveryStep Web Recorder eine überzeugende Wahl , da es Lasttest-SPAs unterstützt. Die SPA-Logik basiert auf JavaScript-Technologie , die von vielen Tools, wie z.B. JMeter, nicht unterstützt wird. JMeter funktioniert nur auf Protokollebene und nicht im Browser, sodass ein Großteil der clientseitigen Leistung von den Leistungstestergebnissen ausgeschlossen wird. Mit dem EveryStep Recorder ist das Erstellen von Benutzerszenarien und -pfaden einfach und nutzt echte Browser. Zeichnen Sie einfach den Pfad auf und richten Sie das Testszenario ein. Es ist wirklich so einfach.

 

Herausforderungen bei der Bereitstellung/Prüfung von Kanarischen

Jede Münze hat zwei Seiten. Einige würden sagen, dass die Canary Deployment/Testing-Methodik ihre Nachteile hat, aber es ist besser, die folgenden genannten Punkte als ihre Herausforderungen anzugeben.

  • DevOps-Teams müssen mehrere Versionen der Software parallel verwalten. Daher wird empfohlen, die Anzahl der gleichzeitigen Versionen auf ein Minimum zu beschränken.
  • Sie haben keine vollständige Kontrolle über die neue Version, wenn sie aktualisiert wird, wenn Ihre Lösungssoftware auf den Geräten der Benutzer installiert ist.
  • Die Datenbankverwaltung wird bei Kanarienzeiten schwierig.
  • Die Durchführung von Kanarientests erfordert erhebliche Anstrengungen für eine effektive und robuste Überwachung der Infrastruktur und der Anwendung.
  • Die Überwachung jeder inkrementellen Version nimmt Zeit in Anspruch und kann sich auf das Zielfreigabedatum auswirken. Kanarentests können mehrere Stunden dauern.

 

Fazit: Kanarische Tests

Abschließend lässt sich daraus ableiten, dass der Ansatz der Kanarienzbereitstellung/-tests Ihr nächster bester Freund bei der Risikominderung sein kann, wenn es darum geht, Leistungstests der neuen Version Ihrer Software mit tatsächlichen Benutzern ohne Ausfallzeiten durchzuführen. Wie Ian Molyneaux in seinem Buch The Art of Application Performance Testing: From Strategy to Tools

, “Wenn ein Endbenutzer schlechte Leistungen von Ihrer Website wahrnimmt, wird ihr nächster Klick wahrscheinlich auf your-competition.com sein.” Lassen Sie das nicht geschehen. Stellen Sie sicher, dass Ihre Kunden und Kunden eine großartige Benutzererfahrung erhalten.

Starten Sie Ihre Auslastungstests jetzt mit LoadView.