For the last few years, the PHP community has been buzzing about ES/CQRS, and there was a talk at every conference. So now I will share how it worked out for me in practice.

ES/CQRS is a different approach to building applications from what we've done for years. I'm not going to introduce Event Sourcing and Command Query Responsibility Segregation (ES & CQRS) but instead will speak about my experiences in developing and running it in production.

I implemented it in a few projects: in some I ran it as a part of bigger application, while in others it's the core where everything is event driven. The shift in architecture and mindset is pretty big: while code structures and logic became simple, the amount of code and workflows became complicated to the point of "where did I loose this input?".

We also discovered the need to learn many DDD practices I feel have made me a better developer, and now I use some of the knowledge gathered through this projects in 'everyday' code.


Comments are closed.

Great talk!
Nice perspective on waiting for application architecture decision, only experience teaches things like that. Looking forward to attend more talks like this.

Great insight into event sourcing and domain driven design!

Peter Fisher at 21:03 on 10 Feb 2019

Very good talk. Lots of great examples of when to use and not to use event sourcing / CQRS

Bill Yanelli at 14:41 on 13 Feb 2019

Solid talk, although I wouldn't have gotten as much out of this one without Miro's previous (uncon) talk, "Introduction to Event Sourcing + CQRS." As I mentioned in my review of that one, it drew its strength from detailed code examples and discussion of design patterns. This talk had more scattered case studies and it was harder to follow the narrative sometimes—possibly because Miro was not at liberty to reveal certain details of his previous employers' systems. However, there were still enough nuggets of wisdom throughout the talk that I could piece together Miro's worldview regarding ES. So I'm still giving this one five stars as part of the complete package with the uncon talk (which too few people saw, unfortunately).

Most of all, I appreciate that Miro sees himself as an ambassador for this new CQRS/ES paradigm but without being a hype man for it. He is refreshingly candid about its limitations, and I was able to walk away from this talk with an idea of where ES should be used vs. where it should not. That's more than I can say about any article or Hacker News post I've read on the subject.