CASE STUDY

How We Made McQueen Autocorp’s Systems Highly Scalable Using Kubernetes

Expertise Delivered

DevOps
QA

Industry

Automotive

Our client,

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.

Challenge

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.

Solution

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.

Seamlessly migrate to Kubernetes for enhanced scalability and efficiency.




Phone

Don't take our word for it, take theirs!

Technology Stack

Migrating to Kubernetes.png

Results

  • Selective scaling of software services and components is now possible
     
  • Load-balancing and traffic routing has become easier and more effective
     
  • Kubernetes provides rollouts without downtime
     
  • Different services of the application are now easier to manage due to process isolation
     
  • Deployment of new features now takes less time

Our Development Process

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.

Our Development Process.png
Our Process

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.

Continuous Planning
We work with clients to set specific, quantifiable goals at the beginning of each project phase and then follow up as the development progresses. All stakeholders are involved at this stage to bring a meaningful impact to the discussion, define targets, and minimize redundancies.
Continuous Integration
This is a pivotal phase of development, where the developers work with the operations personnel to understand end-user needs. Our developers continuously merge their code changes in a shared repository, facilitating timely integration and automated testing.
Continuous Testing
Timely execution of testing is key to the health of any software. We enforce a frequent-testing policy by way of automation. Newly committed code is passed through various testing phases to ensure quality maintenance.
Continuous Deployment
Continuous deployment is necessary to take full advantage of a well-designed agile system. Every significant, validated change is automatically released to the users. Quick releases enhance the feedback loop, such that developers can isolate issues with higher accuracy.
Continuous Monitoring and Feedback
With the system now successfully deployed, we set up monitoring parameters that provide quick feedback. This helps us track functionality in real-time environments and ascertain system reliability. Security checks are also automated to ensure timely and correct reporting.
Continuous Planning
We work with clients to set specific, quantifiable goals at the beginning of each project phase and then follow up as the development progresses. All stakeholders are involved at this stage to bring a meaningful impact to the discussion, define targets, and minimize redundancies.
Continuous Integration
This is a pivotal phase of development, where the developers work with the operations personnel to understand end-user needs. Our developers continuously merge their code changes in a shared repository, facilitating timely integration and automated testing.
Continuous Testing
Timely execution of testing is key to the health of any software. We enforce a frequent-testing policy by way of automation. Newly committed code is passed through various testing phases to ensure quality maintenance.
Continuous Deployment
Continuous deployment is necessary to take full advantage of a well-designed agile system. Every significant, validated change is automatically released to the users. Quick releases enhance the feedback loop, such that developers can isolate issues with higher accuracy.
Continuous Monitoring and Feedback
With the system now successfully deployed, we set up monitoring parameters that provide quick feedback. This helps us track functionality in real-time environments and ascertain system reliability. Security checks are also automated to ensure timely and correct reporting.

More social proof incase you're still on the fence

Our Clients Review
Our Happy Clients
Review Everything
Why choose Maruti Techlabs?
14+ years experience
Start as quickly as week
Recurring cost of training and benefits - $0
Risk of failure? Next to none. 4.8/5 NPS on Clutch
Certified PMs & delivery teams
Rapid deployment & on-time delivery of projects
Complete transparency
Robust communication across shared channels
Agile & lean startup methodology
Experience across 16 industries

Years of Experience

Professionals

Projects Delivered

NPS on Clutch

Services
  • Software Product Development
  • Artificial Intelligence
  • Data Engineering
  • DevOps
  • UI/UX
  • Product Strategy
Case Study
  • DelightfulHomes (Product Development)
  • Sage Data (Product Development)
  • PhotoStat (Computer Vision)
  • UKHealth (Chatbot)
  • A20 Motors (Data Analytics)
  • Acme Corporation (Product Development)
Technologies
  • React
  • Python
  • Nodejs
  • Staff Augmentation
  • IT Outsourcing
Company
  • About Us
  • WotNot
  • Careers
  • Blog
  • Contact Us
  • Privacy Policy
mtechlogo.svg
Our Offices

USA 
5900 Balcones Dr Suite 100 
Austin, TX 78731, USA

India
10th Floor The Ridge
Opp. Novotel, Iscon Cross Road
Ahmedabad, Gujarat - 380060

clutch_review
goodfirms_review
Social
Social
Social
Social
©2024 Maruti TechLabs Pvt Ltd . All rights reserved.

  • Software Product Development
  • Artificial Intelligence
  • Data Engineering
  • DevOps
  • UI/UX
  • Product Strategy

  • DelightfulHomes (Product Development)
  • Sage Data (Product Development)
  • PhotoStat (Computer Vision)
  • UKHealth (Chatbot)
  • A20 Motors (Data Analytics)
  • Acme Corporation (Product Development)

  • React
  • Python
  • Nodejs
  • Staff Augmentation
  • IT Outsourcing

  • About Us
  • WotNot
  • Careers
  • Blog
  • Contact Us
  • Privacy Policy

USA 
5900 Balcones Dr Suite 100 
Austin, TX 78731, USA

India
10th Floor The Ridge
Opp. Novotel, Iscon Cross Road
Ahmedabad, Gujarat - 380060

©2024 Maruti TechLabs Pvt Ltd . All rights reserved.