Microservices for everyone is a catalog of the major design choices you have to make when you're setting up a system of microservices. Amongst many things, you'll learn about asynchronous integration, independent deployability, continuous delivery, and immediate versus eventual consistency.
If you keep this book within reach, you should be able to safely navigate the daunting, yet wonderful world of microservices. Besides the basics, this book contains many references to further reading material.
I like Matthias and all the work he is doing (books, presentations, etc.) around the PHP community. I may had too high expectations around the book (maybe because of the title and the foreword from Vernon). I think this book is a 3,5 stars and I’ll explain why.
I have the feeling that this is a book that Matthias was really interested in writing. I think he was searching ways to deep in topics that he is interested such as Microservices, Docker and Domain-Driven Design. This topics are difficult to see together. Matthias has done a good job about fixing that. In this book, he summarizes and brings together some important concepts (trade-offs, messaging over sync, deployability, data locality, etc.). However, I think he remains in the surface in most of them. He explains that in the intro.
If you are a newbie on Microservices, the book will be useful for being introduced in such concepts so then you can investigate on your own. If it’s not your case, Matthias grasps just the surface of such topics. Sometimes, it’s even not mentioned the trickiest parts of the solutions proposed. So, I don’t see the book as a guide, neither as a reference. It’s probably more a getting started or where to start book.
As improvements, sometimes I don’t understand the order of the content. It may be interesting to go deeper on specific topics (messaging, for example), I don’t know if Docker is bringing enough value to the book. Maybe a short book on “Docker from Development to Production” should be the place.