What does this Amazon Web Services Solution do?
Amazon Web Services offers customers a scalable, distributed, and serverless architecture to deliver a load testing tool for web application performance testing. This solution automatically launches and configures containers running on Amazon Fargate to help you easily create and simulate thousands of virtual users generating specific number of requests payload per second without having to provision servers. This solution aiming to evaluate system potential performance bottleneck and infrastructure capacity are correctly planned ahead of application official release.
Amazon Web Services Solution Overview
The diagram below presents the architecture you can automatically deploy using the solution's implementation guide and accompanying Amazon CloudFormation template.
The solution uses Amazon CloudFormation to deploy the distributed load testing platform. This solution is consist of the following modules:
- A test scheduling module based on Amazon API Gateway, Amazon Step Functions, and Amazon Lambda. The module leverages Amazon Step Functions to orchestrate the test process and uses Amazon Lambda to trigger Amazon Elastic Container Service(Amazon ECS) Fargate to start the container cluster to execute the test scripts in parallel.
- A load engine module based on Amazon ECS Fargate. The Amazon ECS Fargate is responsible for creating, scaling, and deconstructing the container cluster resources. After a task of a cluster is completed, the test results will be stored in Amazon S3 in .xml format for further processing.
- A web console module based on Amazon Amplify, Amazon S3, and Amazon CloudFront.
- A storage module for storing test data, based on Amazon DynamoDB and Amazon S3. After all the specified tasks are completed, the test results will be aggregated and stored in Amazon DynamoDB. Amazon CloudWatch will be used to display the corresponding metrics.
Note that when launching Amazon CloudFormation, you need to enter your own registered domain name (CNAME) to associate with Amazon CloudFront. After the solution is deployed, you can access the web console through the CNAME to create test cases, monitor the test process and view test results, etc.
In addition, the solution creates an Amazon Virtual Private Cloud (Amazon VPC). The VPC provides a safe, reliable, flexible, and configurable virtual network for Amazon ECS Fargate container clusters.
The solution is based on an open-source test automation framework called “Taurus”. Taurus is used to generate load to test the performance of your applications. During the deployment, the solution will pull a Docker image that contains Taurus and its dependencies (https://gallery.ecr.aws/p9r6s5p7/dlt) from Amazon ECR Public Gallery. In consideration of security and network performance, you can also pull and store images into your own Amazon Elastic Container Registry(Amazon ECR).
Distributed Load Testing Platform
Last updated: 04/2021
Author: Amazon Web Services
Estimated deployment time: 30 min
Open Source & Customization
Browse our portfolio of Amazon Web Services-built solutions to common architectural problems.
Find Amazon Web Services certified consulting and technology partners to help you get started.
Sign-up and start exploring our services.