3 ms·
I don't think it misses the point of Erlang/Elixir at all. 1) Docker is a popular project for running applications in containers. This is a familiar deploymen
by tobz 11y ago
I don't think it misses the point of Erlang/Elixir at all.
1) Docker is a popular project for running applications in containers. This is a familiar deployment pattern for many devs(ops) people, so it's yet another option someone has.
2) Most people using Phoenix are probably not using bare-metal, which is the only real scenario I can think of that lets you easily say "we don't need anything except for Erlang's hot code reloading".
All cloud-y offerings will be potentially transient, hell, so will bare-metal. Most people will have infrastructure/tooling to provision new capacity easily, and to handle capacity being lost to failure. They almost certainly have, already, patterns for replacing containers in and out of their load balancers, etc, to avoid the need for hot code reload. I think Erlang's system for doing it can be great, but if you already have a system to run a single command that replaces your app/web/whatever fleet with a new code version, then you're not inherently ignoring the benefits/features of Erlang/Elixir, you're just doing something else you're already comfortable with.
Erlang has its own "docker", but Erlang runs on an OS, not the bare-metal host, so you still have to deal with getting it there and running it.
- rad_gruchalski 11y agoI believe what the person you're replying to is trying to say is: there is no need to build a Dockerfile for Erlang when using releases. Create a release for the target OS and simply start it from ebin. It comes with a VM packaged and can be run with zero dependencies. You can easily run it in a vanilla ubuntu image on k8s or mesos. No problem whatsoever running it directly on mesos without Docker overhead.