Déployer une application Rails 3.x sur AWS (Amazon Web Services) avec Capistrano, Nginx et Passenger (Partie 1/2)
J'ai déjà écrit deux articles pour expliquer comment déployer une application Rails sur Heroku. Pour ceux qui ne savent pas ce que c'est, il s'agit d'un service de PaaS (Plateform as a Service) dans le cloud, permettant de déployer votre application Rails (ou autre) en moins de temps qu'il ne faut pour l'écrire !
Heroku est vraiment formidable et j'admire le travail effectué par l'équipe de développement, mais son seul point faible actuellement est qu'il ne permet pas (encore ?) de choisir la zone géographique dans laquelle on souhaite déployer notre application. En effet, Heroku se base sur les services d'Amazon, mais utilise par défaut les serveurs basés aux États-Unis. Partant de ce constat, deux problèmes se posent à moi :
- étant situé à la l'île de la Réunion, le temps de latence peut être très long juste pour le chargement d'une simple page.
- je souhaite déclarer ma base de données à la CNIL, mais celle-ci ne doit pas quitter la zone européenne, ou doit être hébergée par un membre du Safe Harbor, ce qui n'est pas le cas d'Heroku.
Dans ce cas, je n'ai plus le choix, je dois me lancer sans les filets d'Heroku. Et vous allez m'accompagner dans cette aventure, en espérant que cela puisse vous être utile !