Ian Luites

Beards, Code, Games

Ian is a Backend Developer at Square Enix, where he focuses on perfecting processes, creative coding, and tailor-made tools. He enjoys video games, blacksmithing, and archery.

Past Activities

Ian Luites
Code BEAM Lite Amsterdam
28 Nov 2019
11.10 - 11.50

From Legacy To Event Sourcing

A practical overview of the move from a legacy RDBMS system as source of truth; to storing core data with event sourcing supported by the Erlang runtime system.

Elixir comes with a great tool set to support actor like aggregations and command processing based on Erlang's lightweight processes and stable supervision. All the ingredients for a great setup.

In reality, it's not as easy as turning all mutations into an event and pushing them through a GenServer. Many practical hurdles were encountered. Obstacles like [long term] storage, scaling, regulations, but also conceptional changes. Changes like handling the disconnect between mutating => mutated.

We'll go through all of these, together with a very basic what's-what and setup overview. The goal is not to show that event sourcing on BEAM is possible as a concept. (Many great talks have already shown this to be the case and have highlighted how to get started.) This is all about what you might run into after you get things started.


Sharing the setup, headaches, design considerations, and homebrew solutions that come with the move to event sourcing. Creating/sharing interest for ES/CQRS solutions and hopefully community feedback. 


Developers interested in Event Sourcing and practical views on long term storage; those running into issues combining GDPR and persistence/immutability.