Powering the Search for Unique Journeys
Grab is on a mission to make catching a ride easy and give people in Southeast Asia (SEA) more choice in how they move around, because they believe “transportation is a right, not a privilege”. The ride hailing company is the largest in Southeast Asia, providing more than 3.5 million rides per day for a region of 620 million people. And behind each of those rides is Elasticsearch, providing passengers with a fast and accurate way to pinpoint their location and destination. To make their offerings even better, Grab has moved to Elastic Cloud Enterprise, improving overall performance and providing Grab with the technology and support to power a wider range of services.
Grab’s Journey with Elastic
Powering location search, logging, and new capabilities
The ride hailing experience starts when a passenger opens the app and identifies where they are and where they want to be. Grab set up this critical location or “point of interest” search using an open source relational database that was familiar to one of its database administrators. The challenge with this solution, though, was that no one else knew how to manage the software, so when that administrator left the company, Grab was faced with a decision: hire a new expert or find a new solution.
Edwin Law, Data Engineering and Database Operations Lead at Grab, said, “We needed a point of interest search solution that was more commonly used and understood by administrators and developers. Elasticsearch was ideal as one of the most popular solutions for this particular use case.”
Grab made the switch to Elasticsearch in 2013 and it’s now used to index and search through millions of locations. For every point of interest, there is a document including its latitude and longitude, GPS coordinates, and exact address. Elasticsearch searches through all of these, returning results which are then scored by Grab’s own algorithms to quickly and accurately pinpoint a passenger’s location and destination.
The same year Grab adopted Elasticsearch for point of interest searches, it turned to the Elastic Stack for logging. They began using Elasticsearch, Logstash, and Kibana to store and analyse logs related to location searches and, more recently, audit logs.
The use of Elasticsearch has further evolved with Grab’s business. For example, it now supports text search of menus for the company’s food delivery service in Indonesia. It’s also being evaluated as a way to improve search capabilities for customer service. Currently, agents search for customer details and other information they need using restricted and cumbersome searches within a relational database. Elasticsearch will help them find what they need faster using more natural text search. It will also allow agents to search within a single text box instead of forcing them to complete several fields as they do now.
From Open Source to Elastic Cloud Enterprise
As Grab expanded, it simply added new infrastructure to maintain performance. However, this strategy wasn’t viable for the long term. “Our clusters were not being actively managed and we were not able to achieve linear scalability,” said Law. “We wanted to manage the clusters more proactively and optimize workloads.”
Grab explored multiple ways of deploying Elasticsearch and had used a third-party hosted Elasticsearch service in the past. However, the company needed better management tooling and wanted better performance out of their Elasticsearch clusters. High quality support for Elasticsearch support was also something they desired.
Seeking an alternative managed service and technical support, Grab set up a proof of concept on Elastic Cloud. It instantly offered improved performance and features. Just as Grab was about to switch to Elastic Cloud, Elastic Cloud Enterprise (ECE) was announced. With its introduction, Grab opted for the self-managed ECE solution over the externally managed Elastic Cloud offering.
Grab has migrated 100% of its Elasticsearch workloads into Elastic Cloud Enterprise. The transition has improved Grab’s visibility into its clusters and made provisioning resources and roles much simpler. The database administrator can spin up new clusters within minutes as compared to the days and weeks this would take in the past. All of these benefits have freed up the database administrator to spend more time with engineers to optimize workloads and empower them to produce new products.
As part of a Platinum subscription that is included with ECE, Elastic works directly with Grab to make sure the implementation keeps running smoothly That direct support has paid dividends, with Elastic’s support engineers identifying opportunities to improve Grab’s point of interest search workload. The business was able to reduce cluster load by 70% as a result.
Elasticsearch is now one of four core technologies powering Grab’s database operations. Says Law, “The flexibility and reliability of Elasticsearch combined with the support and expertise we get from Elastic and the Elastic community makes it ideal for any use case where you need to incorporate text search or sort through JSON documents.”