Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
RailsConf 2019 - Event Sourcing made Simple by Philippe Creux _______________________________________________________________________________________________ Cloud 66 - Pain Free Rails Deployments Cloud 66 for Rails acts like your in-house DevOps team to build, deploy and maintain your Rails applications on any cloud or server. Get $100 Cloud 66 Free Credits with the code: RailsConf-19 ($100 Cloud 66 Free Credits, for the new user only, valid till 31st December 2019) Link to the website: https://cloud66.com/rails?utm_source=-&utm_medium=-&utm_campaign=RailsConf19 Link to sign up: https://app.cloud66.com/users/sign_in?utm_source=-&utm_medium=-&utm_campaign=RailsConf19 _______________________________________________________________________________________________ Event Sourcing provides a full history of actions allowing us to understand how we get got there. Events can be replayed to backfill a new column, to fix a bug or to travel back in time. It is often described as a complex pattern that requires immutable databases, micro services and asynchronous communication. In this talk, I will introduce you to Event Sourcing and present the simple framework we’ve built at Kickstarter. It runs on our Rails monolith, uses ActiveRecord models and a SQL database. And yet, it gives us super powers.
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
In Philippe Creux's talk "Event Sourcing made Simple" at RailsConf 2019, he introduces the concept of event sourcing and how it can be implemented effectively in a Rails application. Event sourcing records all changes to the application's state as a sequence of events, which can be used for debugging, reloading state, and referencing past actions. Key Points Discussed: - **Introduction to Event Sourcing**: Event sourcing involves capturing the application's state as a result of sequences of events. Changes like task completions can be recorded as events, which also hold metadata (e.g., timestamps, user information). - **Basic Implementation Through a To-Do App**: The session starts with a practical example of creating a To-Do app, where features such as completing tasks, sending notifications, and tracking activities are developed incrementally. - **Handling Requirements and Event Creation**: As new requirements arise, such as tracking completion time or the user who completed tasks, the method of handling state changes shifts to creating event records that encapsulate these changes without losing historical data. - **Tracking Events and Side Effects**: The talk emphasizes the importance of tracking events and subsequent actions (like sending emails or updating feeds) using reactors that act based on generated events, thereby creating a separation between the application's state and actions based on state changes. - **Advantages of Event Sourcing**: Creux outlines numerous benefits including debugging ease, business intelligence, data auditing, and the ability to replay events to restore or modify application states. - **Real-World Application at Kickstarter**: The implementation of event sourcing at Kickstarter included using a lightweight framework that integrates seamlessly with ActiveRecord, allowing the team to efficiently manage and manipulate events with a focus on simplicity and usability. - **Challenges and Solutions**: Naming conventions for events, how to backfill data, and the management of soft deletes versus hard deletes are discussed, highlighting that consistent structure and clear metadata are crucial for long-term maintainability. In conclusion, "Event Sourcing made Simple" illustrates how this advanced programming pattern can empower developers to handle complex applications with greater flexibility and insight, all while maintaining a clean and manageable codebase. Event sourcing not only gives a full audit log of changes but also provides the framework needed to easily adjust and improve applications over time.
Suggest modifications
Cancel