How about an episode on zero-downtime deployment?
I have a Rails app on Heroku running on just 2 web dynos (Standard type).
I'd like to know how best to ensure uninterrupted access to the app for my users while also allowing me to deploy any time I like.
I love the concept of continuous deployment but the reality is that I often wait until the early hours of the morning to deploy in case there are issues. This is never ideal for obvious reasons!
Thanks, Dan.
Great idea! I think this would be important. There's a lot that goes into orchestrating a good deploy like that especially when database migrations are involved.
I would definitely recommend checking out Heroku's Preboot feature in the meantime. https://devcenter.heroku.com/articles/preboot
Hey Chris, thanks for the link. I also just found out about the new Pipeline feature they have in beta.
It looks perfect for me. Several apps - 'review', 'staging', production' - are all part of a single application pipeline and the build is promoted from one app to the next. So a new feature would go to review for internal checks, then staging for quality, then finally to production.
The beauty of it the pipeline is that it's the compiled slug that's promoted - that means no more long compile times when deploying to live. Just push the slug and restart the app. Sounds great.
Have a look and see what you think :)
I saw that recently and haven't had a chance to use it yet, but it seems like a wonderful option. I think that'll be the way to go especially if it's a seamless experience. The one question I have is how database migrations are handled between promotions. The code's the easy part, but the db migrations can cause some trouble.