Harnessing AWS and Leading the Deployment of a High-Traffic Conference Web Application: Implementation of a Scalable Web Application using AWS Services

Lionell Jenious
4 min readJun 20, 2024

--

In my latest project, I led the configuration, provisioning, and deployment of a robust web application built to handle a high-traffic conference with over 10,000 global participants. I ensured the application achieved seamless scalability and top-notch performance by leveraging AWS services such as Elastic Beanstalk, DynamoDB, CloudFront, and CloudWatch. Explore the architecture and implementation details to discover how this AWS-powered solution was created.

Services & Technologies

Use Case: Application Cloud Web Server to Support a Large Conference

Event Description: This project is based on a real-world scenario where a web application needs to support a large conference with attendees geographically. The event was both online and in-person, with over 10,000 participants. During the event, 10 vouchers for three cloud certifications were drawn. To participate, attendees registered their emails leading to a high demand and overhead placed on the web application.

Objective: To handle the high traffic demands, AWS cloud services were utilized to ensure scalability and performance. The primary goal was to demonstrate the capability of AWS Elastic Beanstalk to scale up the web application in response to increased load.

Solution Architecture:

The architecture included the following AWS services and components:

  • Amazon EC2: Virtual servers to run the web application.
  • Elastic Beanstalk: To automatically manage the deployment, scaling, and monitoring of the application.
  • Amazon DynamoDB: A NoSQL database to store email registrations.
  • Amazon CloudFront: To cache static and dynamic content, ensuring low latency and high transfer speeds.
  • Amazon Route 53: DNS web service to route traffic efficiently.
  • Amazon CloudWatch: To monitor the application and trigger scaling actions.
  • Auto Scaling Group: To ensure the application scales out and in based on demand.
Implementation Steps

Testing the Solution: To simulate high traffic, a third-party utility tool was used to generate traffic and stress the EC2 instance, pushing CPU utilization to 100%. This test validated the automatic scaling capabilities of Elastic Beanstalk, ensuring that additional instances were deployed to handle the load.

Results: The Elastic Beanstalk service successfully scaled the application to handle the increased traffic. The combination of CloudFront, DynamoDB, and other AWS services ensured low latency, high availability, and efficient performance throughout the event.

Conclusion: This project demonstrates the power of AWS services in handling high-traffic web applications, ensuring scalability, performance, and reliability. By leveraging my skills in AWS architecture, provisioning, and deployment, I was able to design and implement a robust solution that meets the demands of real-world scenarios where traffic can fluctuate significantly. This project showcases my ability to effectively use AWS technologies to deliver scalable and high-performing applications, making me a valuable asset for organizations looking to optimize their cloud infrastructure.

Supplementary Visuals and Logs:

Elastic Beanstalk Dashboard (EBS) — → Healthy EC2 Instance state

Elastic Beanstalk | Configure traffic to auto-scale

https://souravkarmakar96.medium.com/ec2-auto-scaling-simple-scaling-policy-with-aws-cli-2dad6db3cfa3

To simulate a high-demand scenario, a Traffic Generation Stress Tool was used to emulate 10,000 conference attendees registering simultaneously. This intentional oversubscription of compute resources aimed to degrade the web application server’s performance running on EC2 instances, thereby triggering/invoking the autoscaling feature to deploy other EC2 instances.

Traffic Generation Stress Utility Tool
Purpose / Stress Tool Use Case

Live Monitoring of EC2 Performance via Git Bash CLI During Stress Tool Traffic Impact

Git Bash CLI Traffic Stress Script & Monitoring

Elastic Beanstalk Health Status: Degraded EC2 Instance with 100% CPU Utilization

Degraded EC2 Instance — CPU stressed

Elastic Beanstalk | Autoscaling | Added +1 EC2 Instance

Autoscaling EC2 Instance

Autoscaling Added +1 EC2 Instance

1 EC2 Instance added

Successfully deployed AWS Auto Scaling, CloudWatch, and Elastic Beanstalk to support the Web Application Server hosting the Cloud Bootcamp Conference and Voucher Raffle activities.

EVIDENCE: The Bootcamp Conference Voucher Raffle Registration Emails were all successfully processed and verified in the DynamoDB User Table

Successful Web Application Conference Registration

Bootcamp Conference Registration Highlights via AWS Cloud Deployment

Bootcamp Conference Use Case / AWS Cloud Deployment Results Summary

References:

  1. AWS Elastic Beanstalk Documentation
  2. Amazon DynamoDB Documentation
  3. Amazon CloudFront Documentation
  4. Amazon Route 53 Documentation
  5. Amazon CloudWatch Documentation
  6. https://thecloudbootcamp.com/en/?utm_source=&utm_campaign=&utm_medium=&utm_content=&utm_term=&trk=
  7. https://aws.amazon.com/blogs/startups/use-auto-scaling-for-everything-possible/

--

--

Lionell Jenious
Lionell Jenious

Written by Lionell Jenious

Cloud Software Network Engineer | AWS | AI/ML | Blockchain | Azure | Google Cloud | VMware | Cloud Computing | DevOps | Software Defined Networks SD-WAN

No responses yet