Übersicht

Verteilte Ladetests auf AWS automatisieren Leistungstests im großen Maßstab und zeigen, wie sich Ihre Anwendungen unter verschiedenen Lastbedingungen verhalten, und identifizieren potenzielle Leistungsprobleme während des gesamten Lebenszyklus Ihrer Anwendungen (einschließlich Entwicklung, Staging, Produktion und Postproduktion). Diese AWS-Lösung simuliert Benutzer und Transaktionen im Bereich von Hunderten bis zu Millionen und generiert konsistente Transaktionen, ohne dass eine Benutzer- oder Serverbereitstellung erforderlich ist.
Die Lösung bietet Einblicke in wichtige Bereiche wie die Skalierbarkeit und Zuverlässigkeit von HAQM Elastic Compute Cloud (HAQM E2)-Instances, HAQM Elastic Container Service (HAQM ECS) oder HAQM Elastic Kubernetes Service (HAQM EKS), Kaltstart- und Ausführungszeiten von AWS-Lambda-Funktionen, HAQM Relational Database Service (HAQM RDS)-Datenbankabfrageleistung und HAQM-CloudFront-Reaktionszeiten. Durch die Simulation realistischer Lastszenarien können Sie Ihre Infrastruktur sowohl im Hinblick auf Leistung als auch auf Kosteneffizienz optimieren.
Vorteile

Passen Sie Ihre Infrastruktur an, indem Sie genaue Einblicke in die Leistung Ihrer Anwendungen unter unterschiedlichen Lastbedingungen gewinnen, was zu einer kostengünstigen Ressourcenverteilung führt.
Automatisieren Sie Ihre Ladetests, indem Sie sie planen oder diese Lösung in Ihre CI/CD-Pipeline (Continuous Integration, Continuous Delivery) integrieren und so Ihren Testprozess optimieren.
Simulieren Sie realen Datenverkehr aus mehreren AWS-Regionen, um zu bewerten, wie sich Ihre Anwendung unter unterschiedlichen geografischen Belastungen verhält, und optimieren Sie so die globale Leistung.
Entwerfen und integrieren Sie verteilte Ladetests nahtlos mit JMeter-Skripten, sodass Sie Tests an die individuellen Anforderungen Ihrer Anwendung anpassen können.
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 HAQM-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 HAQM Simple Storage Service (HAQM S3), HAQM DynamoDB und AWS Step Functions, um Testszenarien auszuführen und Speicherplatz für die Details der Testszenarien bereitzustellen.
Schritt 4
Eine HAQM Virtual Private Cloud (HAQM VPC) Netzwerktopologie beinhaltet die HAQM Elastic Container Service (HAQM 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 HAQM Elastic Container Registry (HAQM ECR) gehostet.
Schritt 6
Eine von AWS Amplify betriebene Webkonsole wird in einem für statisches Webhosting konfigurierten S3-Bucket bereitgestellt.
Schritt 7
HAQM 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 HAQM-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 HAQM ECS in Fargate-Aufgaben in den angegebenen AWS-Regionen auszuführen.
Schritt 12
Zusätzlich zur Speicherung der Ergebnisse in HAQM S3 und DynamoDB wird die Ausgabe in HAQM 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.