Cla78 -

How Indonesia’s Go-Jek scales the heights with cloud

The unicorn’s microservices-based application architecture on the cloud has been key in supporting its growth in Indonesia – and now Southeast Asia

With just 250 developers working on a dazzling array of services, Go-Jek, Indonesia’s largest ride-hailing, logistics and digital payments app, has one of the leanest teams for a platform that processes more than 100 million transactions a month.

Go-Jek’s user base is just as impressive: over 250,000 drivers, 100,000 restaurants and 7,000 other service providers now rely on the app to serve up local street food, ferry people, and even supply massage and laundry services on-demand in more than 50 cities across Indonesia.

With the huge scale on which Go-Jek operates, along with expansion into other Southeast Asian cities such as Ho Chi Minh City already set in motion, the use of cloud services has been critical in supporting its growth.

Since 2015, Go-Jek has been using Google Cloud Platform (GCP) to power its entire microservices-based application infrastructure, which includes PostgreSQL databases, Kafka for its messaging bus, and edge proxies. It has since added Chef to manage application configuration and Ansible to manage system configurations.

One of the key architectural decisions surrounding microservices is service granularity. In Go-Jek’s case, fetching customer details and authenticating users take the form of microservices, while the firm’s content management system does not.

“We look at microservices in terms of frequency of access rather than functions,” said Ajey Gore, Go-Jek’s group CTO. “Some parts of our systems are used two million times a day, which is not much given the scale we work at.”

I believe software development is a craft, and you should not go off the charts the more senior you become. If you’re a big chef, you wouldn’t stop cooking and focus on managing other chefs. Craftsmen always create something
Ajey Gore, Go-Jek

More importantly, a microservices-based architecture has given Go-Jek the ability to isolate faulty processes and keep its application humming. “We can shut down something or make things a little slower so we can continue serving people,” said Gore.

Go-Jek is also using Google Maps to help its drivers and riders get around some of the most traffic-clogged streets in the world. “We can draw the routes, but making traffic predictions and ascertaining the best routes to take is not our core competency right now,” said Gore.

Within one function in one service alone, Go-Jek generates billions of events a day, with multiple functions running across multiple services. To analyse this trove of data that balloons to 3TB to 4TB a day, it is using Google’s BigQuery service, which comes with machine learning capabilities to identify new business opportunities and areas for improvement.

“Driver pings, for example, will let us know where drivers hang out together,” said Gore. “In Jakarta, there are places called pangkalan where drivers gather and go back to immediately after a job. Knowing this enables us to optimise their trips so they can pick up riders on the way back.”

Go-Jek’s use of the cloud, however, does not extend to Go-Pay, its digital payments service run out of its own datacentre. The reason is that Indonesia’s data sovereignty laws require financial data to be held locally, not in offshore facilities.

But if Gore had his way, he would rather stick with public cloud services, noting that his team has been running containers in Go-Jek’s on-premise datacentre with some degree of pain.

“There is a thin line between being courageous and understanding your limitations,” he said. “We thrive on moving people and goods, so if we can have someone else take care of the infrastructure, we would rather do that and focus on the product.”

Read more about microservices and cloud computing

Organisations that are looking to emulate Go-Jek’s success could also take a leaf out of its management philosophy. For one, its technology teams are “flat” with no organisational hierarchy, and everyone, including Gore himself, is expected to be hands-on.

But Gore noted that it is now harder to find senior talent in India, Indonesia and Singapore who are willing to get their hands dirty.

“I believe software development is a craft, and you should not go off the charts the more senior you become,” he said. “If you’re a big chef, you wouldn’t stop cooking and focus on managing other chefs. Craftsmen always create something.”

If anything, the only hierarchy that exists at Go-Jek is what Gore calls “intellectual hierarchy”, not imposed organisational hierarchy. “Once you have that, things will bloom like in a well-lit garden, one that gives people enough room to grow,” he said.

Read more on Cloud computing services

Data Center
Data Management