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

josefrichter
There are two polls and a third question… 1) Displays poll 2) Orientation poll 3) Configuration Please let us know how you are using you...
New
JEG2
Which topics would you most like to see covered in downloadable Livebook guides (like the How to Train Your Scrappy Programmer series I r...
New
New
AstonJ
I think I’ve used LittleSnitch since my first ever Mac - does anyone else use it or whatever the equivalent is on your OS? What does it ...
New
spicychickensauce
There are many v0 libraries in the elixir echo system, where at least officially, semantic versioning means nothing. However, it seems t...
New
AstonJ
Following on from a conversation in the Tidewave thread - how useful do you think AI dev tools are right now and how useful do you think ...
New
AstonJ
Polls are a great way to easily get a snapshot of things, and we’ve had some really interesting polls over the years! Here are some tips...
New
hst337
Do you use hot-reload/recompilation in production? Please note that this poll is only about BEAM’s internal features of runtime upgrades ...
New
axelson
I’m working on VSCode ElixirLs syntax highlighting, and different themes support different syntax definitions. So I am curious about whic...
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

9mm
I am constructing a JSON object (map) and I need to conditionally set a field. I’m trying to write proper elixir-way code… and I’m at a l...
New
minhajuddin
I have seen a lot of code which picks the first element from a list using Enum.at(0) instead of List.first. Is there a reason why people ...
New
JakeBecker
TL;DR: I’ve just released an implementation of Microsoft’s IDE-independent Language Server Protocol for Elixir. It adds language support ...
1140 51847 244
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
JorisKok
I have a server on AWS, and was running a load test using artillery. When looking at the Phoenix dashboard I see the Ports going to 100% ...
New
axelson
This post is a wiki (feel free to hit the edit button near the bottom right of this post to add your own changes!) This post collects co...
239 45766 226
New
KronicDeth
Elixir plugin for JetBrain’s IntelliJ Platform (including Rubymine) This is a plugin that adds support for Elixir to JetBrains IntelliJ...
289 35421 110
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
fireproofsocks
Forgive me if this is obvious, but how does one delete a database record WITHOUT selecting it first? https://hexdocs.pm/ecto/Ecto.Repo.h...
New
skosch
To my knowledge, put_in, Map.update etc. all have the one limitation of not automatically creating intermediate keys when needed (for exa...
New

We're in Beta

About us Mission Statement