- Insights This article was written by a TIA community member. Insights pieces undergo the same rigorous editorial process that newsroom-produced articles have.
How a framework helps Grab engineers keep up with the company’s rapid growth

Photo credit: Andor Bujdoso / 123RF
This article was co-authored by Michael Cartmell and is part of Tech in Asia’s content partnership with Grab. Visit their engineering blog here.
Grab’s evolution from a single monolithic application to a microservices-based architecture has come a long way. However, with any technology adoption comes challenges. The new architecture created hurdles around logging, monitoring and instrumentation, and traceability.
As Grab rapidly expands its services and teams, the engineering team is faced with yet another challenge: how do we support exponential growth while maintaining consistency, coordination, and quality?
Our Grab Developer Experience team came up with the following solution: Grab-Kit, a framework for building Go microservices.
A framework to solve it all
Grab-Kit is designed to create a fully functional microservice scaffolding in seconds, allowing engineers to focus on the business logic straight away. It simplifies the creation and operation of microservices, using smart library configuration defaults, automatic initialization, context propagation, and runtime framework configuration. Moreover, it provides standardization of communication across services.

We no longer need to spend long hours generating boilerplate code, initializing common libraries, creating dashboards and alarms, or creating data access objects (DAOs). Instead, we can now concentrate on delivering scalable and agile services.
The heart of Grab-Kit
The inspiration behind the framework is Go-Kit, but Grab-Kit goes beyond that. For example, Grab-Kit has added automatic code generation, which saves efforts required in writing boilerplate code for both server and client service sides. While Go-Kit proposes techniques for microservices, there is still a lot of manual work involved in implementing them. In contrast, Grab-Kit actually helps us focus on the business logic by doing this work for us while codifying all best engineering practices around distributed service design.
We’ve presented some of the problems Grab-Kit tries to solve in two categories: standardization and automated dashboard generation.
Standardization
The underlying intention of Grab-Kit is to gain consistency across services in the following components:
Service definitions
Stay updated on the go with our mobile app.
Get latest insights with smoother, more personalized experience through TIA mobile app.






