Hitting The Books: Short Review Of The "Building Microservices" Book
What Book?
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.