axelson

axelson

Scenic Core Team

43) ElixirConf US 2018 – Docker and OTP: Friends or Foes? – Daniel Azuma

ElixirConf US 2018 – Docker and OTP: Friends or Foes? – Daniel Azuma (@dazuma)

Docker is the hot deployment technology across the industry, and many workloads are moving into cloud services. But for Elixir and other BEAM languages, there’s some hesitation. Will containers work with stateful processes? What about hot code upgrades?

This talk will survey the sources of friction, real or perceived, between Docker and OTP. You’ll discover techniques and tools that let your stateful Elixir applications thrive in a container-based cloud environment.

Audience: Intermediate, Advanced
Topics: deployment, docker

All talks are available in the ElixirConf US 2018 Talks List or via the elixirconf2018 tag

Most Liked

dazuma

dazuma

Some links related to the talk are at http://daniel-azuma.com/elixirconf2018

Some questions I got afterward that might be worth discussing since I don’t have a final answer to them include:

  1. How can we scale out a solution like what we did with the tank game? How well will Horde’s mechanisms handle thousands or millions of processes or what changes might be needed to the approach?

  2. What are the trade-offs of just using a database like Redis for the handoff? The current CRDT solution is extremely fast, but could Redis work better at larger scale? I don’t know, but I suspect since the usage would be so bursty, the contention might be its downfall. There’s also mnesia, which isn’t really designed for this kind of application but since it’s also in-OTP, it might be interesting to evaluate.

  3. Horde vs Swarm. I actually tried both for the demo, and ended up using Horde mostly because it handled shutdown a lot better for this case. Also because it adopted the OTP concepts of supervisor and registry and so was easier to describe and reason about, while Swarm implements an odd hybrid of the two. But Swarm has interesting capabilities as well, such as built-in handoff, and is currently much more mature.

I’d also love to hear how others have solved similar problems. The cloud/containers world is important, especially as our Elixir/OTP based systems need to interoperate with other platforms, and I really think our community needs to engage more and figure out our contribution to it.

13
Post #2
cohawk

cohawk

LibCluster, Swarm & Horde, dist_agent & other Raft implementations

The distributed systems libraries are starting to become scattered to where its hard to keep up.

Are there any plans for an official distributed Elixir OTP team to consolidate these efforts - maybe like the upcoming Phoenix Firenest?

Also a great talk and examples @dazuma - I enjoyed walking away with just as many questions as answers.

Where Next?

Popular in Talks Top

axelson
ElixirConf 2017 - Its Better Unstated - @tjstankus This is a story about transitioning an obsession with obj...
New
axelson
ElixirConf 2017 - Well Behaved Native Implemented Functions for Elixir - @potatosalad Native Implemented Fun...
New
axelson
ElixirConf US 2018 Opening Keynote - The Next Five Years – José Valim (@josevalim) All talks thread:
New
axelson
ElixirConf US 2018 – Closing Keynote – Chris McCord (@chrismccord) All talks thread:
New
New
Lawrence_elixir
ElixirConf EU 2019 talk videos ElixirConf EU 2020 - Early bird tickets on sale now! Website: http://www.elixirconf.eu Twitter: www.t...
New
AstonJ
Just starting to go up - did you attend? Have any faves? Here are the keynotes:
New

Other popular topics Top

rms.mrcs
Hi, I need to transform a list of numbers into a map where the keys are the indexes and the values are the original values of the list. ...
New
JeremM34
Hello, how can I check the Phoenix version ? Thanks !
New
grych
Hi folks, Few months ago I have announced the proof-of-concept of the library to manipulate the browsers DOM objects directly from Elixi...
639 54092 488
New
vonH
In asking this question I am more interested about the expressiveness of the language itself and less concerned about the availability of...
New
hariharasudhan94
Lets say I have map like this fetching from my database %{"_id" => #BSON.ObjectId<58eb1a7a9ad169198c3dXXXX>, "email" => ...
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

We're in Beta

About us Mission Statement