High Availability AWS Environments Support Web Applications
Intoxalock was struggling to maintain high uptime and redundancy when running multiple applications, and the legacy app building and deployment process was time-consuming.
ClearScale developed a highly available and automated infrastructure on AWS using a variety of services, including Amazon RDS, S3, CloudWatch, and CodeDeploy.
Intoxalock now has separate environments for app development, staging, and production, all of which are consistent, secure, and stable.
Amazon RDS, AWS Auto Scaling, Amazon S3, Amazon CloudWatch, AWS CodeDeploy
Headquartered in Des Moines, Iowa, Intoxalock is a leader in the alcohol monitoring industry, primarily serving clients who are legally required to install an ignition interlock device or home alcohol monitoring unit. To ensure a reliable and accurate reporting to state administrators, the devices employ advanced technologies to enable GPS functionality, real-time reporting, and other features. These features communicate to Intoxalock’s IT systems, exchanging information among a network of more than 3,500 locations and state agencies.
Additionally, the company’s website and customer tools serve as valuable resources for information, lead generation, and support. A key problem of the Intoxalock legacy IT systems was the lack of availability in properly supporting the more than 15 web applications. That presented a challenge for Intoxalock — and led them to ClearScale.
It was difficult for Intoxalock to achieve high uptime and redundancy when running multiple apps. That meant the company’s website, as well as both its web app development and deployment processes, were unpredictable and at risk for downtime.
Competing for resources on a single Amazon EC2 instance, apps experienced traffic bursts and other issues that negatively impacted other apps. Because they weren’t automated, the app building and deployment processes entailed time-consuming manual steps. If something went wrong, Intoxalock would experience significant downtime at inopportune times.
To remedy the situation, Intoxalock asked ClearScale, an Amazon Web Services (AWS) Premier Consulting partner, to assist in rearchitecting its web app development, pre-production, and production environments. In addition, the company wanted to automate its app building and deployment processes, as well as migrate live traffic to a new production environment. A key requirement for the total solution was assurance that it complied with AWS best practices.
The ClearScale Solution
Working with Intoxalock, ClearScale first developed a highly available infrastructure. AWS best practices were employed, along with high availability AWS services including Amazon Relation Database Service (RDS), Load Balancers, Auto Scaling, Amazon Simple Storage Service (S3), Amazon CloudWatch, and AWS CodeDeploy.
AWS’s global infrastructure consists of multiple geographically separated locations called regions, which, in turn, are built of multiple isolated data centers known as availability zones (AZs). Among the features of the ClearScale solution were the configuration of the customer’s application (EC2) and database (RDS) tiers in multiple availability zones (Multi-AZ setup).
The Multi-AZ setup provides a failover feature that automatically ensures the applications hosted in EC2 will be tolerant to a fault of any of the availability zones. For RDS, a failover feature automatically provisions a primary database in one AWS availability zone and maintains a synchronous standby replica in a different one. The failed instance becomes standby after recovery.
AWS RDS also backs up DB instances — isolated database environments — daily and transaction logs at five-minute intervals. Both are stored for a specified retention period. This allows for restoring a DB instance to any second during the retention period, up to the last five minutes.
Intoxalock’s applications were sorted by their logical purposes and split onto multiple load-balanced, auto-scaled groups of EC2 instances. All groups of instances simultaneously serve the company’s domains and those of its customers. Two separate application load balancers work in parallel.
ClearScale also collaborated with Intoxalock’s engineers to update source code so that the app-building process could be fully automated. Continuous integration/continuous delivery (CI/CD) processes were organized using Jenkins and Microsoft Visual Studio compiler. HashiCorp’s Packer was used to automate the building of custom Windows Amazon Machine Images (AMIs).
With the project completed, Intoxalock now has segregated AWS environments for application development, staging, and production. The environments are consistent and stable, ensuring high availability and security in line with AWS best practices. Threats of downtime are significantly reduced.
The processes for building, testing, and deploying applications are faster and more reliable. Application release cycles are fully automated, speeding up-time to market and service to end users. The applications work independently, providing high reliability and availability of all services.
All the company’s requirements were met. Intoxalock is now positioned to move ahead more confidently as its employs new technologies and deploys new apps and updates to better attract new customers, all while providing stellar service to its entire client base.