Hello,
La première idée qui me vient parce que je l’ai testé cette semaine : Amazon Elastic Beanstalk.
Amazon offre un an de free tier sur la plupart des services AWS à la création du compte (Carte bancaire requise)
Il y a plusieurs services qui permettent de déployer du Rails avec des niveaux de configurations plus ou moins complexe :
- Elastic Beanstalk
- CodeDeploy
- CloudFormation
- OpsWorks
- EC2
- …
Le premier me semble très proche de Heroku. Une fois le client Amazon installé tu peux déployer en une ligne de commande ‘eb deploy’. L’environnement reconnait que c’est une appli Rails et assume une grosse partie de la configuration. Création de DB, compilation des assets, serveur web (passenger, puma dispo), une ou plusieurs machines avec load balancing… les services AWS peuvent être ajoutés : memcached, redis. Possibilité de faire une stack worker.
Pour l’instant j’y ai mis une appli Rails minimaliste sans configuration complexe et ça fonctionne. Il est possible de configurer des choses avec des fichiers de conf pour le déploiement (un peu comme capistrano). Pas encore réussi à faire fonctionner les crons avec la gem ‘whenever’ mais ça devrait être possible. Les variables d’environnement se configure soit en ligne de commande ou via l’interface.
Ressource: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_Ruby_rails.html