Mohan Golla
3 min readNov 30, 2023

Implementation of a Scalable Web Application using the services of AWS Elastic Beanstalk, DynamoDB, CloudFront and Edge Location

Project description:

In this project based on a real-world scenario, I was responsible for implementing an application that needs to support the high demand of a large number of users accessing it simultaneously. This application has been used in a large conference that had more than 10,000 people, in-person and online, with participants from all over the world.

This event was broadcast online and in person and 10 vouchers were drawn for 3 Cloud certifications. At that moment, more than 10,000 people in the audience registered their e-mails to guarantee their participation in the raffle.

We used in AWS, Elastic Beanstalk services to deploy the web application, DynamoDB to store emails, CloudFront to cache static and dynamic files in an Edge Location close to the user.

Below are few screenshots when a stress test is applied on the server simulating a large number of users accessing the application

The Elastic Beanstalk environment and health logs immediately shows a health warning shown as yellow “Warning” sign and “Degraded” in red due to heavy load.

The Elastic Beanstalk immediately starts to launch a new EC2 instance in response to a difference between desired and actual capacity by increasing the capacity from 2 to 3 EC2 instances.

The Elastic Beanstalk environment shows the new instances initializing and later Up and running to take the additional load.

The users accessing the application on “CloudFront” can still register their email to the forum (as shown in the red marking the email being registered in DynamoDB table)

Once the load on the server is down the environment reduces the EC2 instances to normal capacity to reduce the operating cost to run the application.

Mohan Golla
Mohan Golla

No responses yet