Event Driven Architecture

Course Length: 3 Days

Modern systems increasingly rely on events to communicate, scale, and evolve independently. In this three-day workshop, we explore Event-Driven Architecture (EDA) from the ground up, starting with the principles of Domain-Driven Design and progressing through messaging patterns, streaming systems, and modern data architectures.

Participants will learn how different types of events are used, how services collaborate through sagas, and how patterns like CQRS, the Outbox pattern, and Event Sourcing help maintain consistency in distributed systems. The workshop concludes by exploring how event streams feed modern analytical architectures such as Data Lakes and Data Meshes, showing how operational systems and analytical platforms converge through events.

EDAAdvertising

Event-Driven Architecture has become the backbone of modern distributed systems, enabling services to communicate asynchronously, scale independently, and react to business activity in real time. However, designing event-driven systems requires more than simply introducing a message broker. It requires understanding domain boundaries, event semantics, data consistency and structure, and how events shape both operational and analytical systems.

In this three-day hands-on workshop, we start with the foundations of Domain-Driven Design, using bounded contexts and domain modeling to identify meaningful events within a system. From there, we explore the different types of messages used in event-driven systems, including domain events, event notifications, and event-carried state transfer, and how each affects coupling between services.

As systems grow, coordination between services becomes more complex. We examine the Saga Pattern as a way to orchestrate or choreograph long-running business processes across services while maintaining consistency. We also explore message coupling, discussing how design choices in event payloads and schemas impact the evolution and independence of services.

The workshop then moves into modern streaming architectures, showing how events become continuous data streams that can be processed, enriched, and analyzed in real time. Patterns such as CQRS and the Transactional Outbox are introduced as practical techniques for maintaining reliable communication between services and data stores.

Finally, we examine advanced architectural patterns such as Event Sourcing, where events themselves become the source of truth, and how event streams feed modern analytical platforms, including Data Lakes and Data Mesh architectures. Participants will see how event-driven systems not only power bounded contexts but also form the foundation for modern data platforms.

Throughout the workshop, concepts are reinforced through diagrams, discussion, and practical exercises that illustrate how these patterns work together in real systems.

  • Domain Driven Design

  • Hexagonal Ports and Adapters Architecture with a Focus on Domain Events

  • Event Storming

  • Producers and Consumers

  • Kafka Fundamentals

  • Event Sourcing

  • Event Driven Architecture

  • Data Replication Across Bounded Contexts

  • Types of Messages

  • Schemas and Schema Compatibility

  • Outbox Pattern with Debezium

  • Streaming

  • Materialized Views

  • CQRS - Command Query Responsibility Segregation

  • Message Coupling Strategies

  • Saga Patterns

  • Data Storage

  • Data Mesh

  • AI and Data

Contact me for pricing and details