Designing Resilient Microservices using DDD and Messaging

One day workshop
Indu Alagarsamy

Designing Resilient Microservices using DDD and Messaging

No dates are scheduled for this workshop. Let us know if you think we should organize it near you, or if you'd like to book it on premise in your organisation.


Using message queues is the first step in building more resilient systems. However, this takes a different approach to reasoning about the design of your system, and the structure of your code. But reliability and resilience 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.

What you'll learn

  • 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.

Who should attend

Developers, Tech leads or Architects

Prerequisites

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

About Indu Alagarsamy

Indu enjoys designing distributed systems using event-driven architecture style and domain-driven design principles. She has over 15 years of software development experience working with various industries like healthcare, finance, biotech, and emergency services.

She is currently a Principal Engineer at the New York Times. She is passionate about diversity and inclusiveness in the tech industry. When not working, she's an occasional rock climber, who loves to chill in sunny Southern California with her kids and giant puppy.

All workshops by Indu Alagarsamy
@Indu_alagarsamy

No dates are scheduled for this workshop. Let us know if you think we should organize it near you, or if you'd like to book it on premise in your organisation.


Also check out