Disclosure: I may earn affiliate revenue or commissions if you purchase products from links on my website. The prospect of compensation does not influence what I write about or how my posts are structured. The vast majority of articles on my website do not contain any affiliate links.
Building Microservices: Designing Fine-Grained Systems by Sam Newman.
Rating: ★★★★★
Date Finished: May 21, 2017
Reading Time: One day
This was the most enjoyable technical book I’ve ever read. Though I haven’t read many technical books. What fascinates me about microservices is the fact that mastery is attainable. There is a lot of upfront work required to develop a robust chassis and an accompanying deployment/monitoring/authentication/etc pipeline, but the benefit is that, for less critical applications, you can start small and worry about adding the rest later. Maybe way later. Microservices are fun and approachable to build from scratch, and, though many practitioners are more likely to be tearing down a monolith and thus be facing immense pressure from the get-go, I hope that they one day can experience building a webservice ecosystem from the ground up without inflated expectations. It is an adventure in big picture problem solving combined with thinking critically about business requirements that might not exist yet.
Over the last few months, I have become increasingly involved with the fledgling services department at work. Many times, while improving the chassis or building new services I have paused and let my curiosity get the best of me. Who is doing this better? What’s the ideal approach? Should I be rolling my own _____? When picking up this book, I was at least vaguely familiar with each topic, and my takeaway is that Sam Newman has done it all a great justice. In the span of 280 pages, he’s succinctly evangelized this new approach and provided a solid reference and overview. I am much better prepared to tackle the challenges I face on a daily basis.
While some may be concerned about lack of depth, I think that for many of the technologies covered it would have been plain silly to keep going. No, reading the overviews aren’t going to make you an expert. But, the standards can change so fast and the book contains so little fluff that it makes sense for it to have been constructed this way. For this reason, the book has staying power even as the surrounding technologies morph and evolve.
There are many pain points surrounding developing microservices. Some will be business domain specific. While they may be glossed over at times, the big picture provided in the book is still realistic. The examples given–namely Netflix–are examples of perfect, ideal, industry-leading architecture. It’s a standard to strive for but that level of expertise is not required from the start. Does a team of 5 have the resources to emulate the world-class? You can certainly try, and, realistically, I think that reaching an elite tier of competence and function is attainable.
Whether you are familiar with microservices, suspect you may be in a position to implement microservices, need to learn microservices by tomorrow, or are just looking for a fun technical book to read- your search should end here.
See this review and others on Goodreads.com