Talabat Improves Database Reliability by 60%, Boosts App Performance by 20% Using Amazon Aurora and Amazon ElastiCache
Since its inception in 2004, Talabat, an online food delivery company, has been experiencing steady growth. In 2020, Talabat’s main SQL server database had reached 2.5 TB and was growing rapidly. However, as the company grew, its on-premises monolithic infrastructure was beginning to experience latency and connectivity issues.
One of the reasons we chose Amazon Aurora was the serverless technology and the scalability that using it provides.”
Senior Database Administrator, Talabat
Talabat knew that reaching its growth target would mean that the company would soon exceed the capabilities of its on-premises infrastructure. The company had already selected Amazon Web Services (AWS) to run the Talabat app due to the diverse set of services that AWS offers, so the company decided to harness the power of the cloud using AWS to run the rest of its infrastructure. As a result, Talabat realized an over 20 percent improvement in overall app performance, experienced an over 60 percent improvement in database reliability, and freed up company time and resources to focus on innovation and overall business transformation.
Encountering Issues with On-Premises Infrastructure
Talabat was founded in Kuwait but has since expanded to serve nine countries in the Middle East. Much of that growth happened after 2018, when the company began using AWS to run its food delivery app. As Talabat grew, it knew that it would need to make changes to provide better service to its customers. However, there was a limit to how much it could expand its on-premises infrastructure. “With our growth target, we realized we would hit the ceiling pretty quickly,” says Adel Khalil, vice president of engineering at Talabat. “Even after the team exhausted all the optimizations that they could do with our current database setup, we knew that at a certain month we would hit our limit.”
The company began modernizing critical services to address latency and connectivity issues. With the arrival of the COVID-19 pandemic, however, Talabat experienced a sudden burst of growth, and its on-premises data center couldn’t scale to handle the increased traffic. “We were growing very quickly,” says Khalil. “This posed a lot of challenges from both a technology perspective and from a staff perspective.” To provide a better customer experience and to simplify server maintenance and operational tasks, Talabat decided to migrate fully to AWS and to modernize as it went forward.
Migrating to a Fully Managed Database for Cost and Time Savings
For a fast, minimally disruptive migration to the cloud, Talabat opted to do a lift-and-shift migration, which began in the second half of 2020. The company took part in the AWS Migration Acceleration Program (AWS MAP)—a comprehensive and proven cloud migration program based on the experience of AWS migrating thousands of enterprise customers to the cloud—to fully migrate and modernize its databases on AWS as it went forward.
To replace its SQL server database, Talabat selected Amazon Aurora, a MySQL- and PostgreSQL-compatible relational database built for the cloud that combines the performance and availability of traditional enterprise databases with the simplicity and cost-effectiveness of open-source databases. “One of the reasons we chose Aurora was the serverless technology and the scalability that using it provides,” says Ashif Shaikh, senior database administrator at Talabat. “It saves a lot of time and cost.”
Talabat noticed that many of its Aurora queries were able to be cached, so the company chose to use Amazon ElastiCache—a fully managed, in-memory caching service supporting flexible, near-real-time use cases. Using Amazon ElastiCache improved the performance of Aurora even further during the migration by reducing latency and easing the backend database load. Talabat also turned to AWS Elastic Beanstalk, an easy-to-use service for deploying and scaling web applications and services. “One of the services that played a huge role for us during the migration was AWS Elastic Beanstalk,” says Oluwaseun Obajobi, foundation tribe lead at Talabat. “Using it saved us a lot of time in terms of refactoring and made the migration much simpler.” The migration was completed in May 2021.
Using a fully managed database has simplified Talabat’s day-to-day operational tasks as well. “Previously, to increase capacity on the physical servers, we had to take the server down, move the database, and then return the database to the server,” says Shaikh. “That was a big task. Now, we can do it on the fly using AWS.” In the past, it had taken Talabat 2–3 weeks to provision a new database. Limited network capacity meant that the customer experience was also impacted. “By moving to a managed database on AWS, we don’t even have to worry about it,” says Obajobi. “We can provision a new server with just a click. And even when there’s a lot of traffic, it scales with minimal customer impact.” Using Aurora and Amazon ElastiCache together has resulted in an improvement of more than 60 percent in database reliability and more than 20 percent in overall app performance.
Additionally, Talabat now has full observability of its database. Previously, to monitor a database, the company had to log in to the database and run manual queries. “One of the things we lacked with our old database was observability,” says Obajobi. “It was very hard for us to detect if there was any issue, whether it was related to the database, the connection, or the application.” Now, using Aurora, anyone who has control access can quickly check queries and take action. Talabat has gone successive quarters with zero database-related scalability incidents.
To help its engineers and developers become more familiar with the AWS environment, Talabat participated in AWS Training and Certification, which helps individuals build and validate skills to get more out of the cloud. The training plan involved improving the Talabat teams’ knowledge of data analytics and database management. Engineers and developers can now better manage the environment, which encourages innovation. “Training was a huge success,” says Obajobi. “A big part of our culture is ‘You build it, you run it.’ By introducing this training on AWS, we noticed that the development team was much more confident in picking the right tool.”
Continuing to Build on a Solid Base
Talabat looks forward to continuing to use AWS to improve its solution. “One of the questions we’re always asking is, ‘Is there a better way to do this?’” says Khalil. “We’re always trying to figure out if there is a new service or update that will make our lives easier.”
In the next 12–18 months, the company hopes to use AWS to spread its workload across multiple regions. This would give Talabat the ability to expand to additional nearby countries or even globally. “When we’re running in multiple regions, we can serve customers from regions closer to them,” says Obajobi. “Using AWS, we have that flexibility.”
Founded in Kuwait in 2004, Talabat is a food and grocery delivery company connecting customers with their favorite restaurants. Talabat’s app serves Kuwait, Saudi Arabia, the United Arab Emirates, Bahrain, Oman, Qatar, Jordan, Egypt, and Iraq.
Benefits of AWS
- Improved database reliability by over 60%
- Increased overall app performance by over 20%
- Experienced zero database-related scalability incidents in successive quarters
- Realized time and cost savings related to database management
- Increased scalability
- Improved employee knowledge of data analytics and database management
AWS Services Used
AWS Migration Acceleration Program
The AWS Migration Acceleration Program (MAP) is a comprehensive and proven cloud migration program based upon AWS’s experience migrating thousands of enterprise customers to the cloud.
Amazon Aurora is a MySQL and PostgreSQL-compatible relational database built for the cloud that combines the performance and availability of traditional enterprise databases with the simplicity and cost-effectiveness of open source databases.
Amazon ElastiCache is a fully managed, in-memory caching service supporting flexible, real-time use cases. You can use ElastiCache for caching, which accelerates application and database performance, or as a primary data store for use cases that don't require durability like session stores, gaming leaderboards, streaming, and analytics.
AWS Elastic Beanstalk
AWS Elastic Beanstalk is an easy-to-use service for deploying and scaling web applications and services developed with Java, .NET, PHP, Node.js, Python, Ruby, Go, and Docker on familiar servers such as Apache, Nginx, Passenger, and IIS.
More Travel & Hospitality Customer Stories
no items found
Organizations of all sizes across all industries are transforming their businesses and delivering on their missions every day using AWS. Contact our experts and start your own AWS journey today.