Speaker

Lutz Huehnken

Lutz Huehnken

Reactive Systems Artisan

Reactive Systems Artisan

Hamburg, Germany

Lutz is the Head of Engineering for Investment Applications at Upvest. Previously, taking on the roles of architect or engineering manager, he has driven the development of software for container shipping, online retailers, financial institutions, cruise ships, and others. His current focus is on the evolution of large systems, domain-driven design, events-first microservices, and reactive systems.

Lutz ist Head of Engineering für Investment Solutions bei Upvest. Zuvor hat er als Architekt oder Engineering Manager die Entwicklung von Software für die Containerschifffahrt, Online-Händler, Finanzinstitute, Kreuzfahrtschiffe und andere vorangetrieben. Sein derzeitiger Fokus liegt auf Domain-driven Design und Event-driven Architecture.

Area of Expertise

  • Information & Communications Technology

Topics

  • Systems Thinking
  • Engineering Culture & Leadership
  • Organizational Design
  • software architecure
  • event-driven architecture
  • Event-sourcing
  • microservices
  • functional programming
  • reactive systems

Events, Workflows, Sagas? Keep Your Event-driven Architecture Sane.

When dealing with (micro-) services, we often face business processes that span multiple bounded contexts. Different ways of implementing this lead to massively divergent results, varying above all in complexity and manageability. Especially when applying Event-driven Architecture, its asynchronous nature clashes with a desire for global control and synchronous responses, sometimes leading to chimeras that combine the “worst of both worlds”.
This talk will establish some guiding principles, and use them to assess common approaches. It will explore the importance of responsibility boundaries, and of bringing the data to the behavior.
A common mistake in the event-driven world is to replicate monolith workflows, resulting in an excessive need for orchestration or workflow tooling, or (in the worst case) a “distributed monolith”. How can this be avoided? The talk will introduce the concept of microworkflows, and show how challenging and re-designing your processes will lead to better systems. And lastly, we will ask ourselves: Should the saga pattern be considered harmful?

Designing Reactive Systems with Event Storming

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.

KanDDDinsky 2022

October 2022 Berlin, Germany

microXchg 2018

April 2019

Lutz Huehnken

Reactive Systems Artisan

Hamburg, Germany