Übersicht
Verteilte Lasttests in AWS automatisieren das Testen von Softwareanwendungen in großem Maßstab und unter Last, damit Sie potenzielle Leistungsprobleme vor der Veröffentlichung der Anwendung erkennen können. Diese AWS-Lösung erstellt und simuliert Tausende von verbundenen Benutzern und generiert Transaktionsdatensätze in gleichmäßigem Tempo, ohne dass Server bereitgestellt werden müssen. Die Lösung ermöglicht es Ihnen auch, Tests über mehrere AWS-Regionen hinweg durchzuführen.
Vorteile
Testen Sie die Belastungsfähigkeit Ihrer Software mit dem unabhängigen Amazon Elastic Container Service (Amazon ECS) in AWS Fargate-Containern.
Durch das Erstellen von benutzerdefinierten JMeter-Scripts, können Sie Anwendungsprüfungen anpassen.
Planen Sie Lasttests so, dass sie entweder automatisch an einem bestimmten Datum oder wiederkehrend beginnen.
Zeigen Sie Live-Daten für einen laufenden Test in der Webkonsole dieser Lösung an.
Technische Details
Sie können diese Architektur mithilfe des Implementierungsleitfadens und der zugehörigen AWS-CloudFormation-Vorlage für AWS-Regionen automatisch bereitstellen.
Schritt 1
Eine Amazon-API-Gateway ruft die Microservices der Lösung auf (AWS Lambda-Funktionen).
Schritt 2
Die Microservices stellen die Geschäftslogik für die Verwaltung der Testdaten und die Durchführung der Tests zur Verfügung.
Schritt 3
Diese Mikroservices interagieren mit Amazon Simple Storage Service (Amazon S3), Amazon DynamoDB und AWS Step Functions, um Testszenarien auszuführen und Speicherplatz für die Details der Testszenarien bereitzustellen.
Schritt 4
Eine Amazon Virtual Private Cloud (Amazon VPC) Netzwerktopologie beinhaltet die Amazon Elastic Container Service (Amazon ECS)-Container der Lösung, die auf AWS Fargate laufen.
Schritt 5
Die Container enthalten ein mit Taurus-Lasttest-Open-Container-Initiative(OCI) kompatibles Container-Image, das zur Generierung von Last zum Testen der Leistung Ihrer Anwendung verwendet wird. Taurus ist ein Open-Source-Framework für die Testautomatisierung. Das Container-Image wird von AWS in einem öffentlichen Repository von Amazon Elastic Container Registry (Amazon ECR) gehostet.
Schritt 6
Eine von AWS Amplify betriebene Webkonsole wird in einem für statisches Webhosting konfigurierten S3-Bucket bereitgestellt.
Schritt 7
Amazon CloudFront wird verwendet, um den sicheren öffentlichen Zugang zu den Inhalten des Website Bucket der Lösung zu gewährleisten.
Schritt 8
Während der Initialkonfiguration erstellt die Lösung auch eine Standard-Administratorenrolle und sendet eine Zugangseinladung an eine vom Kunden angegebene Benutzer-E-Mail-Adresse.
Schritt 9
Ein Amazon-Cognito-Benutzerpool verwaltet den Benutzerzugang zur Konsole und zur API Gateway-API.
Schritt 10
Nachdem Sie diese Lösung bereitgestellt haben, können Sie über die Webkonsole ein Testszenario erstellen, das eine Reihe von Aufgaben definiert.
Schritt 11
Die Microservices verwenden dieses Testszenario, um Amazon ECS in Fargate-Aufgaben in den angegebenen AWS-Regionen auszuführen.
Schritt 12
Zusätzlich zur Speicherung der Ergebnisse in Amazon S3 und DynamoDB wird die Ausgabe in Amazon CloudWatch protokolliert, sobald der Test abgeschlossen ist.
Schritt 13
Wenn Sie die Option Live-Daten wählen, sendet die Lösung die CloudWatch -Protokolle für die Fargate-Aufgaben während des Tests an eine Lambda-Funktion für jede Region, in der der Test ausgeführt wurde.
Schritt 14
Die Lambda-Funktion veröffentlicht dann die Daten in dem entsprechenden Thema in AWS IoT Core in der Region, in der der Hauptstapel bereitgestellt wurde. Die Webkonsole abonniert das Thema und Sie können die Daten sehen, während der Test in der Webkonsole ausgeführt wird.
- Datum der Veröffentlichung
Unsere Mission bei Calabrio besteht darin, Kontaktcentern dabei zu helfen, intelligenter, schneller und besser zu arbeiten. Wir mussten für einen Großkunden schnell ein neues, leistungsstarkes Feature entwickeln. Wir verwendeten verteilte Lasttests in AWS, um die Leistung unseres Systems in großem Maßstab zu testen, ohne die Anforderung kostspieliger Testlizenzen für Unternehmen oder das Schreiben von benutzerdefiniertem Orchestrierungscode für Open-Source-Tools. Mit dieser AWS-Lösung haben wir Tests mit dem sechsfachen des erwarteten Datenverkehrsvolumens konzipiert und durchgeführt und die neue Features erfolgreich und vorzeitig eingeführt.“
Ähnliche Inhalte
Sowohl Unternehmen als auch öffentliche Dienste müssen sich darauf verlassen können, dass ihre Anwendung mit steigenden Benutzerlasten skalieren kann. Mit verteilten Lasttests auf AWS können Sie Anwendungstests automatisieren, herausfinden, wie Ihre Anwendung skaliert, und Engpässe beheben, bevor Sie die Anwendung veröffentlichen.