New Book Review: "Reactive Microservices Architecture"
New book review for Reactive Microservices Architecture: Design Principles for Distributed Systems, by Jonas Bonér, O'Reilly, 2016, reposted here:
This text provides an introductory look at Reactive microservices architecture, written by Jonas Bonér, co-author of the Reactive Manifesto. After a brief look at the general concept of microservices, Bonér quickly shifts focus to Reactive principles and why these are in no way new, having been proven and hardened since they were conceived more than 40 years ago by individuals ahead of their time. The author explains that the most important parts that define a Reactive microservice are (1) to isolate all the things, (2) to act autonomously, (3) to do one thing, and do it well, (4) to own your state, exclusively, (5) to embrace asynchronous message passing, and (6) to stay mobile, but addressable.
While discussing these microservice traits, Bonér delves into a number of other related concepts such as divide and conquer, share-nothing architecture, bulkheading, continuous delivery, domain-driven design, data streaming, and location transparency. For the remainder of the text, the author discusses microservices working together as systems, exploring a number of concepts in the process such as discovery, coordination, security, replication, data consistency, failover, deployment, and integration with other systems. A good portion of this relatively terse 50-page text is consumed by drawings somewhat reminiscent of those found in works by Martin Kleppmann, greatly enhancing the material.
My reading of this text follows my many years in the development space and a recent reading of "Building Microservices: Designing Fine-Grained Systems" by Sam Newman. If you are new to microservices, I recommend reading the report discussed here prior to investing the time needed to wade through the presentation by Newman, as it is roughly 5 times in length. And at some point, you will need to get some hands-on experience as an architect after becoming acquainted with the theory, as execution is always harder than strategy. While the author does mention a handful of tools in passing, and is the inventor of the Akka project, this report is technology agnostic with regard to the discussed concepts and you will need to access other materials to explore implementation details.