event-driven architecture
-
CloudEvents as a Data Product

TL;DR Treat CloudEvents as the envelope for versioned, traceable domain aggregate snapshots. Use the CloudEvents contract for transport and a versioned aggregate schema in data to make events reliable event-based data products for analytics, ML, and agentic workloads. This post expands on the Event as a Data Product pattern I introduced in my previous article. At its core: treat domain aggregates (your key Continue reading
-
KAPPA your Domain Model into the Data-Mesh Architecture as Events
Use ‘Events as a Data Product’ in the Data-Mesh by applying ‘Data on the outside’ thinking using KAPPA architecture: Continue reading
-
Event Sourcing and Consistency
Event sourcing gives us a few benefits such as in-built audit logs, replay/rebuilds, multiple projections (read models), and non-blocking writes. There is always the other side of every benefit we enjoy in the architecture language – we call these trade-offs. One such trade-off to consider is eventual consistency vs strong consistency and in this post, Continue reading
-
Events on the Outside vs Events on the Inside

Apply learnings of Pet Helland’s paper “Data on the Outside versus Data on the Inside” on Event Driven Systems Continue reading
-
Extracting microservice from a complex Monolith.
In real-world monoliths, code of a single bounded context is spread across many dimensions. Extracting that code may require significant refactorings. It is rare to get an opportunity to refactor as a project of its own (in fact I do not believe that it is the best approach). So we try to do refactoring as Continue reading
