Thinking in Events: Principles of Event-Driven Architecture, Part 1 with James Eastham
We’re joined by James Eastham, developer advocate at Datadog, to break down the fundamentals of event-driven architecture (EDA) - not just as a technical pattern, but as a communication-first mindset for building distributed systems.
We explore how communication lies at the heart of software design, why coupling and cohesion still matter in modern architectures, and what makes an event more than just a message. The discussion covers everything from monolith vs. microservices trade-offs to the practical realities of building asynchronous systems at scale.
Topics include:
- The difference between runtime, temporal, semantic, and data format coupling
- What separates event-driven from event-based systems
- Why the language of the business should shape your events
- How to design and structure thin vs. thick events
- Managing idempotency, delivery guarantees, and event versioning
- Using CloudEvents, AsyncAPI, and standards to avoid chaos
- The pros and cons of buses, streams, and queues - and when to use which
James also shares insights from his time at AWS and Datadog, including a healthy dose of pizza metaphors to explain abstract concepts like consistency models and event flow.
Whether you’re starting fresh or untangling an existing architecture, this episode offers clarity on how to think - and build - in events.
This is Part 1 of a 2-part series. In Part 2, we’ll dive deeper into choreography vs. orchestration, failure handling, testing, observability, and real-world delivery patterns.
Show Links