Case Study

Managed DevOps on AWS for a leading online matchmaking platform with 35 million users

CloudCover + AWS

tl;dr

  • 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.

The Overview

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%

The Challenges

Stumbling Blocks for the Customer

  • Monolithic System

    Monolithic System

    The customer was operating on a monolithic system, challenging to identify which subsystem or upstream service was failing.

  • Struggles with Testing

    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

    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 Expectations

The customer collaborated with our cloud-native experts to deliver on these fronts.

Linkerd

  • Enabling 24*7 Monitoring

    Monitor their services and infrastructure on AWS.

  • Improving Scalability & Availability

    Bring in more scalability and maintain high availability.

  • Speedy Deployments

    Optimize their deployment process; make deployments faster.

  • Cost Optimization

    A remarkable reduction in the overall cost for the infrastructure

The Cloud

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.

  • Powerful Microservices

    Powerful Microservices

    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

    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

    24*7 Monitoring & Automation

    CloudWatch helped in the monitoring of services and creating automation for self-healing systems.

The Strategy

Our Approach

  • Microservices Model Adoption

    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.

  • Powering GitLab

    Powering GitLab

    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

    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

    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.

Technical Solution

Alleviating the Pain Points

  • Monolithic to Microservice

    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

    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

    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.

The Architecture Diagram

Architecture

Business Value Delivered

What We Accomplished

  • Microservices and 360° Observability

    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

    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

    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 Virtual Private Cloud
  • Elastic Compute Cloud Elastic Compute Cloud
  • Simple Storage Service Simple Storage Service
  • Elastic Load Balancing Elastic Load Balancing
  • Relational Database Service Relational Database Service
  • Amazon Route53 Amazon Route53
  • Lambda Lambda
  • Athena Athena
  • Cloudtrails Cloudtrails
  • Cloudwatch Cloudwatch
  • Identity And Access Management Identity And Access Management
  • DynamoDB DynamoDB
  • Elastic Mapreudce Elastic Mapreudce
  • Elastic Search Elastic Search
  • Redshift Redshift
  • Simple Notification Service Simple Notification Service
  • Elastic Container Service Elastic Container Service
  • Redis Redis