web-dev-qa-db-fra.com

Quelqu'un peut-il expliquer le véritable paysage du déploiement de Rails vs PHP, en particulier dans le contexte de l'hébergement Web basé sur le revendeur (par exemple, Hostgator)?

Actuellement, j'ai un compte revendeur auprès de la société HostGator. Je conçois des sites Web, qui jusqu'à présent étaient parfois encapsulés dans Wordpress CMS et similaires (applications PHP). Je vends ensuite l'hébergement (du site que j'ai conçu) au client, ce qui est assez simple, en ce sens que je peux simplement cliquer sur un bouton et ajouter un nouveau compte/site d'hébergement partagé avec les paramètres de mon choix. De plus, j'utilise ensuite WHMCS pour automatiser la facturation et la gestion des comptes.

C'est un joli paquet et assez simple. Je paie quelque chose comme 25 dollars par mois et je peux vendre une centaine de comptes avec cela (parce que les besoins en bande passante de mes clients sont faibles).

Maintenant, je découvre la nécessité de développer des applications plus personnalisées, notamment un CMS minimaliste et plusieurs logiciels propriétaires. Je prévois bientôt de développer ces applications pour les clients également. J'ai donc passé les derniers mois à apprendre Rails, et tout va bien maintenant.

Ce qui m’attaque depuis toujours, c’est le problème du déploiement. Je ne peux pas envelopper mon cerveau autour de ça. Il semble que toutes les options populaires (Heroku, etc.) ont une automatisation Nice avec git et sont configurées dans "Rails Way". Je comprends ça (en quelque sorte). Mais c’est terriblement cher… un seul dyno, une aide et la base de données la moins chère (qui, dit-on, est principalement appropriée pour les tests) qui n’est pas limitée à 5 Mo fonctionne à 51 $. Ceci est pour une application !!! Ajoutez une base de données "de production" et vous avez plus de 200 $. C'est comme ... les mêmes prix que d'avoir un serveur quelque part, non?

En attendant, pour revenir à ce que je suppose être un environnement d'hébergement "traditionnel" avec Hostgator, leur serveur n'a que Ruby 1.8.7 et Rails 2.3.5 ... Non Rails 3. ET, pas de passager (ce n’est pas que je comprenne vraiment la différence entre CGI, mod_Rails ou autre chose, mais ils disent que le passager est le plus simple). Je dois donc comprendre que si je construis une application dans Rails 3, elle ne fonctionnera pas du tout sur cet hôte? Mais bon sang, j'ai déjà ces comptes sous mon compte revendeur, tous exécutant du code HTML statique et/ou PHP, ce n'est pas grave? Alors quoi maintenant? Comment puis-je obtenir tout cela sous un toit simple (et abordable)?

Pardonnez mon ignorance, mais je ne comprends tout simplement pas. Gérer un VPS, c'est cool et tout, mais cela implique d'apprendre des choses sur l'administration du serveur et la sécurité ... Et ça coûte cher. Je me rends compte qu'un partage et/ou un revendeur "basé sur le serveur" (pardonnez la terminologie) peut être inadéquat pour les applications à grande échelle qui utilisent beaucoup de bande passante ... Mais qu'en est-il de ceux qui construisent de véritables (avec Rails) et qui souhaitent les déployer simplement, à moindre coût, en utilisant la même approche conceptuelle que PHP? Même après avoir appris tout cela Ruby et Rails pendant des mois, je me demande si cela en vaut la peine quand il s'agit de déploiement. Je souhaite créer une petite application, la télécharger dans mon répertoire personnel sur un compte de serveur partagé et la faire fonctionner. Pourquoi cela devrait-il être si difficile? Est-ce que je choisis juste le mauvais langage/framework?

Pardonnez mon ignorance dans le sujet; ces questions ne sont pas rhétoriques; juste essayer d'apprendre ici.

Alors:

1) J'apprécierais que quelqu'un me donne un bon aperçu de la façon de comprendre le déploiement dans Rails par rapport à PHP.

2) J'apprécierais que quelqu'un puisse résoudre mon problème de gestion d'une entreprise d'hébergement/Web autour de l'hébergement revendeur (Hostgator) tout en pouvant héberger des applications Rails. Cela peut-il être fait? Et comment une entreprise comme Hostgator peut-elle ignorer complètement l'actualité de Rails/Ruby?

Merci.

15
rcd

Bien que Rails l'hébergement ne soit probablement jamais aussi économique que PHP, les besoins en infrastructure étant toujours plus élevés, il n'est pas coûteux d'héberger un site Rails.

