Implementing distributed applications is far from easy. We are all aware of the fallacies of distributed computing. These are not the only challenges that you may encounter when you need to deal with distributed systems. During the last 4 years, we have been building an event store and a messaging platform that are, by nature, distributed across several machines to be more reliable and scalable. Let's see together what it means to build such a system, and how to maintain it in (a large variety of our customers') production environments.