axelson

axelson

Scenic Core Team

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

Showing Posts 1 to 2

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 #1
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.

— All posts loaded —

Where Next? Top

Trending in Talks Top

Other Trending Topics Top

budgie
A little off-topic, but I feel like people here have a good head on their shoulders. I used to be quite good at making software. Was luc...
New
KristerV
Hey. Is there anyone here who creates agents in their apps? Not talking about using agents, but creating them. I’m finding it pretty diff...
New
mudasobwa
I fully migrated to my own harness from Anthropic/Gemini and I think it’s time to share it. Welcome DSH, the DeepSeek Harness, fully writ...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
juhalehtonen
There has been a thread to discuss the Stack Overflow Developer Survey on this forum every year since 2018, so here’s yet another one for...
New
budgie
I love Elixir. It’s one of 2 programming languages I’ve ever fallen in love with. But I don’t use it anymore. Serverless was the promis...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews