• Distributed Systems Engineer

Upcoming Talks

Autonomy & Asynchrony - The key to designing reliable systems

MicroCPH May 14-15 2019, Copenhagen

Autonomy and Asynchrony are two of the most important concepts for building reliable software systems. The real world operates on events but when we write software, we tend to use a call stack style of Command and Control. Understanding asynchrony can help you spot things like temporal coupling and other road blocks that prevent you from being autonomous. In this session, see how event-driven architecture can power your systems and help you think about autonomy from the get go. Understand the gotchas of what's involved when you delve into the land of messaging and events. Build your services as small units that can scale, be autonomous and give you reliability, all the hallmarks of a good microservice.

Evolving with the changing requirements - Using DDD & Messaging

NCrafts.IO May 16-17 2019, Paris

Modeling business requirements and policies is a tricky thing. Especially when those requirements just keep on changing. Sure, we've all written code before to model requirements, but how can we achieve the dream of evolving the code and at the same time be aligned with the business? After all, isn't that the promise of Domain Driven Design? Business policies are crucial and for us tech people, so is the right way to model them. We want our code to be extensible and to keep up with the changes in business. Time is also a crucial element in modeling business workflows and is implemented in a multitude of ways like timers, scheduled jobs, etc. In this talk, we'll discuss the saga message pattern to see how you can model complex business workflows, and model time as an immutable durable event so you can implement your business policies in such a manner that it truly evolves around your business. Realize the DDD dream.

Practical DDD: Bounded Contexts + Events => Microservices

KCDC Jul 17-19 2019, Missouri

Domain Driven Design and Messaging go hand in hand, like a warm chocolate brownie paired with vanilla ice-cream! DDD is a software discipline that allows you to move faster and write high-quality code. The whole point is to align the software you write to be flexible with the business changes. When you start to use the technology of messaging to communicate between clean and well-defined bounded contexts you get to remove temporal coupling. And voila, you now have microservices that are built for autonomy from the ground up. Sounds perfect? In this talk, discover this intersection of DDD as a software discipline with messaging as a technology counterpart. Build reliable systems that can scale with the business changes.

Practical DDD: Bounded Contexts + Events => Microservices

ExploreDDD Sep 17-20 2019, Denver

Domain Driven Design and Messaging go hand in hand, like a warm chocolate brownie paired with vanilla ice-cream! DDD is a software discipline that allows you to move faster and write high-quality code. The whole point is to align the software you write to be flexible with the business changes. When you start to use the technology of messaging to communicate between clean and well-defined bounded contexts you get to remove temporal coupling. And voila, you now have microservices that are built for autonomy from the ground up. Sounds perfect? In this talk, discover this intersection of DDD as a software discipline with messaging as a technology counterpart. Build reliable systems that can scale with the business changes.

Evolving with the changing requirements - Using DDD & Messaging

KanDDDinsky Oct 17-18 2019, Berlin

Modeling business requirements and policies is a tricky thing. Especially when those requirements just keep on changing. Sure, we've all written code before to model requirements, but how can we achieve the dream of evolving the code and at the same time be aligned with the business? After all, isn't that the promise of Domain Driven Design? Business policies are crucial and for us tech people, so is the right way to model them. We want our code to be extensible and to keep up with the changes in business. Time is also a crucial element in modeling business workflows and is implemented in a multitude of ways like timers, scheduled jobs, etc. In this talk, we'll discuss the saga message pattern to see how you can model complex business workflows, and model time as an immutable durable event so you can implement your business policies in such a manner that it truly evolves around your business. Realize the DDD dream.

Past Talks

Autonomy & Asynchrony - The key to designing reliable systems

DDD Europe 2018, Amsterdam

Evolving with the changing requirements - Using DDD & Messaging

ExploreDDD 2018, Denver

Autonomy & Asynchrony - The key to designing reliable systems

ExploreDDD 2017, Denver

Sometimes the questions are complicated

NDC 2016, Oslo

Sometimes the questions are complicated - Indu Alagarsamy from NDC Conferences on Vimeo.

Autonomy & Asynchrony - The key to designing reliable systems

YOW 2015, Melbourne, Brisbane, Sydney

Upcoming Workshops

Practical DDD: Make your software systems reliable using NServiceBus

ExploreDDD Sep 18 2019, Denver

Designing and developing complex software systems takes discipline. Domain-Driven Design guides you with a certain set of fundamental disciplines to navigate the complexities. Combining those disciplines with a technology like messaging helps you to identify the bottlenecks of your systems. For example, places where your system is temporally coupled. Gain practical knowledge on dealing with existing code bases, how to reliably integrate with 3rd party services and how to model your code using .NET, C# and NServiceBus to align with the ever changing business processes. Pair up and work on code exercises that 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.

Past Workshops

Indu Alagarsamy

I enjoy designing distributed systems using event-driven architecture style and domain-driven design principles. I have over 15 years of software development experience working with various industries like healthcare, finance, biotech, and emergency services.  I am currently a Solution Architect at Particular Software, the makers of NServiceBus.  I am passionate about diversity and inclusiveness in the tech industry. When not programming, I am an occasional rock climber, who loves to chill in sunny Southern California with my kids and super chill giant mastiff.

Contact Indu

Feel free to get in touch with me regarding speaking, workshops or any other questions you have on designing distributed systems. Reach out to me via email, twitter or LinkedIn.

©2019 Indu Alagarsamy. All rights reserved.