With the rise of cloud, (micro)services and alike, we talk a lot about resilience as we need it to create robust distributed systems.
Unfortunately, we usually only talk about the technical aspects - patterns, technologies, libraries and more. While these are important ingredients in resilient software design, they are worthless without a corresponding functional service design.
A very simple example: If service A always needs input from service B to do something useful, service A can never become robust with respect to failures of service B, no matter how much effort you put in technical robustness measures.
In this session we will explore, how much functional design affects the overall robustness of a solution (spoiler: a lot!) and learn how to deliver a better "resilient functional service design".
To make the complex, distributed and highly interconnected system landscapes of today robust, responsive and highly available, we need to implement resilience into them at application level.
Many patterns for implementing resilience into an application exist. The daunting questions are how to slice (design) an application and which patterns to pick and combine in order to match your specific needs best.
In the first part of this tutorial we will get an overview about the resilience pattern landscape, which patterns exist, how to organize and select them and how to design resilient applications.
In the second part of this tutorial you will have the opportunity to apply the just learned contents to a real-life case study and design and discuss your own resilient solution.
After this session, you will have a much deeper understanding how to design a solution that satisfies your specific robustness needs.
Uwe Friedrichsen travels the IT world for many years. As a fellow of codecentric AG he is always in search of innovative ideas and concepts. His current focus areas are resilience, scalability and the IT of (the day after) tomorrow. Often, you can find him on conferences sharing his ideas, or as author of articles, blog posts, tweets and more.