Production Ready Microservices at Scale

By Rajeev N Bharshetty

Elevator Pitch

Writing Microservices which can withstand the unpredictable nature of the production environment at scale is a non-trivial task. Certain practices can help make our systems more predictable, transparent and resilient. For developers this means more confident and continuous deployments.

Description

Microservices are trendy and everyone is talking about it. Deploying microservices which can withstand the unpredictable nature of production is hard. It needs a certain level of discipline. One of the biggest challenges for organisations that have adopted the microservice architecture is operational and architectural standardisation. In this talk we discuss a checklist of things to keep in mind when taking any microservice live in production. We discuss things learned in making systems more predictable, observable and resilient.

This talk is for everyone who wants to be confident in taking services live in production more frequently with less failures.

Notes

We will answer some of the following questions in the talk:

  • How Standardization of certain practices is the key for continuous deploys with less downtimes ?
  • Discuss the need for introducing Production readiness checklist in GO-JEK
  • How to implement this checklist in Go microservices ?
  • Discuss checklist items like building Observability, Canarying, Runbooks, Rollbacks etc
  • How this standardization has helped GO-JEK developers be more confident when deploying ?

Having worked with distributed systems at scale with high uptime requirements at GO-JEK, most of these patterns/practices are learnt the hard way. The talk will be culmination of all my experiences in building these systems at scale.