Beyond Distributed Monoliths: Reactive Microservices at Scale

Workshop details
Level: Intermediate

Modern software architectures are amidst a paradigm shift — more and more software landscapes are built upon asynchronous and reactive patterns. This movement is understandable, as it takes scalability, resilience, and real-time integration to an elusive new level. Unfortunately, we observe that many new customer projects only use parts of this paradigm shift sensibly. Thus, they often end up with an only partially reactive architecture that introduces a lot of new complexity without allowing us to utilize the full potential of reactivity.

This workshop will teach you the reactive paradigm's central concepts, core ideas, and the corresponding manifest and make them understandable. Based on this knowledge, we will go into hands-on use cases to build an end-2-end reactive system based on a persistent event stream that allows us to follow a fully push-based design. We will understand concrete patterns, like event-centric persistence, the concept of hydrations or projections, and how to improve resilience and elasticity with such a software architecture.

Reactive architectures can be a game-changing tool for building cloud-native, highly responsive, and resilient applications. This workshop will give you the knowledge to decide if it's the right one for the job.

Part 1: Getting into it

  • Reactivity and the Reactive Manifest

  • Coupling and Cohesion

  • Core Principles of Slicing Services Efficiently

  • Hands-on: Slicing for a given Problem Domain

Part 2: The Hard Parts

  • Data Ownership & Eventual Consistency

  • Data Duplication and Sagas

  • Core Principles of Sharding for Scale

  • Hands-on: Labs to build a Reactive Service

Part 3: Let it flow

  • Everything is a stream?!

  • Thinking Push Based

  • Commands considered an Antipattern

  • Hands-on: Shifting event-based to stream-based

Summary & Cool Down

Craft 2023 - David Leitner
David Leitner
Principal Engineer at SQUER Solutions

David is Coding Architect at SQUER, a Viennese Software Company, which is working with different stacks and environments, but always an overarching mission: connect ideas and provide impact — with technology. He spends much of his time on the frontlines tackling the challenges of scaling software and complex domains, with a strong focus on reactive systems, cloud-native architectures and state of ...