Using events to migrate from legacy architectures By David Boyne

Using events to migrate from legacy architectures By David Boyne

Using events to migrate from legacy architectures

When we build event-driven architectures we use events to communicate between services and domains, these events are often used to trigger async processes downstream, and we can use event-driven architectures to create decoupled and scalable solutions.

It’s also important to know that the events we use to communicate can also be valuable for businesses and create new opportunities (e.g. Using events to process data in real-time).

Rather than going big bang migrations that could take months or years, slice up your architecture/features and delivery them over time (commonly seen in strangler pattern). We can use events here to help us, and move us towards an event-driven architecture.

Fire events from legacy applications

  • Integrate your legacy application with your event/message broker
  • Requires up front cost, but allows you to start publishing events from application
  • Downstream consumers (new architecture) can consume events
  • Cloud example pattern could be using PutEvents from Amazon EventBridge to publish events from legacy application into AWS, where new consumers can react.

Mapping into new domain models

Domains may have evolved

  • Your legacy application may have been written years ago, things change. Your models/domains may have changed from inception years ago.
  • Use techniques like Event Storming to highlight existing behaviours of your system and new domains you want to evolve into.
  • You don’t have to mimic the same language in your new architecture. You may want to start using bounded contexts and ubiquitous language away from your legacy application (if it makes sense)

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.