Da agile Entwicklung zur neuen üblichen geworden ist, hat die häufige Bereitstellung verbesserter Services die Geschäftsmodelle des Geschäftsprozesses verändert. Die Frage ist, warum? Nun, die einfache Antwort ist die Kundenakquise und -bindung durch die rechtzeitige Bereitstellung von qualitativ hochwertigen Produkten oder Dienstleistungen, um die sich schnell entwickelnden Bedürfnisse der Kunden zu erfüllen. Die nächste Frage lautet: Beeinträchtigt sie die Qualität? Die kurze Antwort lautet „Leistungstests“. Warum in Tests investieren, wenn die Buildversion verzögert werden kann? Nun, dies ist kein großer Kompromiss, denn Testen ist das Rückgrat der Qualität, ohne die der ganze Zweck der Agile zusammenbrechen würde. Dies ist der Grund, warum intelligentere Testtools und -techniken eingeführt werden. Kanarentests für Leistungstests gewinnen in diesen Tagen an Zugkraft.

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ß, die später über das Problem in den sozialen Medien lästerten. Es ist auch noch nicht lange her, dass amazon Web Service Ausfall verursacht die Unternehmen Umsatzverluste in Höhe von 1100 US-Dollar pro Sekunde.

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

 

Was ist Canary Testing?

Kanarienvogeltests, Kanarienvogelfreisetzung und Kanarienvogelbereitstellung sind die Begriffe, die alternativ für eine Technik verwendet werden, die eine kontinuierliche Bereitstellung ermöglicht und gleichzeitig das Risiko minimum einhält. 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 äußerst fehlerhaft erweist und eine große Bedrohung für die Benutzererfahrung darstellt, anstatt die Änderungen in der Produktionsumgebung umzukehren; 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 die Vorteile von etwas nur messen, wenn Sie etwas anderes haben, um es zu vergleichen. 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

Durch die Implementierung ähnelt das A/B-Testen dem Kanarienvogeltest. 50 Prozent der Benutzer erhalten eine aktualisierte Version der Anwendung mit der neuen Funktion „B“. Die restlichen 50 Prozent der Benutzer verwenden weiterhin das Basisfeature „A“. Die Ergebnisse der Feature-Release werden dann überwacht, um die Ergebnisse im Entgegenkommen mit den Erwartungen zu beobachten. Der Fokus von A/B liegt jedoch darauf, zu sehen, wie nützlich eine Funktion für Kunden ist. Während Kanarienvogeltests auf 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. So wirkt LoadView wie ein Zauberstab, da es die DevOps und die Testteams in die Lage versetzt, Hunderte bis Tausende gleichzeitiger Benutzer zum Laden und Stresstest für ihre Anwendungen zu drehen und zu sehen, wie ihre Anwendungen unter dieser angewendeten Last funktionieren.

Darüber hinaus ist LoadView mit seinem EveryStep Web Recorder-Skripttool eine überzeugende Wahl, dass es Lasttest-SPAs unterstützt. DIE SPA-Logik basiert auf JavaScript-Technologie, die von vielen Tools nicht unterstützt wird, wie z. B. JMeter. 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.