Building event-driven architecture piece by piece By David Boyne

Building event-driven architecture piece by piece By David Boyne

Building event-driven architecture piece by piece

Architecting and building event-driven architectures takes time. The great thing about this architecture style is it embraces patterns that helps us approach design and implementation in an evolutionary way.

Migrating to an event-driven architecture

  • Many of us have legacy systems and we are trying to modernize them. Modernization of architectures can take years, and there any many pattens out their people may follow to help.

  • One of these patterns is to use event-driven architectures to help migrate off legacy applications onto new architecture paradigms.

  • For example, if you are on-prem and want to migrate into the cloud you could use the strangler pattern with event-driven architectures to migrate business logic.

  • Legacy applications may raise events that new systems can listen to and react.

  • One thing to be aware of, if you are migrating away from legacy applications don’t just take the domain as it is and migrate this domain into your architecture, domains change over time, models change and requirements change

  • Explore bounded-context mappings options to help you map information between boundaries.

Embrace evolutionary architecture

  • Architectures evolve over time as do requirements and the domain we operate in. Modern companies need to embrace the concepts of evolutionary architecture to remain competitive and agile in the ever-changing technical landscape.

  • Event-driven architectures enable us to capture the concept of evolutionary architecture.

  • As consumers can come and go within our systems, this allows to create new teams, new features that can operate independent consuming events from other services.

  • As we scale our organisations, we search for patterns to help us scale and not slow us down. Event-driven architectures can help with this.

  • Think about how your architecture lets you scale. Think about where parts of your architecture slows you down, can event-driven architectures help here?

Discovering domains takes times

  • Many folks use EventStorming or Event Modeling to define their events and domains within their organisations. From that domain-driven design practices can be used to help map domains into architecture/solutions. This can be a great way to discover your domain, but getting hands on also is a great way to discover.

  • Theory can only take us so far, we can design and think, but we also discover domains through implementation. This takes time. Your domain is ever changing and evolving, you need to embrace this.

  • Keep exploring your domains, challenge assumptions and use techniques like EventStorming or Event Modeling to help you discover and document your domains.

  • Remember domain discovery is a continuous process.

Familiarise yourself with EDA patterns and concepts

Extra Resources

Download EDA Visuals

Join over 8,000 others learning EDA and download all the EDA visuals directly to your computer. This document updates everytime a new visual is added so make sure you come back to get the latest.

Download now →
Diagrams and thoughts by @boyney123 to help you learn.