Event-driven microservices give you the power to quickly create and modify components in a way that offers bottom-line business value, which is mission critical in a world where your competitors are a click away and time to market is everything.
What’s not to love, right?
But the speed with which you develop components is just one piece of the puzzle.
- How quickly can you integrate them with the rest of your system?
- How completely can you embrace innovative new techniques and technologies?
In my new whitepaper for architects, I explain the benefits of combining event-driven architecture and microservices and how decomposing applications admittedly makes life a little more… interesting.
Breaking monolithic applications into distributed components introduces many complexities and challenges associated with a set of incorrect assumptions referred to as The Fallacies of Distributed Computing.
Simply put, many developers assume that the network used to establish communications between components is homogenous, reliable, real-time, unchanging, etc.
This isn’t the case, of course, so you need to overcome inherent unpredictability and variances in the connectivity layer through smart coding, smart architecture, and smart connectivity.
I also explain how to bake all of this “smartness” into your system so you can avoid falling victim to predictable pitfalls and failed techniques.
And I explore how this event-driven approach allows enterprise architects to evolve from inflexible orchestration to choreography:
Design your system by describing what roles you want each microservice to play, and set them up to act as independent players, adapting to unpredictable inputs in such a way that business gets done, customers get satisfied, and you get to rest easy knowing your infrastructure is reactive and rock-solid.
I hope you enjoy the paper, and I welcome your feedback!