Any modern Web interface, application, or database that relies on the cloud to provide the foundational infrastructure, scalability, and redundancy does so because end-users demand high performance and zero downtime to meet their needs. From supporting satellite-based positioning to energy management, to financial institution needs, to proprietary application development and code deployment, ClearScale, an AWS Premier Consulting Partner, has successfully guided organizations as they have migrated to a much more scalable and automated solution in the AWS Cloud.
This was more evident than ever when ClearScale was engaged by a non-profit, non-partisan organization that provides interactive voter guide information. The 2016 U.S presidential election was expected to see higher turnout and interest than seen previously. This organization realized that in order to meet the increased needs of the electorate, it would have to evolve its implementation that was already sitting in the AWS Cloud in order to deliver — on-demand — key voter guide information to states and counties throughout the country, as well as to news organizations and civic groups.
ClearScale reviewed the organization’s AWS-hosted environment and began to perform an analysis to determine where the issues resided and improvements could be made. Using tools like JMeter for load testing, it became clear that the client’s EC2 database instances were unstable and were resulting in a bottleneck in the system.
In order to meet their need of nearly 300 Queries per Second (QPS) and 10x the current load, ClearScale performed a robust audit of the organization’s instance beyond just the initial determination and identified several areas of improvement that would be needed in order to have scalable, robust, and high-volume response implementation.
ClearScale presented an extensive list of recommendations to the non-profit organization and after discussions, a remediation plan was identified. These recommendations included:
Migration to a Virtual Private Cloud (VPC)
Prior to ClearScale’s review, the client had several unused security groups and rules which had the potential of allowing unrestricted access to a given resource. ClearScale migrated them to Amazon’s VPC, which, unlike the EC2-Class implementation they had, allowed them tighter control of their environment. It not only allowed our client the ability to define static IP addresses and assign multiple IP addresses to all of their instances but also provided them better control over the outbound and inbound traffic, giving them additional layers of access controls using network Access Control Lists (ACL).
To accomplish this, ClearScale developed a series of templates for cloud Formation, the AWS automated resource management service, which was used to deploy the VPC Stack and the Application Stack. Both Stacks underwent end-to-end functionality testing after the migration of the infrastructure applications and services to the new EC2 instances were completed.
Enhancement of the Application Tier
The client’s implementation in the AWS Cloud did not use auto-scaling of groups and only had a single Availability Zone. To overcome this, ClearScale enabled Auto Scaling Groups (ASG) and moved the client’s front-end Web instances to it. Once completed, ClearScale created new scale-up and scale-down policies based around CPU usage in the ASG. Additional Availability Zones were created and set up as part of the policies enacted, allowing instances to start in multiple Availability Zones as needed. The entire setup was tied to the Cloud Watch metrics package that AWS offers as part of its services.
Implementation of a Load-Balancing Tier
Because the client only had a single instance of their application in only one location, they were using SSL to manage the instance. This would not be sufficient if they needed to support 300 QPS. ClearScale implemented Amazon’s Elastic Load Balancer (ELB) for use by the ASG. Using the ELB, ClearScale was able to set up monitoring of the health of any instance and then dynamically route traffic to healthy instances as needed, regardless of the Availability Zone they were in. By taking this approach, ClearScale provided a level of fault tolerance that our client had not had previously and allowed for true load-balancing behavior by allowing the system to monitor and route traffic as needed without manual intervention on the part of the client.
Remediated Database Tier
The client had a single database instance in their EC2-Classic environment that was not configured for high availability, thus requiring significant administrative intervention if QPS became too extreme. ClearScale set up monitoring of this single-instance database to gather performance metrics, which in turn were used to determine the optimum size needed to meet our client’s needs. In order to allow for the scaling that was necessary to support high QPS, ClearScale set up, configured, and migrated the client’s database to AWS Relational Database Service (RDS) using the cloud Formation templates developed previously. This allowed for the flexibility of size and encryption at rest while automating backups to preserve data.
Improved System Monitoring
There was insufficient monitoring in place to watch critical areas of concern in the single instance in EC2-Classic. As a result, once ClearScale had set up, configured, and migrated our client from their single instance, we implemented Cloud Watch. This allowed our client to monitor critical areas of their AWS instance and then configure notifications and actions based on identified thresholds of concern. These areas were identified through close consultation with the client and then configured by ClearScale to monitor items such as the EC2 instances (network traffic, CPU usage, and memory consumption), RDS health (disk usage, memory usage, read/write latency, and throughput), and the ELB (request counts, latency, and requests by code).
This newfound visibility gave our client confidence to understand how its entire implementation was operating under peak loads and provided guided alerts indicating how they needed to respond when thresholds were exceeded.
ClearScale was able to leverage our extensive experience of Amazon Web Services to implement a highly scalable, multi-capable, and redundant solution that could meet the demand for voter guide information throughout the U.S. during key points in the 2016 election cycle. Our client was able to increase the size of their instance and use provisioned IOPS SSD.
At a peak usage of 300 QPS, they now see no errors with 10x the load they could previously handle. ClearScale’s dedication to fully analyze an existing implementation and determine the optimum solution to meet any need is why we’re recognized by Amazon Web Services as a Premier Consulting Partner.