Comment héberger une application Rails gratuitement (ou presque) ?

Hello

Heroku était la solution par défaut pour les développeurs Rails qui voulait mettre en ligne gratuitement une application Ruby on Rails consommant peu de ressources. Malheureusement, l’offre gratuite d’Heroku force l’application à dormir 6h par jour à présent :

Quelles sont les alternatives ?

1 « J'aime »

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

2 « J'aime »

Ca n’affecte malheureusement pas que les devs RoR. Je connais des collègues qui faisaient tourner du Java gratuitement sur Heroku, je ne sais pas si il y a un PAAS gratuit alternatif aussi pour Java pour les applications à faible ressources.

En PaaS je ne connais que AWS Beanstalk qui propose 1 instance T2.micro gratuite (1GB, 1vCPU) pendant 1 an aux nouveaux inscrit

En IaaS il y a aussi Rackspace qui offre 600$ de crédit aux nouveaux inscrit : https://developer.rackspace.com/ (2GB, 2vCPU pendant 1 an)

Semi-hors sujet : Mon conseil ça serait de pas trop se prendre la tête avec ça et de continuer avec Heroku :
Soit c’est une appli en mode “loisir” du genre un hackathon, un projet perso avec 3 users, etc => L’appli qui dort 6h ce n’est pas un gros problème.

Soit c’est un projet “sérieux” et leur plan payant commence à 7$, si le projet n’a pas 7$ de budget on pourrait challenger le fait que c’est sérieux ;)

2 « J'aime »

Moi je trouve que le gap entre 0$ à 7$ est assez important. Je suis peut être radin, mais autant 2$ ou 3$ je lâche facilement (cf. les micro transactions des app mobiles ou modèle eco des f2p qui ont fait leur preuve) autant 7$ psychologiquement c’est un gap.

C’est clair, je pense pas que toutes les appli aient besoin de payer 7$ !

Ce que je voulais dire c’est qu’il est difficile d’un coté de dire "c’est une appli ultra critique, y a des choses TRES importantes qui dépendent de cette appli. Elle doit donc être up 24/24."
Et de l’autre coté dire que le budget maximum pour cette appli est de 2$.

2$ c’est 2 carambar, ce n’est pas quelque chose d’important, ça peut dormir la nuit.

;)

1 « J'aime »

Il y a DigitalOcean qui propose un hébergement à 5$/mois
et sinon pour les pétés de thune, il y a railsprod.com mais à 19,90€ c’est pas donné !

Sur du payant il y a aussi Scalingo qui commence à 7,20€ et au moins c’est français.

OpenShift a un plan gratuit, je n’ai jamais testé mais SitePoint via de publier un petit tuto pour y déployer une appli Rails.

3 « J'aime »

Il est également possible de consommer local avec le PaaS Clever Cloud ;). Ils ont un plan à 4,5 euros par mois.

(je ne suis pas client mais ils ont fait pas mal de com et ils organisent les human talks à Nantes donc voilà).

Également, Gandhi propose du PaaS à partir de 4€ par mois que tu peux coupler avec un nom de domaine.

https://www.gandi.net/hebergement/simple?language=ruby

1 « J'aime »

Je savais pas que gandi proposait du PaaS, merci pour l’info.
Bon même si en Ruby je déconseillerais fortement :

Ruby : 1.9.3 only
Database limitations : PostgreSQL 9.2

Démarrer un nouveau service aujourd’hui sur cette stack ça serait dommage.

Human Coders - Le centre de formation recommandé par les développeur·se·s pour les développeur·se·s