Design Reliable Systems Using DDD And Messaging

Indu Alagarsamy 1-Day Workshop
Wed, Sept 18

Using message queues is the first step in building more reliable systems. However, this takes a different approach to reasoning about the design of your system, and the structure of your code. But reliability is as much a domain modeling concern as a technical quality. How can we deal with complex business processes, that can fail at multiple points in time? How do we roll back multiple operations in a long-running business process?

We can use existing principles from Domain-Driven Design to deal with these problems:

  • Thorough Domain Discovery to expose failure cases.
  • Collaborating on a Ubiquitous Language and Domain Models that express these reliability concerns.
  • Expressing those models into clear and readable code that remains extensible even with age.

Highly Informative; Excellent Exercises; Great content...Extremely valuable for teams that are designing distributed systems.


  • Learn how to EventStorm to collaborate on business processes.
  • Message based architecture patterns that can help to solve temporal coupling and provide reliability and autonomy.
  • How to integrate reliably with third party web services.
  • How to effectively communicate between bounded contexts using events to establish business processes. Learn how to use messages and events to help drive the business process rather than the more traditional models based on data structures and how they help evolve changing business requirements using Domain-Driven Design disciplines and the saga messaging pattern.
  • Strategies for dealing with existing codebases.
  • You’ll pair and work on code exercises using .NET, C# and NServiceBus. These exercises will help you get a solid understanding of these concepts so you can take this to your company and start applying these practices right away. Prior knowledge of NServiceBus is NOT required.


Developers, Tech leads or Architects


  • Laptop setup with Windows and VS2017.
  • Knowledge using .NET and C#
  • Prior knowledge of NServiceBus is NOT required