preface

 

Over the past five years, the microservice architectural style — structuring applications as fine-grained, loosely coupled, and independently deployable services — has become increasingly popular and increasingly feasible for engineering teams, regardless of company size.

For us, working on microservice projects at Onfido was a revelation, and this book records many of the things we learned along the way. By breaking apart our product, we could ship faster and with less friction, instead of tripping over each other’s toes in a large, monolithic codebase. A microservice approach helps engineers build applications that can evolve over time, even as product complexity and team size grow.

Originally, we set out to write a book about our real-world experience running microservice applications. As we scoped the book, that mission evolved, and we decided to distill our experience of the full application lifecycle — designing, deploying, and operating microservices — into a broad and practical review. We’ve picked tools to illustrate these techniques — such as Kubernetes and Docker — that are popular and go hand in hand with microservice best practice, but we hope that you can apply the lessons within regardless of which language and tools you ultimately use to build applications.

We sincerely hope you find this book a valuable reference and guide — and that the knowledge, advice, and examples within help you build great products and applications with microservices.