Complexity is the Gotcha of Event-driven Architecture • David Boyne • GOTO 2024

Discover how event-driven architecture can provide agility and speed, but requires managing complexity, and how evolutionary architecture can help with introducing guardrails and versioning to overcome challenges.

Key takeaways
  • Complexity is a natural byproduct of event-driven architecture
  • Two types of architectures: static and evolutionary
  • Guardrails are essential for implementing event-driven systems
  • Complexity can arise from event schema evolution, domain schema evolution, and coupling
  • Versioning and documentation are crucial for managing complexity
  • Async API can help with documenting channels, producers, and consumers
  • Collaboration with domain experts is essential for understanding systems
  • Event-driven architecture can provide agility and speed, but requires managing complexity
  • Evolutionary architecture can help by introducing guardrails and versioning
  • Complexity can arise from domain schema evolution, event schema evolution, and coupling
  • Versioning and documentation can help manage complexity
  • Async API can help with documenting channels, producers, and consumers
  • Complexity can mask potential and lead to frustration
  • The potential of event-driven architecture is often hindered by complexity
  • Static architectures can lead to frustration and complexity
  • Evolutionary architecture can provide agility and speed, but requires managing complexity
  • Complexity can arise from event schema evolution, domain schema evolution, and coupling
  • Versioning and documentation are crucial for managing complexity
  • Async API can help with documenting channels, producers, and consumers
  • Collaboration with domain experts is essential for understanding systems
  • Evolutionary architecture can help by introducing guardrails and versioning
  • Complexity can arise from domain schema evolution, event schema evolution, and coupling
  • Versioning and documentation can help manage complexity
  • Async API can help with documenting channels, producers, and consumers