McQueen Autocorp is a leading US-based used car selling company with a buyer network spread across the entire United States. McQueen Autocorp offers a nationwide modern car selling service, facilitates sellers with an instant offer for their car(s) using price prediction algorithms and real-time bids from an extensive network of licensed buyers.
Disclaimer - The name McQueen Autocorp is a placeholder as there is an NDA signed between both parties.
As McQueen Automotive's application evolved and got bigger, scaling different software components independently and code maintainability became challenging. At any point in time, their 200+ microservices were running on a single node, which meant that if the server went down for any reason, then the products would come to a standstill.
Ads being the primary contributor to website traffic, any outage would cost them a great deal of money if the servers were to go down for even a few minutes.
They often saw spikes in product usage, given that they were parallelly working on scaling business operations. The systems had to scale enormously at a moment's notice.
Lastly, securing the cloud architecture for all its products from DDoS, SQL injection, and cross-site scripting was a high priority.
The engineering team at Maruti Techlabs undertook the challenge of migrating the fully-functional application from monolith architecture to microservices (structuring the application into different modular services) using Docker and Kubernetes.
Given the complex structure of the entire application, the technical architects first began by creating an architectural diagram that outlines how each microservice would be set up to scale using Kubernetes.
Upon finalizing the architecture, the team carried out a quick PoC to showcase and test out the scalability of the Kubernetes migrated modules. This way, we were able to see the functional difference between both systems in action.
Once a microservice was migrated to the new Kubernetes architecture, the infrastructure team had created a new repo where it would be migrated to, along with its own CI/CD pipeline.
Once the tests cleared the requirements set up by the technical architects, the plan to migrate almost 200+ microservices was put into action. This was spread across various environments like Dev, Staging, and Production. This entire initiative was estimated to take about two years to complete.
We used the Strangler Pattern to incrementally transform monolith to microservices and replace existing functionality with a new service. In this case, once the new functionality is ready, the old one is strangled, and the new component/service is put into use.
We methodically put our microservices into containers (software packages) using Docker. We used Kubernetes to orchestrate different containers. Upon completing the final stage of migration, the application is now entirely managed by Kubernetes.
All the services were configured in a “Highly Available” setting to address the need for scaling. These services were also hosted across three availability zones to always be available in the rare case of outages at any data centers.
We follow Agile, Lean, & DevOps best practices to create a superior prototype that brings your users’ ideas to fruition through collaboration & rapid execution. Our top priority is quick reaction time & accessibility.
We really want to be your extended team, so apart from the regular meetings, you can be sure that each of our team members is one phone call, email, or message away.
A big part of DevOps consulting and implementation is the synergic effect of the continuous involvement of various stakeholders. Experience a workload shift with reliable, high-quality software applications and services that also support automation.