AWS Syntethics und Canaries

AWS Syntethics und Canaries

Allgemein, AWS Cloud, digital campus 360 22. Februar 2021

Monitoring mit AWS CloudWatch Synthetics und Canaries

Hintergrund

Monitoring und Testing von Software sind integraler Bestandteil der Softwareentwicklung und entscheidend für die erfolgreichen Entwicklung und den verlässlichen Betrieb von Anwendungen.

Wir befinden uns im digitalen Zeitalter und versuchen dementsprechend, möglichst vieles zu automatisieren – das gilt damit selbstverständlich auch für das Testen. Dafür wurden für das Testing und Monitoring zahlreiche Lösungen entwickelt . Das spart Zeit und die frei gewordenen Kapazitäten können für  die Weiterentwicklung des Produkts, das Umsetzen spannender Ideen oder neuer Projekte genutzt werden. 

Oft sind es Softwarefehler, die Unternehmen schnell tausende von Euro kosten können oder das Image schädigen – beispielsweise die Nichterreichbarkeit einer frisch gelaunchten und beworbenen Website für ein neues Produkt.

Daher ist das frühzeitige Testing sowie Monitoring von Websites enorm wichtig. So kann beispielsweise die Nichterreichbarkeit einer Website schnellstmöglich entdeckt werden und die Problemlösung umgehend in Gang kommen.


AWS-Synthetics

Der Cloud Anbieter „Amazon Web Services“, kurz AWS, hat dafür einen neuen Service, der seit dem 25. November 2019 zur Verfügung steht, entwickelt und implementiert. Damit können sogar

Nicht-Programmierer beispielsweise eine GUI-Worklfow-Navigation über eine Website erstellen. Sie werden dann dank dem AWS-Service schnell über Probleme und Fehler per E-Mail informiert und können entsprechend schneller reagieren als ohne Monitoring. Dieser AWS-Service nennt sich Synthetics und die Testfälle werden bei AWS als „Canary“ beziehungsweise „Canaries“ bezeichnet. Sie basieren auf JavaScript Code, der beim Erstellen einer Canary zusammengeklickt werden kann. Alternativ kann JavaScript Code aber auch selbst geschrieben werden, was in einigen Fällen zu empfehlen ist.


Möglichkeiten des Monitorings

Wie bereits erwähnt, ist der GUI-Workflow nur ein Beispiel der Möglichkeiten in AWS.

Weitere sind das „Heartbeat Monitoring“, bei dem ein einfacher Ladevorgang der Seite auf einer einzelnen URL ausgeführt wird, das „API-Canary“, welches der Überwachung von API‘s dient und der „Brocken Link Checker“, der auf der überwachten URL alle Verlinkungen auf ihre Funktionsfähigkeit hin überwacht.


Wie funktioniert das Ganze?

Im folgenden Diagramm ist der Workflow mit seinen unterschiedlichen Möglichkeiten dargestellt:


In AWS sieht das Ergebnis wie folgt aus: Beispiel GUI-Workflow.

Abbildung 1 Testergebnis

 

Außerdem werden, wenn gewünscht, Screenshots von dem Workflow gemacht. Von der Startseite hin zum Login bis zum Anlegen eines Kontaktes wie der Namen des Canaries (siehe Abb. 1) verrät.

Abbildung 2 Geladene Startseite

Abbildung 3 Anlegen eines Kontaktes

Fazit: Ziele und Nutzen

Der AWS-Service Synthetics bietet eine einfache Möglichkeit zur Überwachung der Erreichbarkeit von Websites, Schnittstellen und dem Verhalten von Websites bei Nutzung (GUI-Workflow). Bei Änderung an den Seiten im Frontend oder dem Backend kann automatisiert getestet werden, ob sich die Anwendung nach der Änderung wie gewünscht verhält und alle Links erreichbar sind. Dadurch können die Ressourcen der Mitarbeiter effizienter genutzt werden, denn sie sind weniger im  manuellen Testing eingebunden. Über fehlgeschlagene sowie erfolgreiche Canaries wird per E-Mail informiert. Bei fehlgeschlagenen Canaries ist so eine schnelle Reaktion möglich und eventuell entstehender wirtschaftlicher Schaden kann stark minimiert und im besten Falle ganz abgewendet werden.

Moodle: Skalierbar in… 7. Januar 2021 moodle aws Zukunft Cloud 26. Februar 2021