Solving the Scaling Issue: Fragmenting the Client's Monolithic Architecture
Project Description
The client is a young company providing entertainment video content with a core audience in Europe and North America. At the project's inception, it was challenging to predict its future popularity, and all functionality was implemented on a single server. Having reached an audience growth of 1+ million visitors per day, the client encountered a bottleneck in the form of a monolithic infrastructure with exclusively vertical scaling capabilities. Further growth became blocked.
Client's Main Requests:
  • Conduct a comprehensive audit of the infrastructure and code together with the client's developers.
  • Develop and implement a plan for migration to a horizontally scalable architecture.
  • Eliminate factors blocking further audience growth.
Key Metrics
  • 1+ million visitors per day
  • 7 independent, horizontally scalable subsystems extracted from the original monolith
  • 4x audience growth within a year after the architectural refactoring
  • 8% reduction in the cost of servicing each client
Key Challenges and Results
We conducted a comprehensive audit of the code together with the client's developers. The load testing carried out allowed us to identify the most challenging and difficult-to-scale parts of the architecture. As a result, we achieved the following outcomes:
  • Identified that minimal modifications in the auxiliary software code would enable us to use a unified approach for scaling all of the client's architectural subsystems.
  • Fragmented the client's monolithic architecture into 7 independent subsystems with horizontal scaling and a significant margin for linear growth.
  • Added horizontally scalable caching based on memcached in the most loaded subsystems, which allowed serving more clients with less power consumption.
  • Covered the new architecture with comprehensive monitoring, enabling proactive responses to emerging issues in the infrastructure.
  • Prepared and implemented a migration plan with the phased creation of 3 independent geographically distributed clusters in the client's presence regions. In the new implementation, the clusters could operate independently of each other, acting as geo-redundancies in the event of a disaster.
We accompanied the project for a year after the implementation began, successfully servicing an audience that grew fourfold. Optimizations in the most problematic areas also increased the project's profitability by 8%. The new, modular architecture allows for adding new servers to the clusters as the load increases. Without our intervention, the client would have been forced to halt the development of their product due to scaling problems.

Related services
DevOPS audit
Our DevOps audit services boost your IT operations' efficiency and reliability
24/7 DevOps support
We provide DevOps support services for your business 24/7
Infrastructure monitoring services
We provide services for monitoring the infrastructure of your business
Infrastructure as a code (IaC)
We offer Infrastructure as a code (IaC) for your business