Hitting The Books: Short Review Of The "Building Microservices" Book

2021-12-15
hitting the books
microservices
Service-Oriented Architecture
books
system design
distributed systems

What Book?

Building Microservices book cover

One of the recent curiosity-induced reads I went through (significantly influenced by outcomes of the job search and the current IT development market conditions) is the "Building Microservices" book by Sam Newman.

General Impression

I was at first concerned with the size - it's almost 600 pages (586 to be precise), and large books usually mean lots of too specific details (think code listings) or too diluted information (think lots of stories and repetition of ideas). But it was highly recommended, so I decided to give it a try (although it's not the cheapest book either).

And I have to say I don't regret my decision - even though the book is titled "Building Microservices", it's actually about building distributed systems in general. Or even broader, it's about making decisions for the system design: monolithic architectures are mentioned in the book almost as often as service-oriented ones, and it's emphasised repeatedly that the reader might not need to consider neither SOA in general nor microservices in particular, as solid monolith might work just fine (for instance, if the project in a startup with rapidly changing directions, uncertain future and a small team where everyone works on everything).

So in the end the size of the book was well justified as it covers a variety of subjects - storage, deployment, monitoring, scaling, UI decomposition, team scope and responsibilities and so on and so forth. And it also does in a fairly succinct yet clear fashion, which makes it really easy to understand and inject the information. Additionally, it has a lot of references to other useful materials with more specifics on each subject.

Conclusion

It's still a lot of information, and in some parts it's still too specific and detailed, while in the others it's vague and imprecise. Not everything will stick and be easy to recall after time, and not every chapter has a clear action points to extract. But it's a good reference to come back to when needed, and I feel like I've learned a lot from this book - even when it describes the already known techniques and aspects, it still does that in a way I wouldn't be able to do myself.