After the 16 hours downtime of Heroku and AWS we're thinking of how to make our website stay up even when heroku or AWS are down.
Is there something better than just backup the app every 5 minutes, hold a dedicated server on the same state than heroku and in case of downtime edit our DNS Settings?
When it comes to HA and Rails, your data layer is going to be the sticky point. Obviously, your code can pull from the Heroku repo periodically, so you know that you'll be in sync that way. So how can we get the db offsite...
If the uptime is really worth it to you, it may be worthwhile to investigate a service like xeround, which can handle your db HA requirements for you.
Or, consider running your own Postgres / MySQL in AWS, and have a replicated slave on the Rackspace cloud or something like that in case AWS goes down completely.
I hope this helps.
To be honest, the only real way is to spread your bets. By having everything on Heroku, your prone to Heroku and EC2 outages (Heroku being built purely on EC2). Only by moving some services elsewhere for redundancy will you be able to reduce your exposure to a service going down.
For simplicities sake keeping redundant systems idle is a great way of ensuring that you can quickly flip from one to another without having to incur the costs of running two systems at once, however, you need to consider things such as spin up time, and keeping your data up to date.