Currently, Bukalapak is transitioning from an monolithic architecture into a microservice-based architecture for its entire software system. This is a massive undertaking that encompass splitting of an massive, single components that did everything to chunks of small components that do one thing really well and make them interconnected.
A key component of Bukalapak’s microservice strategy is Kubernetes. An open source cluster management application from Google, Kubernetes allows Bukalapak to easily orchestrate the creation, deployment, and management of Bukalapak various microservices. Bukalapak run Kubernetes in our on-premise data center on top of baremetal servers – there are about 120 Kubernetes worker servers that handles 3000+ containers/pods in production right now.
Q: Why Bukalapak uses Kubernetes?
A: It’s because Bukalapak is growing very rapidly. Our number of users and transaction are increasing day by day and this also resulted in an continued data growth for Bukalapak. To handle all those load Bukalapak need to transition from a monolithic architecture to a microservice architecture and Kubernetes is the right platform to help Bukalapak achieve that.
Q: What is the main challenge of implementing Kubernetes?
A: Our main challenge is to set up Kubernetes cluster from scratch. We basically started from 0 and have to learn everything about Kubernetes – the cluster components, how to set up, and how to maintain it. Kubernetes is also on its early days when we start using it so resources are pretty scarce and we can only depend on the official manual / documentation. We also need to create various automation tools to set up and provision Kubernetes at our data center
Q: What is the impact of Kubernetes for Bukalapak?
A: It’s basically make lives easier for our software engineers and infrastructure engineers. Our software engineers in product squad can create, develop, deploy, and test individual services without disturbing other services and doesn’t need to think about the infrastructure. From system engineers side, it allow us to make Bukalapak application to become more scalable and more resilient with high availability.
Q: What’s next for Kubernetes in Bukalapak?
A: We are always looking for ways to enhance how we use Kubernetes in our day-to-day operations. For example, right now we only use Kubernetes to manage stateless microservices – there is no persistent data allowed inside containers/pods. However, we are currently developing a way to support stateful microservices by providing a persistent shared storage system using CEPH – a highly scalable and open source block storage system.
Interested on working with highly scalable open-source infrastructure like Kubernetes? Join our infrastructure team 😀 visit our career page for further information at careers.bukalapak.com