By browsing our website, you consent to our use of cookies and other tracking technologies. For more information, read our Privacy Policy.
Case Study
King Kong scalability & extreme automation on AWS for HOOQ
CloudCover + HOOQ + AWS
tl;dr
- With 21 million monthly active users HOOQ needed its infrastructure on AWS to auto-scale for growing demand, automate deployments and upgrade its Monolithic structure.
- A fully automated deployment process instituted by CloudCover freed up the Dev team to focus on innovating and building the new features for their application.
Overview
A leading video-on-demand streaming platform, a joint venture between Sony Pictures Entertainment, Warner Bros, and Singapore Telecommunications differentiated itself in the OTT space by offering the most extensive catalog of local content that contributed to its exponential popularity. With expansion plans in sight and to service 21 million monthly active users, the platform wanted its infrastructure to auto-scale to accommodate growing demand and deliver exceptional content and user experience at the speed of light.
To this effect, CloudCover offered the customer a wholly managed infrastructure solution on Amazon Web Services. In addition, CloudCover evaluated and studied the customer’s current architecture and moved the monolithic system to a Microservices model that has emerged from the world of domain-driven design, continuous delivery, platform and infrastructure automation, scalable systems, polyglot programming, and persistence.
🚀🔥🎖️ The Microservices model helped achieve scalability and 100% automation eliminated the need for human intervention.
The need for Managed Cloud Services
HOOQs Challenges
Accommodate Growing Demand
The customer’s need of the hour was to redesign its infrastructure to support the increasing demand.
Manual Deployments
Manual deployments were prone to human errors, and the maintenance window (~ 40 mins) was relatively high.
Monolithic Architecture
With its overall Monolithic architecture, any change in the older module would require redeployment of the entire application, rendering scaling an uphill task.
The Expectations
Collaborating with CloudCover for scalability, automation & cost optimization.
The customer realized that with specific infrastructure improvements, they would meet end-user demands quickly and scale massively. The ultimate goal was to automate the process, save a substantial amount of time and help them achieve king kong scalability in a highly available and reliable environment.
CloudCover’s Masterplan
To encapsulate complicated pieces of infrastructure behind simple & easy-to-use APIs and create reusable infrastructure.
The Status Quo
The customer’s infrastructure had more than 15-20 microservices running at any given time. These microservices used various AWS services such as Amazon S3, Amazon RDS, DynamoDB, and Redis. As a result, the manual configuration of each service was a mammoth task.
Leveraging Infrastructure as Code and Terraform
CloudCover overhauled how the entire infrastructure was managed by tapping into the power of IaC & Terraform. By introducing different templates of Terraform code for multiple services, CloudCover can quickly bring up any service with a click of a button.
Solution
Technical Solution Decoded
Automated Deployments
A simple yet powerful combination of Jenkins and Ansible eased out scheduling deployments. CloudCover automated all their Jenkins jobs (using in-house bot ‘CeCe’) for every service based on AWS. In some instances where deployments failed, rollback requests were initiated automatically. Twilio sends notifications and alerts when a deployment fails & triggers a rollback.
King Kong Scalability
CloudCover facilitated customers’ move from a Monolithic architecture to a Microservices model to improve their scalability. They were witnessing situations where one application feature experienced a rise in need, and the entire architecture had to be scaled; this, in turn, affected other services’ performance. CloudCover isolated the services into different services and reduced the risk of a single point of failure. CloudCover applied the ECS containerization technique and deployed Application containers for running a microservices application architecture.
Launch New Services With Ease
For launching any new service, CloudCover utilized Terraform to provision resources, ranging from service (including Amazon EC2, ELB, RDS, Amazon S3) to an entire infrastructure on AWS.
Cost Optimization ($$$)
CloudCover regularly performed inventory checks that identified idle and unused resources to spot areas for cost optimization. With CloudWatch alarms (integrated with Slack and email), you can monitor services effectively. CloudCover set up AWS Instance Scheduler so that the EC2 and RDS Instances are turned ON/OFF for Dev, staging, and testing environments based on a defined schedule.
Business Value Delivered
What We Accomplished
Deployment Automation & Monitoring
Deployments were fully automated and quickly scheduled and monitored via Slack, sparing the developers substantial time to focus on their application to add new improvements for the growing user base.
Improved Maintenance Time
100% automation eliminated the need for human intervention, therefore any errors. The efforts improved the maintenance window and slashed the time to deploy a new service.
Tools Used
Virtual Private Cloud
Elastic Compute Cloud
Simple Storage Service
Auto Scaling Group
Elastic Load Balancing
CloudFront
CloudWatch
Relational Database Service
Route53
Athena
Identity and Access Management
CloudTrail
Lambda
DynamoDB
ElastiCache
Redshift
NewRelic
Elastic StacK
Jenkins
OpenVPN
Ansible
Terraform
Github
StackStorm
CeCe Bot