Introducing Sage - a Sagas pattern implementation in Elixir

Distributed transactions are hard and expensive, if you wonder how to pragmatically handle them in a mid-size project - this article is for you.