AWS for a fitness app
The Client
The client is a leading fitness platform offering online workouts and group fitness classes at its one-stop fitness studios.
The Challenge
The client wanted to improve scalability and high availability while optimizing AWS infrastructure cost without sacrificing performance.
Implication
The client turned to us, to perform an AWS Well-Architected Review. The review is an assessment of their infrastructure using best practices guidelines from the AWS Well-Architected Framework. The review revealed opportunities to improve the company’s infrastructure across the five pillars of the Framework: cost optimization, security, reliability, performance efficiency, and operational excellence.
The client leveraged several Amazon Web Services on our proposal, which were:
- Amazon Elastic Kubernetes Service (Amazon EKS) A highly scalable, high-performance container orchestration service that supports Docker containers enabled the client to run and scale containerized applications on AWS.
- Amazon Elastic Container Registry A fully-managed Docker Container registry integrated with Amazon ECS made it easy for the client to manage, store and deploy Docker container images.
- Amazon Virtual Private Cloud (Amazon VPC) The Amazon VPC enabled the client to provision a logically isolated section on AWS where they could launch AWS resources in a virtual network that they defined.
- Amazon Elastic Compute Cloud (Amazon EC2) A web service that provides secure, resizable computing capacity in the cloud. It is designed to make web-scale cloud computing easier for developers. It provided complete control of computing resources to the client and ran on Amazon's proven computing environment.
- AWS Auto Scaling This monitored the client’s applications and automatically adjusted capacity to maintain steady, predictable performance at the lowest possible cost.
- Amazon Route 53 A highly available and scalable cloud Domain Name System (DNS) web service was provided for a reliable and cost-effective way to route the client’s end users to internet applications.
- Amazon CloudWatch (CloudWatch) This monitored applications, responded to system-wide performance changes, optimized resource utilization, and provided a unified view of operational health to the client.
- AWS Application Load Balancer This balanced the application load to compute resources and served as the single point of contact for clients.
- AWS Relational Database (RDS) Amazon RDS is a collection of managed services that made it simple to set up, operate, and scale databases in the cloud for the client.
Remediation
A well-architected infrastructure enables faster updates and decreases time to market. We performed an AWS Well-Architected Review with the client, which revealed architecture remediations that could be implemented to drive best practices in infrastructure. Following the review, the client asked us to perform the following remediations:
- CloudWatch analysis of resources (e.g., underutilized resources) helped identify candidates for right-sizing. CloudWatch also provided billing alerts that notified the client when the usage of their services exceeded the financial thresholds that they defined.
- We worked with the client to improve the performance efficiency of their architecture by including CloudWatch to monitor and respond to system-wide performance changes.
- Right-sizing of RDS instances were introduced based on Cloudwatch metrics.
- AWS Auto Scaling groups were introduced to maintain steady, predictable performance at the lowest possible cost.
- We added scaling policies so that when the load increases the system should automatically scale up and when the load decreases it automatically scales down to save the cost.
“A reliable system should have a well-planned foundation with scalability to handle changes in demand or requirements.”
Results
AWS Cloud Services, managed by us, have enabled the client to:
Improve reliablity and availability
The client has a reliable and reproducible infrastructure for different environments, saving valuable engineering time. CloudWatch provides alerts on the infrastructure's health to support reliability.
Enhanced scalability
The client’s architecture now follows best practices, with improved scalability to handle changes in demand or requirements to support their fast-growing business.
Save Costs
Our broad breadth of DevOps knowledge and cost optimization experience saved the client costs on AWS.