Designing for Load - Autoscaling resources (October 2020)

Overcoming Scalability Challenges with AWS

About Particular Presence Technologies

Particular Presence Technologies Ltd (PPT) is an Amazon Web Services (AWS) Select Partner, with a Lambda Service Delivery designation, which validates our team members’ in-depth knowledge of AWS services and our experience in the field. At PPT, we are proponents of digital transformation and prioritize the security, reliability, and strength of our solutions. Our development team members are all industry certified to deliver the best results to drive business value.

PPT is a Software Development and Technology company based in Kingston, Jamaica. We pride ourselves on our keen ability to solve problems, innovate, and provide value for all our clients. Our expertise in building scalable products has led to partnerships with organizations in the Banking & Finance, Education, and Insurance industries.

Particular Presence AWS Partner BadgeParticular Presence AWS Partner Badge Lambda
Summary of the Project

An educational institution tackles scalability issues by adopting AWS, consulting with Particular Presence Technologies (PPT). The solution includes setting up Amazon EC2 for auto-scaling, ensuring fault tolerance, and creating an AMI for efficient resource management during peak demand.

03

The Case Study

The Challenge

For several years an educational institution had challenges scaling its infrastructure to meet peak demand, experiencing difficulties in scaling-out resources to process the volume of user requests. Their existing infrastructure was unable to scale in response to unpredictable, spikey customer loads, resulting in users being unable to access the site, slow-loading and system downtime, The solution was not fault tolerant and did not guarantee high availability in the event there was a failure of a server resource. In preparation for load testing, a loss of devices led the team to consider AWS as an alternate solution for this critical mission,

Solution

After consulting with Particular Presence Technologies (PPT), an assessment of the current challenges and possible solutions was done. PPT recommended a plan to auto-scale the application in order to efficiently manage the resources during the results season. The following solutions were recommended and subsequently implemented: An Amazon Elastic Compute Cloud (EC2) was set up with the application's dependencies and the application-server set up to run the application,
‘Once it was confirmed that the application was running without issues, an Amazon Machine Image (AMI) was created from the EC2 instance.

  • An autoscaling group was set up with a minimum of two instances running in different availability zones, to ensure failover, and the ability to scale as needed to handle the anticipated load.
  • The AMI created before was referenced in creating the autoscaling group.
  • An Elastic Load Balancer (ELB) was created to manage the routing of traffic to the different instances in the autoscaling group.
  • For the database, an Amazon Relational Data Store (RDS), of type SQL Server, was used to host the database in the cloud. The data itself was restored to the RDS from a database backup file.

Additional Features

  • A CloudWatch dashboard was created so the client could monitor the traffic to their website and see how the resources were being provisioned,
  • CloudWatch Alarms, a monitoring and alerting system, was set up to notify all the stakeholders of any anomalies or concerns that could possibly arise.

Results

  • The Application’s load balancer experienced at its peak, 3 million requests per second.
  • The Application successfully hosted 6500 logins per second.
  • The Application successfully scaled in and out in response to the customer loads.
  • The Application allowed for the monitoring performance throughout the season to determine the health of the system's performance and its different components.
  • The customer experienced no downtime of the system or received any complaints during the season.
  • The system was highly available.
  • There was no hands-on management of the solution required during the results season.

AWS Technologies Used on the Project

Amazon Open Search Service
Amazon Opensearch Service

Amazon Rekognition
Amazon Rekognition

Amazon Chime
Amazon Chime

Amazon DynamoDB
Amazon DynamoDB

Amazon S3
Amazon S3

Amazon API Gateway
Amazon API Gateway

AWS Lambda
AWS Lambda

Amazon EC2
AWS EC2

EC2 was chosen as the underlying compute resource for hosting the application, the ability to create Amazon Machine Images (AMI) allowed them to create snapshots of the configured environment for autoscaling and backup purposes.

AWS Relational Database Services
Relational Database Services

Relational Database Services (RDS) served as the cloud-based, fully managed database solution, ensuring scalability, reliability, and efficient management of the educational institution's application data.

Amazon Elastic Load Balancing

ELB was a critical component in managing and distributing traffic across multiple instances, ensuring high availability, fault tolerance, and efficient scaling of resources

Amazon EC2
Amazon EC2

Amazon EC2 for reliable Educational Infrastructure

Amazon EC2 enhanced their capacity and infrastructure, providing dynamic scalability, efficient resource deployment, and streamlined maintenance through AMIs. This translated to improved performance, resilience, and enhanced user experience during peak demand periods.

  1. Setting up with Application Dependencies: EC2 was utilized to set up the necessary dependencies for the application.
  2. Application Server Configuration: The EC2 instance was configured to run the application server.
  3. Creation of Amazon Machine Image (AMI): After confirming that the application was running without issues on the EC2 instance, an Amazon Machine Image (AMI) was created from that instance.
AWS Relational Database Services
Relational Database Services

Scaling and Securing Operations with Amazon RDS

The managed nature contributed to the reliability of the database, supporting fault-tolerant and scalable operations.

  1. Database Hosting: RDS hosted the SQL Server database in the cloud for the educational institution's application.
  2. Data Restoration: Data for the application was restored to RDS from a backup file, ensuring a secure and reliable database setup.
  3. Managed Database Service: RDS provided a fully managed relational database service, automating tasks such as backups, software patching, and ensuring high availability.
  4. Scalability and Reliability: As a scalable solution, RDS efficiently handled the anticipated load during peak times.
Amazon Elastic Load Balancing
Elastic Load Balancing

Elastic Load Balancer for Enhanced Scalability and High Availability

ELB significantly optimized resource usage, ensured high availability, and managed varying loads for the educational institution's application.

  1. Managing Traffic Distribution: ELB distributed incoming traffic among instances in an autoscaling group. Ensured even load distribution and improved fault tolerance.
  2. Supporting Autoscaling: Integrated with an autoscaling group to dynamically adjust resources based on demand. Enabled efficient scaling by directing traffic to instances created by the autoscaling group.\
  3. Enhancing High Availability: Improved system availability by redirecting traffic to healthy instances in case of failures.
AWS Lambda
Lambda
Amazon Open Search Service
OpenSearch Service
Amazon Rekognition
Amazon Rekognition
Amazon Chime
Amazon Chime
Amazon S3
Amazon S3
Amazon S3
Amazon DynamoDB
DynamoDB
View the customer site:

Explore how PPT's AWS cloud expertise can resolve your critical business challenges.

Book a Call
Get support for your AWS roll-outs
Educational Institution