Lutz Huehnken
Builder of high-performing software engineering organizations.
Builder of high-performing software engineering organizations.
Hamburg, Germany
Actions
Lutz is the Head of Engineering Excellence at Upvest, a FinTech company in Berlin that aims to democratize investment. Previously, taking on roles with titles such as "Head of Engineering" or "Chief Architect", he lead the development of software for container shipping, online retailers, financial institutions, cruise ships' in-cabin entertainment, and others. His current focus is on event-driven architecture, highly available and scalable systems, domain-driven design, and the intersection of architecture and organization.
Lutz ist Head of Engineering Excellence bei Upvest, einem Berliner FinTech-Startup, das sich die Demokratisierung des Investierens zum Ziel gesetzt hat.
Zuvor war er als Architekt oder Engineering Manager an der Entwicklung von Software für Containerschiffe, Online-Händler, Finanzinstitute, Kreuzfahrtschiffe und andere beteiligt. Sein derzeitiger technischer Fokus liegt auf Event-Driven Architecture, die Microservices und Domain-Driven Design nutzt.
Area of Expertise
Topics
Event-driven Architecture - 10 Jahre klüger
Vor zehn Jahren habe ich zum ersten Mal einen Vortrag über Event-driven Architecture gehalten. Kafka war gerade seit zwei Jahren Open Source und bei Version 0.8, und nur ein paar Wochen vorher war Java 8 erschienen, und die erste Version von Spring Boot. Damals war gerade das Label "reactive" populär, und so hieß er "From Enterprise To Reactive". Unter anderem habe ich das Saga-Pattern propagiert.
In den zehn Jahren habe ich einiges dazugelernt - musste aber vor allem auch vieles erst einmal verlernen. In diesem Vortrag ziehe ich eine kleine Bilanz: Welche Ansätze haben sich in den zehn Jahren bewährt, und welche waren für mich enttäuschend? (In welcher Kategorie wird wohl das Saga-Pattern wieder auftauchen?)
Nicht alles wird sich übertragen lassen, aber manche Einsicht kann vielleicht hilfreich sein.
Events, Workflows, Sagas: Complex Flows in Distributed Applications
In the development of microservices, sooner or later everyone comes across business processes that involve several services, and usually, in DDD terminology, several bounded contexts. Different approaches to implementing such processes lead to fundamentally changed outcomes. With consequences for the complexity, and thus for the operation and expandability of the system. Especially when event-driven architecture is applied, its asynchronous nature often collides with the desire for global control and synchronous responses. This can lead to "chimeras" that combine the "worst of both worlds".
In this talk, he will look at some principles of event-driven architecture. He'll explore how they relate to possible approaches to implementing complex processes. Special consideration will be given to boundaries of responsibility, and the relationship of processes and data.
A common pitfall in the event-driven world is simply copying workflows from a monolithic application. This can lead to hastily falling back on orchestration or workflow tools, and possibly to a "distributed monolith". How can we avoided this? The talk will introduce the idea of "micro-workflows" and explore how challenging and redesigning complex processes can lead to better systems. And finally, we'll ask the question: Should the Saga pattern be considered harmful?
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.
iSAQB Software Architecture Gathering 2024 Sessionize Event
Developer Week '23 Sessionize Event
KanDDDinsky 2022 Sessionize Event
microXchg 2018 Sessionize Event
Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.
Jump to top