Présentation
Le test de charge distribuée sur AWS automatise les tests d'applications logicielles à grande échelle et à pleine charge pour vous permettre d'identifier les potentiels problèmes de performance avant le déploiement de l'application. Cette solution AWS permet la création et la simulation de milliers d’utilisateurs connectés qui génèrent des registres de transactions à un rythme constant sans nécessairement disposer de serveurs. La solution vous permet également d'exécuter des tests pour de nombreuses régions AWS.
Avantages
Tester les capacités de charge de votre logiciel lors de l'utilisation d'Amazon Elastic Container Service (Amazon ECS) indépendant sur les conteneurs AWS Fargate.
Personnaliser vos tests d'application grâce à la création de scripts clients JMeter.
Planifiez les tests des charges pour commencer automatiquement à une date spécifique ou à des dates périodiques.
Consultez les données en temps réel d'un test en cours d'exécution à l'aide de la console Web de cette solution.
Détails techniques
Vous pouvez déployer automatiquement cette architecture à l'aide du guide de mise en œuvre et des modèles AWS CloudFormation qui l'accompagne pour les régions AWS ou les régions AWS de Chine.
Étape 1
Une API Amazon API Gateway pour invoquer les microservices de la solution (fonctions AWS Lambda).
Étape 2
Les microservices fournissent la logique métier nécessaire pour gérer les données de test et exécuter les tests.
Étape 3
Ces microservices interagissent avec Amazon Simple Storage Service (Amazon S3), Amazon DynamoDB et AWS Step Functions pour exécuter les scénarios de test et stocker leurs détails.
Étape 4
Une topologie réseau Amazon Virtual Private Cloud (Amazon VPC) contient les conteneurs Amazon Elastic Container Service (Amazon ECS) de la solution qui s'exécutent sur AWS Fargate.
Étape 5
Les conteneurs incluent une image de conteneurs conforme OCI (Open Container Initiative) pour le test de charges Taurus, utilisé pour générer un test de charges des performances de votre application. Taurus est un cadre d'automatisation des tests open source. L'image de conteneurs est hébergée par AWS dans un référentiel public Amazon Elastic Container Registry (Amazon ECR).
Étape 6
Une console web à technologie AWS Amplify est déployée dans un compartiment S3 configuré pour l'hébergement web statique.
Étape 7
Amazon CloudFront fournit un accès public sécurisé au contenu du compartiment de site web de la solution.
Étape 8
Durant la configuration initiale, la solution crée également un rôle d'administrateur par défaut de la solution et envoie une demande d'accès à l'adresse électronique de l'utilisateur spécifiée par le client.
Étape 9
Un groupe d'utilisateurs Amazon Cognito gère l'accès des utilisateurs à la console et à l'API API Gateway.
Étape 10
Vous pouvez utiliser la console web, après le déploiement de la solution, pour créer un scénario de test qui se compose d'une série de tâches.
Étape 11
Les microservices utilisent les scénarios de test pour exécuter Amazon ECS sur les tâches Fargate dans les régions AWS spécifiées.
Étape 12
Outre le stockage des résultats dans Amazon S3 et DynamoDB, la sortie est consignée dans Amazon CloudWatch à la fin du test.
Étape 13
Si vous sélectionnez l'option de données en direct, lors du test, la solution envoie les journaux CloudWatch pour les tâches Fargate à une fonction Lambda, pour chaque région dans laquelle le test a été exécuté.
Étape 14
Ensuite, la fonction Lambda, publie les données dans la rubrique AWS IoT Core correspondante, dans la région où la pile principale a été déployée. La console web s'abonne à la rubrique et vous pouvez voir les données pendant que le test s'exécute dans la console web.
- Date de publication
Vous voulez utiliser cette solution dans les régions d'Amazon Web Services en Chine ? Cliquez ici.
« Chez Calabrio, notre mission est d'aider les centres de contact à travailler plus intelligemment, plus rapidement et plus efficacement. Nous avions besoin de concevoir rapidement une nouvelle fonctionnalité hautement performante pour un client important. Nous avons utilisé les tests de charge distribués sur AWS pour tester les performances de notre système à grande échelle, sans avoir besoin de licences de test coûteuses pour les entreprises ou d'écrire du code d'orchestration personnalisé pour les outils open source. Grâce à cette solution AWS, nous avons conçu et exécuté des tests pour un volume de trafic six fois supérieur à celui attendu, et nous avons lancé la nouvelle fonctionnalité avec succès et en avance sur le calendrier. »
Contenu connexe
Que vous soyez une entreprise privée ou un service public, vous voulez être sûr que votre application pourra évoluer au fur et à mesure de l'augmentation des charges d'utilisateurs. Le test des charges distribuées dans AWS vous permet d'automatiser le test d'applications, de comprendre comment il fonctionne à l’échelle et de corriger les goulets d'étranglement avant de publier votre application.