Il faut un certain savoir-faire technique pour déployer correctement un serveur basé sur Linux et le charger sur Rails et tous les éléments associés de la base de données, mais il ne s'agit pas d'un obstacle insurmontable. Tout programmeur compétent pourrait probablement se familiariser avec l'espace de quelques semaines avec seulement quelques heures par jour et un bon ouvrage de référence. C’est le genre de chose qu’il est utile de connaître quand même, car cela vous aide à optimiser votre environnement de déploiement.

De nombreux systèmes "prêts à l'emploi" Rails sont chers. EngineYard , Joyent et Herok en sont d'excellents exemples, mais dans tous les cas, ils comportent une prime par rapport à l'alternative auto-hébergée.

Si vous avez un client qui peut se permettre cette prime, il vaut la peine de tirer parti de son expertise. Si votre budget est très serré, vous ne pourrez peut-être pas justifier cela.

Le moins cher Rails solution d'hébergement que je connaisse et qui fonctionne utilise Linode avec une distribution standard combinée à Passenger . Avec quelques réglages de base, rien de particulièrement difficile, vous pouvez héberger un site de taille petite à moyenne sur même leur offre la moins chère. Une machine disposant de 512 Mo de mémoire peut généralement héberger deux à trois Rails sites faiblement chargés ou un site occupé. Par charge légère, j'entends des centaines de visiteurs par jour. Occupé est des milliers à des milliers de personnes.

En fait, j'ai eu tellement de problèmes avec PHP hébergement partagé que cela ne vaut pas la réduction des coûts de le faire de cette façon. Au lieu de cela, j'ai plusieurs systèmes VPS sur Linode qui sont spécifiquement conçus pour les blogs PHP, WordPress, et ils fonctionnent très bien. Même si vous pensez que vous devez parfois installer des correctifs sur les machines, vous pouvez au moins planifier cela et anticiper les problèmes potentiels au lieu d'être à la merci de votre fournisseur.

Les sociétés d’hébergement de produits de base cassent souvent les choses accidentellement et le rétablissement du service peut s’avérer être un processus fastidieux de tickets de dépannage et d’appels téléphoniques.

Le déploiement de n’importe quelle application, Rails ou autre, est une question de flux de travail. De nombreux outils Ruby tels que Capistrano et Chef peuvent rendre la gestion des applications beaucoup plus facile qu'une approche manuelle.

Mon point de vue sur Rails: Cela peut coûter un peu plus cher, mais il est beaucoup plus facile à gérer une fois que vous vous êtes habitué aux outils et que vous automatisez votre flux de travail.

9
tadman

Ce n’est pas une réponse à votre question, mais pour être très honnête, mon impulsion initiale lorsque j’ai lu à propos de la configuration de votre entreprise était: "Pourquoi ne reste-t-il pas juste avec PHP?"

Ne vous méprenez pas: je suis sûr que Ruby est une belle langue et Rails un cadre génial, dont la majeure partie est supérieure à bien des égards à PHP. C'est également un bon moyen pour un développeur d'explorer de nouveaux domaines, etc.

Mais d’un point de vue purement commercial, PHP est sans doute "là où il en est" pour trois choses importantes en ce moment:

  • Hébergement bon marché, et

  • Logiciel CMS pour tous les goûts, tailles, niveaux et exigences de compétences et couleurs préférées. Certains sont même utilisables à moitié, et

  • Des développeurs abordables, certains même à mi-chemin.

Donc, si j'étais vous, je vérifierais si vos exigences peuvent être satisfaites avec PHP en premier.

Sinon, +1 pour avoir posé une question très réfléchie et il sera intéressant de voir les résultats. J'ai ont vu abordable Rails hébergement, mais il y en a très peu.

5
Pekka 웃

J'ai trouvé un très bon Rails hôte partagé: webfaction . J'en suis vraiment satisfaite. Vérifiez-le! Les prix sont incroyablement bas, ils offrent des installateurs en un clic pour Rails, le nombre de sites que vous pouvez héberger est illimité. La version de Rails la plus supportée est 3.0.5 !!! :) Vous avez un accès ssh à votre partage, vous avez donc un contrôle total, vous pouvez déployer avec capistrano ou faire des choses à la main sur le serveur. Vraiment génial.

Leur documentation est vraiment bonne et ils ont un forum de soutien très actif pour toutes les autres questions.

3
nathanvda

Une bonne nouvelle solution à ce vieux problème est Digital Ocean .

Nous avons déployé une application Rack et ce n'est pas si difficile. Les prix commencent à 5 $/mois/app.

Ils ont un application en un clic pour Rails, ce qui devrait faciliter les choses.

1
B Seven