Utilizzando uno dei servizi è per la maggior parte giù le mani - si scrive il codice e far loro preoccuparsi di gestire la casella, tenere il vostro processo, creando il canale di pubblicazione, l'applicazione di patch del sistema operativo, ecc ...
Al contrario, avere la tua VM ti offre un maggiore controllo, ma con un investimento in avanti più lungo e costante.
Un'altra considerazione è che alcuni host e provider di servizi cloud offrono variazioni proprietarie o distinte sulle tecnologie. Hanno motivi per loro e offrono valore, ma significa che se si desidera cambiare fornitore di cloud, potrebbe significare che si deve riscrivere il codice, gli script di distribuzione ecc ... D'altro canto aveva VM con sistema operativo standard come linea di base è piuttosto generico. Se si automatizza/script/documenta la configurazione delle macchine virtuali e il codice rimane generico, le opzioni rimangono aperte.Se si prende una dipendenza da una tecnologia cloud proprietaria, sarebbe bene astrarla via un'interfaccia in modo che sia un componente disaccoppiato e non sprecato nel codice.
Ho fatto entrambe le cose. Recentemente ho fatto il percorso VM principalmente perché volevo l'esperienza di apprendimento. Ho dovuto:
- ottenere il VM dal provider cloud
- ho dovuto aggiornare e patchare il sistema operativo
- ho dovuto installare e configurare git come un canale di pubblicazione
- ho dovuto scrivere un po ' script e utilizzare le cose come sempre per tenerlo in esecuzione
- Ho dovuto configurare il reverse http-proxy per farlo eseguire più siti.
- ho dovuto configurare DNS con il provider cloud, porte aperte per git ecc ...
l'elenco potrebbe continuare. Alla fine, mi è costato più tempo in anticipo non in codice, ma ho imparato molte cose. Se quelli sono importanti per te, allora dagli un colpo. Se vuoi concentrarti sulla scrittura del tuo codice, allora un provider di hosting di nodi potrebbe essere per te.
Alla fine, avevo anche avuto più opzioni - Volevo aggiungere un secondo sito. Ho aggiunto en entry al mio reverse proxy, aggiungo il mio script per avviare un'altra app con forever, voilà, un altro sito. Più controllo Dopo ciò, ho voluto provare mongodb - semplice - installato.
I costi sono all'incirca gli stessi, ma se inizi a ospitare più siti con molti altri pacchetti come database ecc ..., la VM può iniziare a diventare più economica.
Nodejitsu open sourced i loro strumenti che rendono anche più facile se si fa da soli.
Se lo fai da te, ecco alcuni link che possono aiutare:
Mantenere il server su:
https://github.com/nodejitsu/forever/
http://blog.nodejitsu.com/keep-a-nodejs-server-up-with-forever
https://github.com/bryanmacfarlane/svchost
Upstart e Monit avvio automatico generico e riavvio tramite monit oring
http://howtonode.org/deploying-node-upstart-monit
nodo cluster Esegue un processo per core
http://nodejs.org/docs/latest/api/cluster.html
proxy inverso
https://github.com/nodejitsu/node-http-proxy
https://github.com/nodejitsu/node-http-proxy/issues/232
http://blog.nodejitsu.com/http-proxy-middlewares
https://github.com/nodejitsu/node-http-proxy/issues/168#issuecomment-3289492
http://blog.argteam.com/coding/hardening-node-js-for-production-part-2-using-nginx-to-avoid-node-js-load/
Script l'installazione
https://github.com/bryanmacfarlane/svcinstall
Exit Shell Script Based on Process Exit Code
Pubblica sito
Using git to publish to a website
come alcuni hanno le note, anche se si va con un hoster, vale la pena passare attraverso una volta di capire cosa sta succedendo. Spero che i miei collegamenti aiutino ... – bryanmac
Grazie amico, credo che andrò con Linode VPS per ora quindi i tuoi link sarebbero molto utili, anche se speravo di trovare alcuni svantaggi e vantaggi meno ovvi specialmente su soluzioni ospitate che sembrano abbastanza blackbox a io adesso. –
OK - ha senso. Aggiunto un po 'di più su pro/contro. Seguirò se penso di più ... – bryanmac