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

rms.mrcs
A couple of days ago I was discussing with a friend about different approaches to write microservices. He said that if he was going to w...
New
boundedvariable
I am going through the kafka architecture. All the features what the kafka is providing are already in Erlang. I would like hear your opi...
New
slashdotdash
Phoenix Live View is now publicly available on GitHub. Here’s Chris McCord’s tweet announcing making it public.
New
owaisqayum
I have a sample string sentence = "Hello, world ... 123 *** ^%&*())^% %%:>" From this string, I want to only keep the integers, ...
New
nunobernardes99
Hi there Elixir friends :vulcan_salute: In a recent task I was on, I needed to check in two dates which of them is the maximum and which...
New
cvkmohan
The upcoming Phoenix 1.6 release looks very interesting. Became a habit to watch the commits - and - what they are bringing in. phx.gen...
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

JeremM34
Hello, how can I check the Phoenix version ? Thanks !
New
New
vonH
When I run the Plug and I recompile I wind up having to use Ctrl C to quit iex and start again. Witht the help of rlwrap I can use the cu...
New
gshaw
What is the idiomatic way of matching for not nil in Elixir? E.g., First way: defp halt_if_not_signed_in(conn, signed_in_account) when...
New
AngeloChecked
What learn first? Rust or Elixir Hi Elixir community! I’m here because i want learn a new language. I’m a junior developer and mainly i ...
New
WestKeys
Currently suffering from paralysis by [HTTP client] analysis. This is rather unusual in Elixirland as there tends to be consensus on the ...
New

We're in Beta

About us Mission Statement