Zomato is an India-based restaurant aggregator and food delivery company with more than 350,000 listed restaurants across more than 700 cities in India. In late 2020, Zomato engaged Amazon Web Services (AWS) to migrate Profile Store, its in-house feature store, to a new database. After the migration, Zomato achieved a near-100 percent uptime even during peak periods, such as Diwali and New Year’s Eve.
Challenges
Zomato’s developers previously spent a significant amount of time managing the Profile Store using a NoSQL database. During peak periods, when traffic would increase by as much as 2.5 times, developers from multiple teams had to spend a couple of weeks analyzing metrics and up to 2 days to provisioning additional resources. If sudden traffic spikes exceeded the forecasted resources, it could lead to downtime as well.
Initiatives
In October 2020, Zomato began working with AWS to migrate Profile Store’s database to Amazon DynamoDB. Zomato chose Amazon DynamoDB as it already had other workloads running on the service, and it had proven to be scalable and reliable. The entire migration process was completed by December 2020. “Profile Store plays an integral part in driving new features on the Zomato App,” shared Aanchal Singh, engineering manager at Zomato. “Amazon DynamoDB allows us to successfully cater to requirements while meeting our service-level agreements.”
Results
Since the migration, Zomato has handled more than 2.5x spikes in transaction volume without extensive pre-planning or downtime. Profile Store was benchmarked to handle up to 17.5 million requests per minute (RPM) and was able to manage 12 million RPM on 31 December 2020 without any performance degradation. On 31 December 2021, the platform processed 50 percent more orders than the daily average.