What does this AWS Solutions Implementation do?

This solution implementation automates software applications testing at scale and at load to help you identify potential performance issues before their release. This solution creates and simulates thousands of connected users generating transactional records at a constant pace without the need to provision servers.

Benefits

Test load capabilities using containers
Test the load capabilities of your software using independent Amazon ECS on AWS Fargate containers.
Customize application tests
Customize your application tests by creating custom JMeter scripts.
Automate load tests
Schedule load tests to either automatically begin at a specified date or on recurring dates.

AWS Solutions Implementation overview

The diagram below presents the architecture you can automatically deploy using the solution's implementation guide and accompanying AWS CloudFormation template.

Distributed Load Testing on AWS | Architecture Diagram
 Click to enlarge

Distributed Load Testing on AWS architecture

The AWS CloudFormation template deploys the following resources:

  1. An Amazon API Gateway to invoke the solution's microservices (AWS Lambda functions).
  2. The microservices provide the business logic to manage test data and run the tests.
  3. These microservices interact with Amazon Simple Storage Service (Amazon S3), Amazon DynamoDB, and AWS Step Functions to run test scenarios and provide storage for the test scenario details and run test scenarios.
  4. An Amazon Virtual Private Cloud (Amazon VPC) network topology is deployed containing the solution's Amazon Elastic Container Service (Amazon ECS) containers running on AWS Fargate.
  5. The containers contain a Taurus load testing Open Container Initiative (OCI) container image which is used to generate load for testing your application’s performance. Taurus is an open-source test automation framework.
  6. AWS CodePipeline, AWS CodeBuild, and Amazon S3 help manage the image.
  7. A web console powered by AWS Amplify is deployed into an Amazon S3 bucket configured for static web hosting.
  8. Amazon CloudFront provides secure, public access to the solution’s website bucket contents.
  9. During initial configuration, the solution also creates a default administrator role and sends an access invite to a customer-specified user email address.
  10. An Amazon Cognito user pool manages user access to the console and an Amazon API Gateway API.
  11. After you deploy this solution, you can use the web console to create a test scenario that defines of a series of tasks.
  12. The microservices use this test scenario to run Amazon ECS on AWS Fargate tasks.
  13. When each task is complete, the results are stored in Amazon S3 and the output is logged in Amazon CloudWatch. Once all tasks are complete, the results are stored in DynamoDB.

Distributed Load Testing on AWS

Version 1.3.0
Last updated: 04/2021
Author: AWS

Estimated deployment time: 10 min

Use the button below to subscribe to solution updates.

Note: To subscribe to RSS updates, you must have an RSS plug-in enabled for the browser you are using.  

Did this Solutions Implementation help you?
Provide feedback 
Video
Solving with AWS Solutions: Distributed Load Testing
AWS Architecture Blog
Ensure Optimal Application Performance with Distributed Load Testing on AWS

Whether you’re a private enterprise or a public sector service, you need confidence that your application can scale with increased user loads. Distributed Load Testing on AWS allows you to automate application testing, understand how it will perform at scale, and fix bottlenecks before releasing your application.

Read the full blog post 
Build icon
Deploy a Solution yourself

Browse our library of AWS Solutions Implementations to get answers to common architectural problems.

Learn more 
Find an APN partner
Find an APN Partner

Find AWS certified consulting and technology partners to help you get started.

Learn more 
Explore icon
Explore Solutions Consulting Offers

Browse our portfolio of Consulting Offers to get AWS-vetted help with solution deployment.

Learn more