Building Event-Driven Microservices: Leveraging Organizational Data at Scale
Leveraging Organizational Data at Scale
Takes you through the process of building an event-driven microservice-powered organization. Youâ€™ll reconsider how data is produced, accessed, and propagated across your organization. Learn powerful yet simple patterns for unlocking the value of this data. Incorporate event-driven design and architectural principles into your own systems. And completely rethink how your organization delivers value by unlocking near-real-time access to data at scale.
Microservices are a very popular topic these days. In many instances, it seems like Microservices is a lot like teenage sex, a lot of organisation are talking about them, some are doing it and most of them don't seem to be doing right and there are a number of accidents waiting to happen!
With our Denizon product line which includes our Ecovaro - Energy monitoring and Management suite and FieldElite - Workforce Management suite we made the exact same mistakes in the beginning. Granted at the time when we started the project circa 2009, the term microservices along with Bitcoin and cryptocurrencies were just starting to become less of an underground ideal. There was a lot to learn back then and if I'm honest the technology was nowhere near as advanced as it is today. So we could be forgiven for making a number of the naive mistakes we made.
Why I read this book
I have recently found myself more and more having to discuss microservices with a number of different stakeholders, as I have discussed previously in What are Microservices, and on the flip side I am finding more people have different perspectives and implementation ideals.
So I've been doing my best recently to read up as much as I can about Microservices. Regular visitors to my blog will know as I have previously reviewed Building Microservices: Designing Fine-Grained Systems, which in my opinion provided some great illustrations to explain some technical concepts, that could be easily understood by anyone in a business setting. I also believe the key strength of Building Microservices is that it is language-agnostic and does not necessarily steer you down any specific technology path.
I was looking for a follow up book to provide a more of high level overview Event-Driven systems, particularly when it comes to concepts related to Domain Driven Design, since the idea of domain events comes Domain-Driven Design: Tackling Complexity in the Heart of Software and even more so from a follow along book Implementing Domain-Driven Design.
This book provides an excellent high-level overview of the problems and potentials solutions to deal with flow of large volumes of data.
In fact, if you've read Building Microservices: Designing Fine-Grained Systems, particularly chapter 4 where Sam Newman discusses Integration and Orchestration Vs Choreography approaches, then you will enjoy Chapter 8 Building Workflows with Microservices, because Adam Bellemare goes into a little more detail discussing the two approaches and provides examples, situations and tooling that can help you to decide which approach will work best.
Personally for me chapters 5 Event Driven Processing Basics, Chapter 6 Deterministic Stream Processing and Chapter 7 Stateful Streaming are the areas that most interested me. Although I did also appreciate Chapter 10 Basic Producer and Consumer Microservices, which just happenend to overlap with me delving deeper in to Dapr
What I like about the book
If you are looking for practical implementation tips on how to implement Event-Driven Microservices, then unfortunately this book is not for you. However, if you want to gain a broader understanding of the intricacies of Event-Driven Microservices and would like to know and understand a lot of the pitfalls and solutions to consider in order to know what look out for when building Event-Driven Microservices then this book is for you.
I feel this book does a great job of balancing between high-level abstraction of the patterns and the low-level technical detail.
There is a lot of coverage on the various forms of event-driven applications, including how to integrate Event Driven Microservices and request/response paradigms, dealing with legacy systems.
This book provides a lot of background and information on concepts and even some of the parlance associated with Event-Driven Microservices, which as is so often with technical architectures often takes on an entire language of its own. As with all technical books, readers are bound to have different opinions and conclusions to be drawn.
Why I recommend this book
In my opinion, this books is suitable for Software Architects who want to take a Breadth versus depth approach, before deciding on which rabbit hole to go down further.
I really appreciate the level of detail, especially when it comes to describing low-level technical quirks, both for tech-agnostic and tech-specific considerations.
I found this book particularly helpful in improving my understanding of event-driven microservices, of course I'm aware different audiences will have different opinions and needs, but I found this book really useful.
This book is also very suitable for developers who are currently implementing any microservices projects, to read as a secondary source of information. Some of the topics covered in this book, may be very familiar to you, as you may find yourself implementing some similar aspects.
This book, does not guide you through any practice project of building an Even-Driven Microservices project, rather it just discusses various patterns, practices, tooling and nuances of the various approaches, that are associated with the Event-Driven Microservices paradigm..