Qualcuno può spiegare il vero panorama della distribuzione di Rails vs PHP, in particolare nel contesto dell'hosting web basato sui rivenditori (ad esempio Hostgator)?


15

Attualmente, ho un account rivenditore con la società HostGator. Progetto siti Web, che fino ad ora sono stati occasionalmente inseriti in CMS Wordpress e simili (applicazioni PHP). Vendo quindi l'hosting (del sito che ho progettato) al client, il che è piuttosto semplice, in quanto posso semplicemente fare clic su un pulsante e aggiungere un nuovo account / sito di hosting condiviso con le impostazioni che desidero. Inoltre, utilizzo WHMCS per automatizzare la fatturazione e la gestione dell'account.

È un bel pacchetto e piuttosto semplice. Pago qualcosa come $ 25 al mese e posso vendere un centinaio di account in base a questo (perché i requisiti della larghezza di banda dei miei clienti sono bassi).

Ora sto trovando la necessità di sviluppare applicazioni più personalizzate, tra cui un CMS minimalista e diverse cose proprietarie. Presto anticiperò lo sviluppo di queste app anche per i clienti. Quindi, ho passato gli ultimi mesi ad imparare Rails, e ora sta andando bene.

La cosa che mi ha tormentato da sempre, tuttavia, è il problema della distribuzione. Non riesco ad avvolgerci il cervello. Sembra che tutte le opzioni popolari (Heroku, ecc.) Abbiano una buona automazione con git e siano impostate in "Rails Way". Ho capito (una specie di). Ma è terribilmente costoso ... un singolo dyno, un aiutante e il database più economico (che si dice sia principalmente adatto per i test) che non è limitato a 5 MB esegue $ 51. Questo è per UNA app !!! Aggiungi un DB di "produzione" e avrai oltre $ 200. È come ... gli stessi prezzi di un server da qualche parte, giusto?

Nel frattempo, tornando a quello che immagino sia un ambiente di hosting "tradizionale" con Hostgator, il loro server ha solo Ruby 1.8.7 e Rails 2.3.5 ... No Rails 3. E, nessun Passeggero (non che io capisca davvero la differenza in CGI o mod_rails o altro, ma dicono che Passenger è il più semplice). Quindi devo capire che se creo un'app in Rails 3, non funzionerà affatto su questo host? Ma dannazione, ho già questi account sotto il mio account rivenditore lì, tutti con roba html e / o PHP statica, giusto? Così quello che ora? Come posso ottenere tutto questo sotto un unico tetto (e conveniente)?

Perdona la mia ignoranza, ma proprio non capisco. La gestione di un VPS è interessante e completa, ma implica l'apprendimento delle informazioni e della sicurezza dell'amministratore del server ... Ed è costoso. Capisco che un "server-based" condiviso e / o reseller (perdona la terminologia) potrebbe essere inadeguato per le app su larga scala che usano molta larghezza di banda ... Ma che dire di quelli di noi che stanno realizzando (ma piccoli e larghezza di banda ridotta) (con Rails) e chi desidera implementarle in modo semplice, economico, utilizzando lo stesso approccio concettuale di PHP? Anche dopo aver appreso tutto questo materiale su Ruby and Rails per mesi, mi chiedo se ne valga la pena quando si parla di distribuzione. Voglio creare una piccola app, caricarla nella mia home directory su un account server condiviso e farla funzionare. Perché dovrebbe essere così difficile? Sto solo scegliendo la lingua / il quadro sbagliati?

Perdona la mia ignoranza in materia; queste domande non sono retoriche; sto solo cercando di imparare qui.

Così:

1) Gradirei se qualcuno potesse darmi una buona panoramica di come comprendere la distribuzione in Rails vs. PHP.

2) Gradirei se qualcuno potesse risolvere il mio problema con la gestione di un business di hosting / web attorno all'hosting di rivenditori (Hostgator) e al contempo essere in grado di ospitare app Rails. Si può fare? E come può un'azienda come Hostgator ignorare completamente ciò che è attuale in Rails / Ruby?

Grazie.


2
+1 per non dire "ehi, affitterò solo un VPS! Non verrò hackerato perché ho aggiornamenti automatici, giusto?"
Pekka,

4
@closevoters se devi chiudere il tuo voto, almeno vota per migrarlo su serverfault o webmaster. È una domanda perfettamente valida e per nulla polemica
Pekka il

Risposte:


9

Sebbene l'hosting di Rails probabilmente non sarà mai così economico come PHP, poiché i requisiti dell'infrastruttura sono sempre più elevati, non è costoso ospitare un sito Rails.

Ci vuole una certa quantità di abilità tecnica per distribuire correttamente un server basato su Linux e caricarlo su Rails e tutte le cose di back-end del database associate, ma questo non è un ostacolo insormontabile. Qualsiasi programmatore competente potrebbe probabilmente aggiornarsi in poche settimane con poche ore al giorno e un buon libro di consultazione. Questo è il genere di cose che è utile sapere in ogni caso in quanto ti aiuta a ottimizzare l'ambiente di distribuzione.

Molti sistemi di hosting Rails "pronti all'uso" sono costosi. EngineYard , Joyent e Heroku ne sono un ottimo esempio, ma in ogni caso portano un premio rispetto all'alternativa self-hosted.

