jswny

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

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 :slight_smile: .

arcanemachine

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

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

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

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 :man_shrugging:

Where Next?

Popular in Chat/Questions Top

Emily
Preface: I’m not sure if thise is the right place, because this is not direclty Elixir related… but I’ve always got some of the best advi...
New
Scoty
Hey, I am currently reading Programming Elixir and I am doing one of the exercises where you should write a solution to the “I’m thinkin...
New
shansiddiqui94
Hello all, I recently did my first app in Phoenix and Liveview, many thanks to all the users who assisted me. I found that the tutorial ...
New
jsnoble
I come from a javascript background and I just starting learning elixir. I went through the basic tutorials but I want something deeper. ...
New
Chawki
hi,i’m new to programming world i had learned front-end( javascript,react.js) and i wanna learn a back-end programming language i thought...
New
wallyfoo
Long story short, I have a real world need to create a view for hooking up a shipping terminal to live data, but because of some early ar...
New
boddhisattva
Greetings everyone, At my current workplace we're evaluating different ways of building a microservices architecture for some parts rel...
New
Fl4m3Ph03n1x
GenStage and Flow resources? I have been hearing about GenStage and Flow, a tool built upon it, for quite some time. I understand it allo...
New
AstonJ
It’s been a while since we asked this - I’m sure others (especially newcomers to the language) will be interested to hear how you’ve all ...
New
yachnytskyi
Hello everyone. I am gonna start with Elixir/Phoenix, thinking to use Stephen Grider as a start point, then elixir school and other sourc...
New

Other popular topics Top

shahryarjb
Hello, I get Persian date from my client and convert it to normal calendar like this: def jalali_string_to_miladi_english_number(persi...
New
aalberti333
As the title describes, I’m trying to run Enum.map() over a list of key/value pairs, where the value is a map. My data looks like this: ...
New
fireproofsocks
I’m working on defining a simple Ecto schema for a table (in PostGres), but I don’t see where I can define a column as NOT NULL. Conside...
New
chrismccord
This release brings a number of exciting features, including integration with the new Phoenix LiveDashboard and Phoenix LiveView. There h...
New
script
If I have a string “1000 cfu/ml” . I want to remove the characters and / and space . So the string is like this "1000" What is the ...
New
mcarvalho
What is the difference between System.get_env and Application.get_env? For example, what are best practices to use one versus another.
New
ashish173
I am using Ecto timestamps with postgres, I can see the timestamps() use the :naive_dateime but for my use case I wanted to store the ti...
New
alice
Hey, Just curious what are the main benefits of Elixir compared to Clojure? When is Elixir more useful than Clojure and vice versa? Th...
New
Fl4m3Ph03n1x
About me? ( if you have nothing better to do than reading about some random guy in the internet :stuck_out_tongue: ) Hello all, this is ...
New
siddhant3030
Hi, I have to write a raw query for one of my project. But till now I have used ecto queries and don’t have much experience writing raw ...
New

We're in Beta

About us Mission Statement