Spiegel im Spiegel
Jan. 18th, 2021 07:59 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Book Review: Microservices Patterns, by Chris Richardson
This had been on my radar for a while, and although I would have preferred a Kindle edition, it was listed as "under review" on Amazon, with the suggestion that tables or graphics weren't properly rendering, so I opted for the dead-tree version instead.
There's the question of when it's appropriate to read a book on patterns. Every computing topic now seems to have its own patterns book, since the original. It's not really for the beginner, because it doesn't cover the basics (perhaps Sam Newman's book is better here); for more expert users, does it have anything to offer? I often find that retrospective reading formalises and reinforces what has been learnt on the job, or indicates alternative paths that could have been chosen. This is a book that fulfils those objectives. In particular, I learnt more on sagas, a clearer exposition of CQRS, a little on DDD (about which I am still a bit sceptical), and a useful introduction to service meshes and istio (where I could well imagine some details evolving rapidly, but concepts remaining valid). On API gateways, testing, observability and containerisation I was on firmer ground.
There are drawbacks too, though. A lot of the heavy lifting is done using the author's own Eventuate Tram framework, which fills a niche but is hardly commonplace. Admittedly it's an area where there is no gorilla, and I think many people (myself included) roll their own, accepting potential inconsistencies and coming up with alternative strategies to deal with them. Although there's a list of patterns on the inside cover, it's a shame that the diagram on microservices.io isn't included in the book, as this would help to draw the patterns together.
This had been on my radar for a while, and although I would have preferred a Kindle edition, it was listed as "under review" on Amazon, with the suggestion that tables or graphics weren't properly rendering, so I opted for the dead-tree version instead.
There's the question of when it's appropriate to read a book on patterns. Every computing topic now seems to have its own patterns book, since the original. It's not really for the beginner, because it doesn't cover the basics (perhaps Sam Newman's book is better here); for more expert users, does it have anything to offer? I often find that retrospective reading formalises and reinforces what has been learnt on the job, or indicates alternative paths that could have been chosen. This is a book that fulfils those objectives. In particular, I learnt more on sagas, a clearer exposition of CQRS, a little on DDD (about which I am still a bit sceptical), and a useful introduction to service meshes and istio (where I could well imagine some details evolving rapidly, but concepts remaining valid). On API gateways, testing, observability and containerisation I was on firmer ground.
There are drawbacks too, though. A lot of the heavy lifting is done using the author's own Eventuate Tram framework, which fills a niche but is hardly commonplace. Admittedly it's an area where there is no gorilla, and I think many people (myself included) roll their own, accepting potential inconsistencies and coming up with alternative strategies to deal with them. Although there's a list of patterns on the inside cover, it's a shame that the diagram on microservices.io isn't included in the book, as this would help to draw the patterns together.