Talk in English - US at CascadiaPHP 2024
Track Name:
Multnomah Falls
Checkout the code: https://phpa.me/es-truth
View Slides: https://phpa.me/es-truth-slides
Short URL: https://joind.in/talk/8c74c
(QR-Code (opens in new window))
Event Sourcing is a fascinating topic, and while I work on a legacy project, I try to weave it in when I can. Learn why Event Sourcing is often referred to as the "Source of Truth". The goal is to talk about Event Sourcing in general, and then introduce a couple of libraries in example code to get you started. We'll look at Event Sauce, the library I use in the main application I work on, and the newer Verbs, which is a Laravel package.
Comments
Please login to leave a comment
Nice overview of general technique, and info about two libraries. I understood the general idea, but now have deeper insights. Thank you.
Great pacing. Not too fast, speaking wise or flying through slides. Code samples were a little hard to read from back of room. You didn’t display a link to your GitHub til the end, and it would have been cool to see that sooner. Great talk!! Took like 3 pages of notes.
Great information - just need to refine the presentation piece.
Really solid talk. I loved the comparisons between EventSauce and Verbs, it helped to highlight some subtleties and complexities of the topic. Got me more excited to try it out!
I really enjoyed the talk; it provided a great introduction to Event Sourcing (ES). However, presenting code from two different libraries in parallel can be a bit confusing for the audience. It might be helpful to focus on one at a time or clarify the differences. Additionally, a deeper discussion on how aggregates should be 'cut' would be beneficial. Exploring the design process and how it changes with ES, such as the emphasis on commands and events, and the use of techniques like event storming, would provide more practical insights.
It could also be valuable to address the trade-offs of using ES compared to a more traditional CRUD approach. While ES allows flexibility in evolving data structures, it often requires writing more code, which may or may not be worth the effort depending on the project. For example, ES might be ideal when you're uncertain about the final data structures, but understanding when it becomes more advantageous than CRUD is key.
Thank you for the great talk!
We're already using event sourcing in our application and it is amazing how differently the libraries work. I'm definitely going to try out Verbs (as a Laravel developer) and the idea of capturing the 5 Ws are part of the event stream is a great idea. It would make debugging a lot better and I don't know why I didn't think of it before.
A great comparison between EventSauce and Verbs. And a good introduction into Event Sourcing. I was looking forward to some pointers towards how to introduce Event Sourcing into an existing project which wasn't handled in the talk but afterwards in the discussion we did get some hints. Thanks for that
Could I please change my review to 5*? :)
Solid introduction to event sourcing, with some practical examples. Would love for it to have a straight up comparison of the different libraries in regard to event sourcing behavior and if / how they're implemented.
I thought the Q&A at the end was a very worthwhile discussion.
Real-world explanations of how to use event sourcing are great to help people decide if they should start using it.
Solid talk about why to use event sourcing, though I think some of the different terminology used in the two different example libraries detracted a bit from the message. That being said, I'm starting to grok the *why* of event sourcing, and think I've now drank the name brand flavored sugar water that I'll want to use it on anything in the future that I build where there's even the slightest possibility of wanting a history of changes to an object in addition to the object's current state.
Probably the talk I learned the most from!