Building Microservices - Sam Newman


I recently turned the last page of Building Microservices by Sam Newman, and I really enjoyed it. It’s a book that was a lot more broad than I expected. It stretches across much of the software development landscape. It’s not just a dive into the technicalities of microservices, but a well-rounded examination of modern software engineering practices.

When I started my new job at FloSports, I pivoted from developing monolithic applications with (for the most part) just a frontend, backend, and database and fairly simple deployments, to navigating the complexities of Kubernetes and microservices. This book would’ve been an invaluable compass during that transition. Since I read it a bit later, it stitched together the scattered lessons I learned along the way and packs them into a single, coherent narrative.

Calling this a book solely about microservices seems a tad misleading—it’s more like “a survey of modern software engineering”. Interestingly, it’s the first resource I’ve come across that covered the Backend for Frontend (BFF) pattern, a concept I’ve grown quite accustomed to in the last year or so. I’d love to find more written content on this architecture.

What I valued immensely was the book’s balanced perspective, spotlighting the drawbacks and necessitating an evolution in your organization’s structure, technological stack, and engineering ethos to truly reap the benefits of microservices. It’s not a silver bullet; it comes with its own set of intricacies. Newman even cautions small teams against rushing into this architecture because there is significant overhead.

The book touches upon a myriad of topics, acknowledging that it’s merely the tip of the iceberg in some areas. However, it doesn’t leave you stranded. The further reading it suggests is on point, expanding my reading list with some noteworthy titles or paying homage to classics in our field.

By the end, my Kindle was brimming with over 350 highlights, which I believe is more than any other book I’ve read. I was feeling like I constantly had to highlight which is a testament to the book’s engaging and thought-provoking content. It may not be as densely packed with information as some other texts, but its conversational tone and digestibility made it remarkably memorable.

Building Microservices is not just about the architectural pattern; it’s a reflective journey through the shifting paradigms of software development. If you’re at all interested in microservices, even if you are not using them, I can recommend reading this book.