logoalt Hacker News

jstanleyyesterday at 2:02 PM2 repliesview on HN

> How Do You Handle Deployments?

This section misses the one thing I was interested in: how do you avoid downtime in a deployment?

I like to write web applications with Perl and Mojolicious, and a deployment is just "hypnotoad app", and then hypnotoad gracefully starts up new worker processes to handle new requests and lets the other ones exit once they've finished handling their in-flight requests.

When I switched to Docker I found that there was no good way to handle this.


Replies

fnoefyesterday at 2:06 PM

Record the existing container id, rescale the service to 2 instances (hence bringing a second container up), wait for the second one to be healthy, (optional) stop directing traffic to the old container, wait a few seconds, stop the old container, rescale the service back to 1 instance.

show 2 replies
nsxwolfyesterday at 2:14 PM

[dead]