Curious to know how many people do zero-downtime deployment of backend code and how many people regularly take their service down, even if very briefly, to roll out new code.
Zero-downtime deployment is valuable in some applications and a complete waste of effort in others, of course, but that doesn’t mean people do it when they should and skip it when it’s not useful.
Our backend is written in Go… CI/CD compiles the binary, uploads it to the server under a temporary name, mv’s it into place and -HUP’s the process. So no downtime at all.
what about after the HUP? The time between HUP and the new binary starting up would be considered downtime
We’re talking milliseconds. The whole thing is run through an nginx proxy which would immediately retry if it failed.