Grofers

Grofers Releases Software 84% Faster with Amazon EKS

2020

Groceries on Demand

In India, the online grocery market is projected to grow from about $569 million in 2018 to $3.6 billion by 2024. This growth is largely attributed to the rising numbers of internet and smartphone users, working women, and tech-savvy millennials. As India’s largest, low-price online supermarket, Grofers seeks to make grocery shopping more convenient and efficient for consumers, offering an online grocery-ordering platform via web and mobile to customers across 32 Indian cities. The business manages a network of over 10,000 partner stores to run a fast and lean supply chain, delivering 30 million products to customers every month.

kr_quotemark

“With Amazon EKS, we can meet our customers’ need for speed while maintaining our quality standards day in and day out.”

Vaidik Kapoor
Vice President of Engineering, DevOps & Security, Grofers

Handling a Tenfold Increase in Traffic

August is a particularly busy sales month in India, with retailers taking advantage of public holidays such as Independence Day, Parsi New Year, and Ganesh Chaturthi to launch special offers. Grofers recognizes that it must prepare its infrastructure to cope with web traffic spikes associated with these occasions or risk experiencing outages. Vaidik Kapoor, vice president of engineering, DevOps and security at Grofers, says, “We have an internal engineering team that manages our technology infrastructure. Historically, the team will start site preparations 60 days in advance to be ready for an up to tenfold increase in traffic.”

Developing with Both Speed and Quality Control

Grofers sought to reduce the time it was taking to handle these increases. The business knew it had to make improvements to its infrastructure that would help increase the efficiency of its day-to-day development processes as the business continues to grow. However, it would be a costly option to add more resources. Additionally, speed and quality control are just as vital because software glitches could slow down site performance, leading to abandoned shopping carts.

The company has about 110 developers working in 17 teams and releasing software 10–20 times a day for more than 80 microservices. Kapoor comments, “To maintain speed and quality, the focus of developers needs to be on writing code as much as possible.” However, developers were losing that focus because the existing tools and processes used to manage the company’s development environments were causing delays. He adds, “Staging environments could only be provisioned and used by developers one at a time, leading to queues of people waiting for about one to two days to test their code.”

Searching for the Right Kubernetes Tool

The Grofers platform runs on the Amazon Web Services (AWS) Cloud, with its Kubernetes infrastructure running on Amazon Elastic Compute Cloud (Amazon EC2) instances. However, the company wanted to simplify its processes. The goal was to focus on automating application deployment and scaling as well as on reducing management overhead and incidents due to mismanagement or misconfiguration of Kubernetes.

Kapoor says, “It took a significant amount of time to understand and work on tasks such as network and DNS settings, using available open source tools such as Kops. It was never clear what the settings should be to get the right kind of performance from our Kubernetes cluster.

This caused a lot of network jitter and latency issues, which could not be attributed to changes in code. The time we spent on these tasks could have been spent on development and improving engineering operations.”

Reducing Administration Time to Near Zero

After consulting with its AWS account management team, Grofers found its answer by shifting from Kops to Amazon Elastic Kubernetes Service (Amazon EKS), a fully managed Kubernetes solution. With Amazon EKS, Grofers streamlined its management process—bringing administration time down to almost zero—so developers have more capacity to write code. Since Grofers migrated to Amazon EKS, the business has not experienced any network jitter or latency issues.

Furthermore, time spent on configuration work on the Kubernetes clusters is now allocated to development. Kapoor says, “We started using the time savings to build additional automated testing processes and monitoring components on top of our microservices environment to better control quality assurance. It’s now easier to identify sub-optimal code at an earlier stage, cutting out bugs sooner in the process.” The business has also removed any delays caused by shared staging environments, seamlessly provisioning hundreds of new development and staging environments a day—each in under 10 minutes.

Releasing Mobile Apps 84% Faster

Through automation and reduced management time, as well as the ability of developers to self-serve staging environments to eliminate queues, development processes are now quicker. For instance, large-scale software releases for Grofers’ mobile apps can now be completed in seven days, when they previously could take up to 45 days. Additionally, site preparation for sales periods takes just 15 days instead of 60, leaving developers with more time to focus on building new features for the business. “There is no development speed that will ever be fast enough for our business, so we continually look to improve,” says Kapoor. “Our customers expect a high level of service, so the quality of our code is paramount. With Amazon EKS, we can meet our customers’ need for speed while maintaining our quality standards day in and day out.”


About Grofers

Grofers is India’s largest, low-price online supermarket. It manages a network of over 10,000 partner stores to run a fast and lean supply chain across more than 30 Indian cities.

Benefits

  • Releases software 84% faster
  • Prepares site for sales 75% quicker
  • Enables self-service testing environments
  • Reduces administration time to near zero
  • Improves quality-control processes

AWS Services Used

Amazon Elastic Kubernetes Service

Amazon Elastic Kubernetes Service (Amazon EKS) is a fully managed Kubernetes service. Customers such as Intel, Snap, Intuit, GoDaddy, and Autodesk trust EKS to run their most sensitive and mission critical applications because of its security, reliability, and scalability.

Learn more »

Amazon Elastic Compute Cloud

Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides secure, resizable compute capacity in the cloud. It is designed to make web-scale cloud computing easier for developers. Amazon EC2’s simple web service interface allows you to obtain and configure capacity with minimal friction. It provides you with complete control of your computing resources and lets you run on Amazon’s proven computing environment.

Learn more »


Get Started

Companies of all sizes across all industries are transforming their businesses every day using AWS. Contact our experts and start your own AWS Cloud journey today.