Derek Kraan

Author of Horde and DeltaCRDT

Derek is the author of the Horde and DeltaCRDT libraries, which enable distributing processes across a cluster. He also runs a small independent software consultancy specializing in Elixir and moonlights as a beekeeper.

Past Activities

Derek Kraan
Code BEAM Lite Amsterdam
Tutorial/ 29 Nov 2019
09.00 - 17.00

Building resilient distributed systems with Elixir

One of the most exciting features of Elixir is its ability to connect multiple nodes together. Because distribution is built directly into the language’s runtime, those of us in the Elixir world have access to a number of powerful abstractions for building distributed systems.

However, distributed Erlang comes with several caveats and warnings. We will demystify some of the warnings while reiterating others.

In this tutorial, participants will get hands on experience with distributed Erlang through building real solutions to real world problems.

You will learn how to harden their solutions against network and hardware failures using a test harness designed to inject failures into clusters. Whilst the goal is to provide an understanding of the primitives available in Erlang and Elixir for building distributed systems, we’ll also discuss some of the popular libraries available in the BEAM ecosystem.



  • Provide insights into the tools available for building distributed systems
  • Learn patterns for building consistent and eventually consistent systems
  • Experience the different types of faults that you’ll see in the real world


Intermediate Erlang or Elixir developers who want to take advantage of the clustering abilities in OTP.


The tutorial is broken into 4 distinct pieces of work. Each section builds on the previous and endeavours to provide real-world scenarios.

  • Connecting nodes, sending messages, and handling faults
  • Building low latency APIs with replication
  • Scaling replication with eventual consistency
  • Taking advantage of your computer by distributing work across the cluster
Derek Kraan
Code BEAM Lite Italy 2019
22 Mar 2019
15.40 - 16.20

CRDTs from the ground up

A short history of CRDTs, and how we can leverage them to build distributed applications on the BEAM.


Explain CRDTs from the ground up in a way that someone could understand who has never heard of them before. Talk about applications in Elixir (including Derek's own Horde).


Anyone interested in writing distributed applications on the BEAM, or just curious about how CRDTs work.