Can Event-Driven Architecture make Software Design Easier? (with Bobby Calderwood)
Listen now
Description
This week's guest describes Event Sourcing as, "all I'm going to use for the rest of my career." But what is Event Sourcing? How should we think about it, and how does it encourage us to think about writing software? In this episode we take a close look at systems designed around the idea of Events, with guest Bobby Calderwood. Bobby's been designing (and helping others design) event based architectures for many years, and enthusiastically recommends it not only as a system-design technique, but as a way of solving business problems faster and more reliably. During this discussion we look at the various ways of defining event systems, what tools we need to implement them, and the advantages of thinking about software from an event-based perspective. Along the way we discuss everything from Clojure, Bitemporality & Datomic to Kafka and more traditional databases - all in the service of capturing real-world events and building simple systems around them. – EventStoreDB: https://developers.eventstore.com/ The CloudEvents standard: https://cloudevents.io/ Datomic: https://www.datomic.com/ Adam Dymitruk's Event Modelling Explanation: https://eventmodeling.org/ Bobby's Event Modelling course: https://developer.confluent.io/courses/event-modeling/intro/ Bobby on Twitter: https://twitter.com/bobbycalderwood Boddy on LinkedIn: https://www.linkedin.com/in/bobbycalderwood/ Kris on Twitter: https://twitter.com/krisajenkins Kris on LinkedIn: https://www.linkedin.com/in/krisjenkins/ – #software #softwarepodcast #programming #eventsourcing #eventdrivenarchitecture #kafka
More Episodes
The actor model is a popular approach to building scalable software systems. And isn't hard to understand when you're just reading about the beginner's examples. But how do you architect a complex design using the actor model? Which patterns work well? How do you think through it? Joining me to...
Published 05/15/24
Bytewax is a curious stream processing tool that blends a Python surface with a Rust core to produce something that's in a similar vein to Kafka Streams or Apache Flink, but with a fundamentally different implementation. This week we're going to take a look at what it does, how it works in...
Published 05/08/24