I would like to learn what my options are for updating a live Phoenix app with minimal downtime. There are probably guides on this topic, but since this is still early in the life of Phoenix (relatively speaking), I don't want to spend time chasing old leads if they aren't currently useful.
Can someone point me to a recent guide or perhaps describe here a strategy they use?
My challenge is that I have a live app that always has a few users, day or night. If I could replace little pieces (such as a controller+template) individually, then I could do in-place updates with practically no downtime.
Instead, I find myself rebuilding the whole app - which takes 30-90 seconds, enabling a 503 page, restarting cowboy, waiting what seems like forever for it to kill old processes and start new ones, and then remove my 503 page. While the building of the app isn't visible to users, the app restart is.
I realize this is considered unprofessional, but I miss the days when I could replace a JSP or PHP page and it would recompile on the fly with no downtime.