Se hai un cliente che può permettersi questo premio, vale la pena approfittare della sua esperienza. Se hai un budget molto limitato, potresti non essere in grado di giustificarlo.

La soluzione di hosting Rails più costosa che conosco funziona che utilizza Linode con una distribuzione standard combinata con Passenger . Con alcune ottimizzazioni di base, niente di particolarmente difficile, puoi ospitare un sito di piccole e medie dimensioni anche sulla loro offerta più economica. Una macchina con 512 MB di memoria può in genere ospitare da due a tre siti Rails leggermente carichi o uno occupato. Per leggero carico intendo centinaia di visitatori al giorno. Occupato è da migliaia a decine di migliaia.

In effetti, ho avuto così tanti problemi con l'hosting PHP condiviso che non vale la pena risparmiare sui costi per farlo in quel modo. Invece ho diversi sistemi VPS su Linode che sono specifici per l'hosting PHP, i blog di WordPress, in genere, e funzionano molto bene. Anche se potresti trovare un fastidio in cui devi andare e patchare le macchine di tanto in tanto, almeno puoi programmarlo e anticipare potenziali problemi invece di essere in balia del tuo fornitore.

Le società di hosting delle merci spesso rompono accidentalmente le cose e ottenere il ripristino del servizio può essere un processo che richiede tempo per problemi con biglietti e telefonate.

La distribuzione di qualsiasi applicazione, Rails o altro, riguarda il flusso di lavoro. Molti strumenti orientati a Ruby come Capistrano e Chef possono rendere la gestione delle applicazioni molto più semplice di un approccio manuale.

La mia opinione su Rails: può essere un po 'più costoso, ma è molto più facile da gestire una volta che ti sei abituato agli strumenti e automatizzi il tuo flusso di lavoro.


1
Una buona panoramica su come ospitare le rotaie, +1. Il vantaggio dell'hosting automatico è che devi essere un po 'bravo, riservarti un po' di tempo per occuparti della tua scatola di frequente e sapere cosa fare quando questo accade nel cuore della notte. Questo è ciò che mi ha sempre tenuto lontano da esso
Pekka,

5

Non una risposta alla tua domanda, ma ad essere sincero, il mio impulso iniziale quando ho letto della configurazione della tua attività è stato: "Perché non si attacca semplicemente a PHP?"

Non fraintendetemi: sono sicuro che Ruby è un linguaggio meraviglioso, e Rails è un ottimo framework e gran parte di esso è in molti modi superiore a PHP. È anche fantastico per uno sviluppatore esplorare nuovi campi, ecc. Ecc.

Ma da una prospettiva puramente aziendale, PHP è probabilmente "dove si trova" per tre cose importanti al momento:

  • Hosting economico e

  • Software CMS per ogni gusto, dimensione, livello e competenza e colore preferito. Alcuni di essi sono utilizzabili anche a metà strada e

  • Sviluppatori convenienti, alcuni dei quali anche a metà strada.

Quindi, se fossi in te, verificherei se i tuoi requisiti possano essere soddisfatti prima con PHP.

Altrimenti, +1 per aver posto una domanda molto ponderata, e sarà interessante vedere i risultati. Io ho visto le rotaie hosting a prezzi accessibili, ma è pochi e lontani tra loro.


Sembra che PHP sia a metà strada su ogni conto dalla tua descrizione. Non è poi così male per quanto riguarda l'ambiente, e dal punto di vista aziendale, a parte la codifica, è solo un componente per un altro. Che tipo di sviluppatori hai a disposizione potrebbe essere il fattore trainante qui.
Tadman,

Grazie. Spero di non aver iniziato una guerra con questa domanda e che non si trasformi in quella. Sto solo cercando di avvolgere la mia testa attorno a queste cose dal punto di vista di un'azienda e di un aspirante sviluppatore (senza alcun attaccamento reale a un linguaggio o paradigma particolare).

@rcd sei il benvenuto. L'unica cosa è che questa domanda potrebbe essere migliore su Serverfault.com o Webmasters.SE - se cinque persone votano di conseguenza, verrà automaticamente migrata lì.
Pekka,

Suona bene; Terrò a mente quei siti d'ora in poi; se dovessi fare qualcosa per spostarlo lì (o semplicemente ripubblicarlo lì), per favore fatemi sapere; Potrei non essere a conoscenza di tale funzionalità.

3

Ho trovato un ottimo host condiviso di rotaie: webfaction . Ne sono molto contento. Controlla! I prezzi sono incredibilmente bassi, offrono programmi di installazione con un clic per le rotaie, il numero di siti che puoi ospitare è illimitato. La versione di rotaie più supportata è la 3.0.5 !!! :) Hai accesso ssh alla tua condivisione, quindi hai il pieno controllo, puoi distribuire usando capistrano o fare cose a mano sul server. Davvero fantastico.

La loro documentazione è davvero buona e hanno un forum di supporto molto attivo, per tutte le altre domande.


1

Una buona nuova soluzione a questo vecchio problema è Digital Ocean .

Abbiamo distribuito un'app Rack e non è poi così difficile. Il prezzo parte da $ 5 / mese / app.

Hanno un'app One-Click per Rails che dovrebbe semplificare le cose.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.