jswny
Anyone have any recommendations for books that focus on the distributed side of Elixir?
Does anyone have any recommendations for books that focus on the distributed side of elixir?
I am fairly comfortable with the language along with most of the standard library as well as OTP primitives, etc, but I’m looking to get more familiar with designing distributed applications.
Ideally I would prefer books that are not written in/for erlang but I understand there will probably be good references that are in that category as well.
Most Liked
Lucassifoni
+1 for “Programming Erlang” and “Designing for scalability with Erlang/OTP”.
Those two books opened my mind to a lot of ideas and were very influential for me recently.
Don’t fear the Erlang side, the concepts (of course) map very well to Elixir and you’ll get a very solid (or a better) understanding of OTP behaviours.
For the distributed side and scalability, I guess the main takeaway is “it depends”. On your scale, requirements, tradeoffs, team… The book is very nuanced.
A little personal example : after reading “Designing for scalability with Erlang/OTP” I changed my SLA to 99.5% for my SAAS and added two “maintenance windows” in my contracts that allow me to perform planned downtime. That looks like an outdated practice and very low availability today.
In practice systems stroll around 5 nines and I don’t use those windows. It’s easy at my scale. But availability has first to do with human expectations and human availability. If there’s a global DNS or worse outage while I’m driving someone to the hospital, there’ll be downtime. Without people on call or 24/7 shifts I can’t promise more, whatever tech and distribution strategies I’d be using.
That’s the kind of very immediate practical takeaway I got from those books
.
arcanemachine
Elixir in Action has a chapter on distribution, and Engineering Elixir Applications has a chapter on deploying distributed applications. The Little Elixir and OTP Guidebook also has a couple chapters on the subject.
LostKobrakai
Distribution is a VM feature first and foremost. You‘ll be using the exact same primitives across the whole ecosystem no matter the language used. Only higher level libraries will then start to make a difference.
slouchpie
I would recommend “Programming Erlang” by Joe Armstrong. It has a lot of good info and it can all be used in Elixir. When I read it, I did not understand a lot of it. I intend to re-read it this year.
I remember a chapter about libs like :rpc and :global and I also remember the clear info about how distributed Erlang was designed to be run on a LAN (as opposed to on the general internet). There was stuff about cookie sessions and encryption that I can not remember any more.
I recommend this book because it contained more knowledge than I could absorb about distributed Erlang.
code-shoily
If I recall correctly, we ran on PE too, I remember being part of it and talking to you a about it. Unless I am confusing it with some other books ![]()








