Customer: One of the India’s largest online marketplace
The customer decided to modernize its applications from running on a virtual machine (VMs) to a container-based deployment. Shifting from VMs to containers allows developers to deliver changes in a fraction of the time in a cost-effective way. And once an app is in a container, it’s portable. So the team can move it freely from AWS to Azure to Google Cloud, back to on-premise, optimizing the benefits of a hybrid environment. Customer anticipated that the demand for women fashion products would grow quickly and would spike during sales and other promotional events. As the team scaled, the deployment process became a bottleneck. The team was frequently troubleshooting deployment failures, which caused delays and missed target dates. The customer’s Azure-based platform was hosted on the Google Cloud Platform and comprised approximately 25 servers, the majority based in Central-India.
Powerup conducted detailed cloud compatibility assessments to chart out-migration of the existing platform to a scalable and highly available Google Kubernetes Engine (GKE) Cluster predominately hosted in Asia-South Region. GKE is a managed, production-ready environment for deploying containerized applications. The migration was conducted in multiple waves to ensure that customer production is not affected. At the end of the migration application, the customer was expected to bill around US$0.15 million annually.
The figure below illustrates the migration roadmap and the steps are explained further:
- Separate Virtual Private Cloud (VPC) created for Production / Stage Environment
- HA K8s Private cluster is provisioned through GKE
- MySQL VM Provisioned and installed through Terraform modules
- Kafka VM Provisioned and installed through Terraform modules
- 4 Pool is created in Kubernetes
- Each pool has the following stateful components
Stateless Application Microservices are deployed in each pool according to the priority of the microservices Ingress Load balancer is deployed in the K8s for the routing the traffic to the microservices.
Going through the modernization process helped the team increase its velocity and optimize costs. Deployments were seamless and automated. This enables the team to deploy more frequently to lower environments and reduces the amount of time it takes to roll out a new version to production. Costs came down by 40% as the customer moved to a container platform. Moreover, now that the application is running in a container, it is portable between on-premise and public cloud environments.
Managed Kubernetes, Java Spring boot, Redis, MySql, EKL, MongoDB, Kafka.