Ahzed11

Ahzed11

Hot Code Upgrades with Elixir - Survey

Hello,

I am developing a CI/CD tool aimed at simplifying the testing of hot code upgrades. Your responses to the following questions would be crucial in helping me make informed decisions to support Elixir.

  1. Do you use OTP’s releases ?
  2. Do you perform hot code upgrades/downgrades ?
  3. What tools do you currently use ? (Mix, Rebar, custom scripts, …)
  4. For what kind of project do you use this functionality ? (Web, Telecom, IoT, …)

Thank you in advance for your answers !

Most Liked

dimitarvp

dimitarvp

Yes, of course.

Nope, every time I looked into it, it looked to introduce more problems than it solves. Having a load balancer that drains the connections to the old VM / pod on deploying a new one has worked super stably with complete zero-downtime so far (though it does require slight trickery sometimes f.ex. if you keep a local GenServer state and that controls rate limiting to a sensitive resource you are very likely to temporarily go over the rate limit due to lost state).

Mix, Docker, docker-compose and scripts to check for container / pod readiness & liveness. Also for initial DB setup and seeding (the PostgreSQL official Docker container allows you to drop scripts into a special directory and the DB will execute them all before announcing it’s ready).

Web / API and Telecom. The main one I am working on right now is listening for messages on a broker’s queue (in this case Kafka but we are researching alternatives) and then communicates with SIM cards worldwide.

LostKobrakai

LostKobrakai

  1. Yes
  2. No. It seem to be too easy to shot yourself in the foot (possibly without noticing it) for the usually small amounts of upsides (in my work). Would love to learn more if that’s an incorrect assumption though or if there’s reliable ways to detect issues for someone without extensive experience doing them.
  3. Mix to build the release. Systemd and/or docker for running it.
  4. Mostly Web, some IoT
greven

greven

  1. Yes.
  2. No. Would like to but it does seem complicated and not available in releases so didn’t give much more thought.
  3. Mix and the release with systemd.
  4. Web.

Last Post!

jswanner

jswanner

  1. Yes
  2. No
  3. Mix
  4. Web

Where Next?

Popular in Discussions Top

New
AlexMcConnell
The reason that Rails is as popular as it is is because it’s very easy for relatively inexperienced developers to get a lot of work done....
588 20046 166
New
AstonJ
If a newbie asked you about Phoenix Contexts, how would you explain the basics to them? Feel free to be as concise or in-depth as you li...
New
chuck
Let me start by stating an assumption: Phoenix is a great approach to building REST APIs. There are many reasons for this, but I will ass...
New
klo
Got a question about when to concat vs. prepending items to list then reversing to achieve appending. So i know lists boil down to [1 | ...
New
owaisqayum
I have a sample string sentence = "Hello, world ... 123 *** ^%&*())^% %%:>" From this string, I want to only keep the integers, ...
New
fireproofsocks
I’ve been working on an Elixir project that has required a lot of scripting. I usually reach for Elixir because I like it more (and in th...
New

Other popular topics Top

grych
Hi folks, Few months ago I have announced the proof-of-concept of the library to manipulate the browsers DOM objects directly from Elixi...
639 54006 488
New
New
openscript
Hello! Sorry for this astonishing simple question, but I’m really stuck. I try to set up the intellij-elixir plugin, but I don’t know ho...
New
sen
Hi All, I set a environment variables in dev.exs , like below code. when i start server, how can i set the ${enable} value? thanks. d...
New
alice
Hey, Just curious what are the main benefits of Elixir compared to Clojure? When is Elixir more useful than Clojure and vice versa? Th...
New
TunkShif
This post is an instruction guide to help you setup your Neovim for Elixir development from scratch. It includes general information on h...
274 42533 114
New

We're in Beta

About us Mission Statement