Software development today is embracing events and streaming data, which optimizes not only how technology interacts but also how businesses integrate with one another to meet customer needs. This phenomenon, called flow, consists of patterns and standards that determine which activity and related data is communicated between parties over the internet.
This book explores critical implications of that What happens when events and data streams help you discover new activity sources to enhance existing businesses or drive new markets? What technologies and architectural patterns can position your company for opportunities enabled by flow? James Urquhart, global field CTO at VMware, guides enterprise architects, software developers, and product managers through the process.
Learn the benefits of flow dynamics when businesses, governments, and other institutions integrate via events and data streamsUnderstand the value chain for flow integration through Wardley mapping visualization and promise theory modelingWalk through basic concepts behind today's event-driven systems marketplaceLearn how today's integration patterns will influence the real-time events flow in the futureExplore why companies should architect and build software today to take advantage of flow in coming years
I've reached for this book because of its author: a person with incredible knowledge and experience.
Unfortunately, I can't say I liked the book, for several reasons: 1. It's over-theoreticized, and in a bad way - some considerations are really non-trivial, but it doesn't feel like they bring anything valuable in the end 2. I'm still struggling to determine who's the proper audience, it feels like Urquhart was not sure either. 3. The author reached for very interesting tools to address the flow architectures: the promise theory and Wardley maps. When it comes to the former, I like the idea, but it appears over-explored (is given too much space in a repetitive way). And about the latter - Wardley maps are a very interesting mental model, but unfortunately with a very limited applicability (usage) IMHO - TBH I don't see much value in using them in this book.
Sadly, I don't think this book has brought anything new to the table. It feels like Urquhart had a shadow of the idea, he was not sure where writing will lead him, but he hoped it will be good. IMHO he was wrong (with all the respect) - the same portion of raw, objective knowledge could have been delivered in 3 blog posts. Why 3? Not because there would be too much content for 1, I'd just tailor the message to 3 separate recipient groups: non-tech, top level mgmt and tekkies.
This is actually a good book as a thesis on the theory of flow architecture. Hence 2 stars and not 1. However, the book is light on details for most of the book. Instead the book tries to use metaanalyses to justify flow architecture as an upcoming breakthrough platform. I can buy it, but I can't figure out from this book how to start experimenting with that architecture.
The most valuable part of this book is the Appendix. There you can find the pieces of a flow architecture and their examples. From there, as an engineer, you can start mapping problems to this architecture. So IMO, skip the whole book and just read the appendix. That appendix is a 5-star blog post, but as a result only a 2-star book.
James Urquhart has fashioned up something that is marginally different from what is already playing out in the tech space. The foundation of this book is built off Event Driven Design and the argument is that there is an evolutionary step after called Flow. I am not sure that there is much there, well, there. The real value in this book is the analytical process and tools he used to describe what exists today rather than what comes next.
Urquhart provides many great examples of practical ways the concept of Flow Architecture will improve various technologically backed services but not much more in the way of meat. What I was expecting was a design pattern in simpler terms from the core application, to the services supporting it, and more that could be readily applied to architect new or rebuild existing solutions.
In all fairness there are some good lessons in the book but they could have been summed up in a long form article. At best the work had me thinking of a renaissance for RSS? After all, Urquhart states that future solutions are often built on existing infrastructure. Moreover, we saw how podcasts reinvented themselves more than once after their earliest iteration.
The book does a good job of setting up the technical components required to bring real-time streaming services to the masses. The book marries concepts (and explores why standards emerged) from historic web protocols, IoT, popular event sourcing frameworks, as well as mental modeling with component mapping techniques loosely leaning on promise theory. The idea is FLOW, or the era of pure streaming vs archaic HTTP/TCP based tools of today.
Does it get a little hand-wavy sure, does it teach you something new along the way, yes. I would have given this more stars if there was something more tangible to take away at the end. The book is best used as a well researched overview of all the current tools available in the market for real-time / eventing - like Apache Kafka and Pulsar, Amazon Lambdas, Flink and Apache Spark.
I’ll read more of Jame’s books in the future. His writing style was easy to read and his arguments well met.
I read the book as a software engineer - a technical person. In the beginning there was a lot of fluff. This made me become superficial and start skipping chapters. Then it came to the technical part. There I felt I read what I knew already, perhaps a couple new buzz words were mentioned there. All in all, I don't feel like learning much from the book. It is unclear who the target audience for the book is. It tries to "cover everything", while not being interesting to anyone specific.
This book contains some interesting ideas ... but that's not enough.
It's overly theoretical and does not provide any value from that theoretical hand waving. A great example is the Wardley Mapping process, which is pretty interesting as a whole (and it is a good representation of the whole mapping process) but does not have any value attached - because it's all speculation.
Centralized Pub Sub @ Scale with a fancy name. The author tries to make a case for standardizing pub/sub and falls short of doing so. That being said, there’s good technical details on understanding pub/sub at a high level.
Well worth a read if you have an interest in the potential of standardised and ubiquitous ways that systems will share and consume information asynchronously and at global, distributed scale.
I recommend sticking with it - the final chapter (#6) is one of the most interesting parts of the book.