microservices scala akka functional programming reactive systems lagom
Building distributed, microservices based systems is also a challenge for the architect. To create better systems, we need to move our focus from the static properties of the domain, such as the data model, towards a dynamic view that is centered around business events. We will explore this from both a design and technical perspective.
Event Storming is taking the Domain-Driven Design community by, well, storm, and is successfully applied in different stages of the domain analysis and design process. We will look at Event Etorming as a modelling tool for microservices, and beyond that: How to translate an Event Storming model into a running system?
For this, we will deep dive into microservices architecture, the event-driven, asynchronous kind. This approach allows us to build scalable, resilient systems, or in other words, "reactive systems", with no Single Point of Failure or bottlenecks, and with an ability to self-heal to some extent.
At last we will bring the two worlds together and explore how the building blocks of Event Storming map to the concepts of event-driven systems.
Lutz Huehnken works as a Chief Solutions Architect for the Hamburg Süd shipping line. Previously, as an architect and head of engineering he lead the development of software for, among others, online retailers, financial institutions, and cruise ships. His current focus is on events-first microservices, domain-driven design, event storming and reactive systems.