SOA vs EDA - jellyfish-tom/TIL GitHub Wiki

Which to use?

Using SOA or event-driven architecture is going to depend on the needs of your business. SOA is fantastic for companies that are not in a position to rethink their architecture or what they want from their data. If there are siloed applications in your business that require integration, then you may be obliged to use SOA as a step towards a more unified, modern architecture.

Event-driven architecture is most effective for businesses that want to keep a record of all events and their histories. Many successful businesses in a range of industries have used events as the basis of their system architecture. Using events as the driving force of your architecture enables your businesses to access large data volumes across a wide range of services and stores them in a compact manner. Just imagine what insights you could gain from analyzing all the events that have ever happened in your business...

What is the end goal for your architecture, to serve your existing infrastructure and manage the communication between different applications, or to create a new infrastructure putting business events first and maximizing the use of your data? If you’re still unsure, you can contact our Developer Advocacy team for help deciding what’s best for you.