Managed DevOps on AWS for a leading online matchmaking platform with 35 million users
CloudCover + AWS
- A leading online matchmaking platform with global operations needed to modernize and optimize AWS infrastructure for scalability and observability.
- The platform faced several challenges, including a monolithic architecture, testing, scalability, and cloud spending.
- Trusted cloud-native experts at CloudCover for Managed DevOps services, including improving scalability, enabling 24*7 monitoring and cost optimization.
- CloudCover built a scalable infrastructure that could deploy any service to production within 30 mins and reduced costs by up to 70% on EC2.
A leading online matchmaking company with 35 million users that leverages technology to bring people together, aims to provide a superior matchmaking experience to its users by capitalizing on the power of algorithms. It operates globally, with offices in the USA, Canada, the UAE, the United Kingdom, and India.
The matchmaking giant had set up its application on AWS but wanted to modernize and optimize the system for scalability and observability. The quest for Managed DevOps services led to the collaboration with CloudCover.
CloudCover built a scalable infrastructure that could deploy any service to production within 30 mins with minimal human intervention and reduced costs by up to 70%
Stumbling Blocks for the Customer
The customer was operating on a monolithic system, challenging to identify which subsystem or upstream service was failing.
Struggles with Testing
The developers often faced difficulties in testing multiple services simultaneously. In addition, with many moving parts, it was troublesome to trace any errors.
Scaling and Cost Issues
They encountered scaling challenges and a sudden rise in infrastructure spending; they needed specialized consulting to optimize their costs and performance.
The customer collaborated with our cloud-native experts to deliver on these fronts.
Enabling 24*7 Monitoring
Monitor their services and infrastructure on AWS.
Improving Scalability & Availability
Bring in more scalability and maintain high availability.
Optimize their deployment process; make deployments faster.
A remarkable reduction in the overall cost for the infrastructure
Why Amazon Web Services?
The customer was already operating on Amazon Web Services. However, CloudCover introduced/proposed certain AWS services bundled with third-party tools & Microservices model to increase scalability and improve performance.
Amazon’s ECS and Spotinst (a third-party tool) helped break the monolithic architecture into microservices in a highly cost-effective way.
Dynamic Provisioning with Infrastructure as code
AWS CloudFormation massively helped in creating reusable IaC. Deployments could be automated seamlessly and quickly across environments, thereby eliminating the need for manual intervention.
24*7 Monitoring & Automation
CloudWatch helped in the monitoring of services and creating automation for self-healing systems.
Microservices Model Adoption
The objective was to decouple their services and improve performance and monitoring. CloudCover also introduced a scalable solution that helped perform custom CI on the code base and allowed continuous deployments and delivery to various environments and infrastructure.
By making the best use of the customer’s Gitlab that was already available for managing the code base, CloudCover utilized GitLab-runner to perform our CI/CD leading to more flexibility to implement the CI/CD.
Datadog for Observability
CloudCover used CloudWatch Logs, Metrics, and Custom metrics to monitor the infrastructure and services natively available on AWS. With the help of Datadog, it was easy to monitor the application performance and collect traces to aid the developers in gaining more visibility on how the applications were performing.
Custom Solution for On-Demand Infrastructure
The strategy was to integrate the existing infrastructure with scalable, low-cost, and HA solutions with an ever-increasing customer base. CloudCover provided a custom solution to the customer’s developers to create on-demand infrastructure with spot pricing. In addition, it allowed them to test multiple services/codebases simultaneously and delete the infrastructure built once testing was complete.
Alleviating the Pain Points
Monolithic to Microservice
- CloudCover used Gitlab’s native feature hosted GitLab-runner to perform CI/CD.
- In addition, with AWS Cloudformation, CloudCover was able to implement Infrastructure As Code (IaC) and parameterize deployments on AWS Elastic Container Service (ECS) to reduce human intervention and errors, which helped break the monolith design and gave the flexibility to add more services and APIs to the infrastructure.
Monitoring and Better Analysis
- Datadog agent was installed on each ECS instance to monitor the services and the APIs hosted on them. Thus, one could quickly gain insights into the performance of these services and the APIs were performing.
- In addition, AWS CloudWatch was used for logging ECS Services to a central location for better filtering, analysis, and debugging.
- Amazon’s APM heavily contributed to honing the applications in a better way.
Scalability with Spotinst
- Moving the majority of the infrastructure to Spotinst and choosing multiple instance types made it possible to achieve high scalability, HA, and low cost.
- In addition, integrating ECS Clusters with Spotinst to run the microservices and APIs reduced the cost massively.
Business Value Delivered
What We Accomplished
Microservices and 360° Observability
CloudCover successfully moved the customer from a Monolithic architecture to Microservices; utilized ECS to its fullest potential while running the clusters on the spot to manage the cost. Today, the customer is running more than 15 services on ECS with minimal impact on their expenses. In addition, Amazon CloudWatch, alongside Datadog, has helped effectively monitor the infrastructure, applications, and APIs. As a result, the customer can now efficiently manage all the idle and unused resources by paying for their use.
Reduced Infrastructure Spend & Custom Script for Testing
One of the critical challenges faced by the development team was regarding testing. With the Custom script, the customer’s developer team was able to run their tests in parallel without any overlaps with fellow developers. Also, running them on the spot decreased infrastructure spending. CloudCover and Spotinst drastically reduced the costs for the customer by up to 70% on EC2.
Scalable Infrastructure & Speedy Deployments
CloudCover created a more scalable infrastructure to deploy any service to production within 30 mins with minimal human intervention. In addition, by introducing custom CI/CD and stages, the customer could monitor the code going to production, ensuring only validated code gets pushed forward.
Aws Infrastructure Components
- Virtual Private Cloud
- Elastic Compute Cloud
- Simple Storage Service
- Elastic Load Balancing
- Relational Database Service
- Amazon Route53
- Identity And Access Management
- Elastic Mapreudce
- Elastic Search
- Simple Notification Service
- Elastic Container Service