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 !

First Post!

lawik

lawik

Nerves Core Team
  1. Yes
  2. No :frowning:
  3. Mix
  4. Web, IoT

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

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 20142 166
New
PragTob
Hey everyone, this has been brewing in my head some time and it came up again while reading Adopting Elixir. GenServers, supervisors et...
New
jer
I’ve been using umbrellas for a while, and generally started off (on greenfield projects at least) by isolating subapps based on clearly ...
New
chulkilee
Here are the list of HTTP client libraries/wrappers, and some thoughts on HTTP client in general. I’d like to hear from others how they w...
New
tmbb
This is a post to discuss the new Phoenix LiveView functionality. From Chris’s talk, it appears that they generate all HTML on the serve...
342 18634 126
New
slashdotdash
Phoenix Live View is now publicly available on GitHub. Here’s Chris McCord’s tweet announcing making it public.
New
Rustixir
Hi everyone, im working on find best language/framework/system for high concurrency, high performance and stable performance after wor...
New

Other popular topics Top

rms.mrcs
Hi, I need to transform a list of numbers into a map where the keys are the indexes and the values are the original values of the list. ...
New
vertexbuffer
Hello, can anybody help here..? I have a list of players and I what to delete an element, but every for loop the list is reverting to ori...
New
baxterw3b
Hi guys, i’m new in the Elixir world, and i have to say, that i love it! i’m having some problem to understand anonymous functions with ...
New
jononomo
I am trying to figure out how Mix knows whether the environment is test, dev, or prod – where is this set? Thanks.
New
stefanchrobot
What’s the safe way to decode a JSON string into a struct? I want to avoid calling String.to_atom. Jason.decode can give me a map with st...
New
SoCreat
i’m a new one to elixir which editor can i use vs code? or atom? Thanks! :smiley:
New

We're in Beta

About us Mission Statement