hst337

hst337

Do you use beam's hot-reload/recompilation in production?

Do you use hot-reload/recompilation in production?

Please note that this poll is only about BEAM’s internal features of runtime upgrades and recompilation. External tools for 0-downtime upgrade and deploys are out of the scope of this poll

  • Yes, I regularly upgrade my system in production using relup/appup
  • Yes, I regularly upgrade my system in production using some in-house solution which uses BEAM’s internal hot upgrade feature in runtime.
  • Yes, I regularly upgrade my system using plain git pull && recompile
  • Yes, when some bug occurs I prefer to fix the bug using recompile
  • Yes, but only when a critical bug occurs
  • No, I always upgrade running system using external tools
0 voters

Sidenote:

If you do not use runtime recompilation, I’d like to discuss why and what do you use instead.

Personally, I used to work in a project where we used relup for publising patch version hot upgrades. However, it required a special technique to write code and relup testing pipeline was exotic

Most Liked

gregvaughn

gregvaughn

I used hot deploys extensively at my prior job. I wrote up my thoughts on it a while back (Why Hot Deploys are Cool | Greg Vaughn’s Musings). The landscape has changed in the past couple of years with distillery no longer being the primary tool to build releases though.

dimitarvp

dimitarvp

Voted “No”. I don’t care about the hot-upgrade thing and I pray I never need it.

But even if you end up needing it, IMO just having blue-green deployments with a load balancer is good enough.

derek-zhou

derek-zhou

No, but I am interested. I have an app that have internal state that taking many network loads and significant time to recover.

dimitarvp

dimitarvp

I am not experienced in hot upgrades but I’ve heard same thing you said repeated a number of other times and I admit this made me develop a remote (as in: not personally confirmed) bias to it.

IMO I think our current model of deploying apps is super outdated anyway e.g. if you need persistent WebSockets connections they absolutely must be managed by something else like a load balancer or a CDN-like service in front of your “real” app so as people never actually disconnect – and when you are redeploying your app the service on top should employ the blue-green deployment model and transparently hand-off the state and connections to the new app.

Same idea goes for DB connections and all other stateful components. Some cloud providers are doing this really well with attachable HDD / SDD volumes were you have literal zero downtime even if you issue a command like “please give me 50GB more”. Your app will never find out that it happened, it will just have access to the bigger storage medium right away.

…But that’s going in the territory of advanced computing R&D activities that nobody wants to champion, sadly.

cjbottaro

cjbottaro

Kubernetes deployments!! :smiley:

Where Next?

Popular in Polls Top

AstonJ
A terminal multiplexer is a software application that can be used to multiplex several separate pseudoterminal-based login sessions insid...
New
AstonJ
We had a thread here recently that mentioned webservers in PHP, and it got me curious about the options in the BEAM world and what everyo...
New
New
AstonJ
poll asdf Extendable version manager with support for Ruby, Node.js, Elixir, Erlang & more Manage multiple runtime versions with a ...
New
AstonJ
We last posted a poll like this in 2017 - here’s an updated version for 2022 - this one is slightly different.. You can select up to 3 -...
New
germsvel
:wave: hi there! I’m the creator of Testing LiveView. Now that the course is finished, I’m thinking of creating another one. But I’d lik...
New
AstonJ
Curious how much people are paying for hosting of their Elixir (or other BEAM lang) apps :smiley: The poll is anonymous so if you can ge...
New
arcanemachine
This was the first question on my mind when I saw this other thread by @AstonJ. I’m curious how many Phoenix users actually like using T...
New
AstonJ
How often do you buy a new dev machine? poll If there is any particular reason why you’ve settled on the frequency you have, please shar...
New
AstonJ
Posting this to see if we can make things easier for people to get into Neovim. If you use Neovim and have a favourite distro please let ...
New

Other popular topics Top

sorentwo
Hello! tl;dr Announcing Oban, an Ecto based job processing library with a focus on reliability and historical observability. After spen...
977 41022 311
New
yawaramin
In the Dialyzer docs ( http://erlang.org/doc/man/dialyzer.html#requesting-or-suppressing-warnings-in-source-files ), there is a way to tu...
New
albydarned
Hello all! I am typing this post from my new MacBook Pro with the M1 chip. I’m loving it so far, and will probably use it as my daily dr...
New
New
vac
Hi, I'm quite new in Elixir and I'm trying to format a string to a PEM format. I have the certificate value like MIIDBTCCAe2...... and ...
New
chrismccord
As promised, the first release candidate of Phoenix 1.3.0 is out! This release focuses on code generators with improved project structure...
New
aadeshere1
I have a another noob question about loop. Since elixir is immutable, while loop is not directly possible. total = 10 while total != 0 ...
New
shahryarjb
Hello, I have map which I want to convert it to string like this: the map: %{last_name: "tavakkoli", name: "shahryar"} the string I ne...
New
aesmail
Hello guys, I have finally made it. I created an admin interface for a framework. It’s been on my todo list for years and with the curre...
New
Nvim
Elixir appears to be a superior language to Python. I don’t see any advantage of Python over Elixir. Are there any?
New

We're in Beta

About us Mission Statement