Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> "If you develop on linux and run on linux and you’re in a deploy-as-source language, you may not care that much about repeatable builds."

If you develop in Elixir or Erlang, there's an additional issue that containers (such as docker) tend to interfere with hot code reload.

There are work-in-progress solutions (such as Elixir Distillery) that emphasize turning your app into a single package which can be deployed anywhere.

Even if you don't use Elixir, you may enjoy seeing how the Distillery packaging system works, and how hot code reload works.

A good intro is http://www.east5th.co/blog/2016/12/26/deploying-elixir-appli...



Likewise when doing a reload of a Rails service.

In the long term I predict that base OS everywhere will improve support for deployment, workload scheduling, resource allocation, endpoint discovery, and dependency management. These will match and eventually surpass the additional capabilities that containers offer, and then we can all go back to putting files on a server and restarting a process, which is all that 99% of us actually need.

The alternative is that container platforms grow their own hypervisor, effectively replace operating systems, and then build out their capabilities in storage, filesystems, networking etc until they are functionally basically indistinguishable from operating systems c.f. VMware. But I think the former option is more likely, it's just a gut feel.


Docker containers can still support hot reloading of Erlang/Elixir applications. It's just not a particularly-pleasant experience OOTB. It's almost always easier to just restart the container or to not use containers in the first place.


Hot code reload interferes with immutable deployments. I'd prefer the immutability over hot code reloading.


Nope, hot code reload is the same thing. They've just moved the immutability line even closer to the code.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: