Future-proofing event-driven systems

Event-driven architecture promises to significantly improve our systems in terms of scalability, resilience, and maintainability. It also enables the design of loosely coupled components, improving the autonomy and evolution of individual services. And sending messages or publishing events is pretty straightforward, so what's not to like?

  • Jan 27
    1 day
    08:00 - 16:00 UTC
    Laila Bougria
    -

Well, it turns out that making all those messages and events work together in meaningful ways is the real challenge, especially considering the continuous changes our system undergoes. We pay a massive amount of effort considering how to design our services, considering where exactly the boundaries of each individual service lie, but what we often see is that as our systems change, interconnections surface where we didn't expect them, contracts change, receivers break, and messages end up in a dead-letter queue nobody looks at. However, if you're in for the long run, what we want to prepare our systems for is to gracefully undergo change, without undoing all the hard work previously done and turning it into a big ball of mud.

If you've moved beyond the basic building blocks of messaging and want to transition your designs from meaningless and often tightly coupled service-to-service calls to carefully designed services that are well prepared to endure change, this workshop is for you.



This workshop is ideal for those who:
- Have a foundational understanding of messaging as an architectural style and the benefits it offers.
- Understand the basic message-based communication patterns, including request-reply and publish-subscribe.
- Understand concepts like idempotency, eventual consistency and Outbox.
- Have experience using message brokers such as Azure Service Bus, RabbitMQ, Amazon SQS or other queuing or broker technologies.
Due to the limited time in this workshop, we won't spend any time filling those gaps.



Throughout this workshop, you’ll learn:
- Coupling and how it affects the system we build
- Techniques to help identify the right service boundaries that endure change
- Design techniques to help you protect those boundaries (public vs private)
- Serialization, schemas, and why they matter
- Using CloudEvents to standardize message envelopes
- Using xRegistry to manage your endpoints, messages and schemas



Throughout this workshop, we'll divide into smaller groups for design exercises that require nothing more than your imagination and something to write with. Later, we'll switch gears and get more hands-on with some coding exercises to bring those ideas to life using C#.

Join me and unlock the secrets of messaging's real-world superpowers!

This is a Bring Your Own Device (BYOD) workshop. Therefore, attendees are required to bring their own device with the necessary software already installed:

- .NET 8 or higher
- Visual Studio/Rider/VS Code
- Docker
- Pen and paper


Laila Bougria
Solutions Architect at Particular Software, speaker and knitting addict.

Laila Bougria is a Solutions Architect and Engineer with over 15 years of experience in the Microsoft .NET space. She's a keynote speaker, a Microsoft MVP in Azure and Developer Technologies, and frequently shares her knowledge and insights at conferences worldwide. Currently, Laila is busy building NServiceBus at Particular Software and solving distributed riddles. When she's not immersed in complex problems or code, Laila enjoys indulging in her favorite pastime - knitting! She finds that tangling the yarn into beautiful patterns helps untangle her thoughts.

    NDC Conferences uses cookies to see how you use our website. We also have embeds from YouTube and Vimeo. How do you feel about that?