El uso de uno de los servicios es en su mayor parte manos libres: usted escribe su código y les permite preocuparse por administrar la caja, mantener el proceso, crear el canal de publicación, parchear el sistema operativo, etc.
Por el contrario, tener su propia máquina virtual le da más control, pero con más inversión inicial y continua.
Otra consideración es que algunos hosters y proveedores de servicios en la nube ofrecen variaciones propias o distintivas de las tecnologías. Tienen razones para ellos y ofrecen valor, pero significa que si desea cambiar de proveedor de la nube, puede significar que tiene que volver a escribir el código, las secuencias de comandos de implementación, etc. ... Por otro lado, tenía que usar máquinas virtuales con SO estándar ya que la línea base es bastante genérico Si automatiza/escribe/documenta la configuración de sus máquinas virtuales y su código permanece genérico, entonces sus opciones permanecen abiertas.Si tomas una dependencia de una tecnología de nube propietaria, entonces sería bueno abstraerla detrás de una interfaz, por lo que es un componente desacoplado y no se rocía en todo tu código.
He hecho ambas cosas. Hice la ruta VM recientemente porque quería la experiencia de aprendizaje. Tuve que:
- conseguir la máquina virtual desde el proveedor de la nube
- que tenía que actualizar y parchear el sistema operativo
- tuve que instalar y configurar git como canal de publicación
- que tenía que escribir alguna scripts y usar cosas como para siempre para mantenerlo funcionando
- Tuve que configurar el http-proxy inverso para que ejecutara varios sitios.
- tuve que configurar DNS con el proveedor de la nube, los puertos abiertos para git etc ...
la lista sigue. Al final, me costó más tiempo sin codificar, pero aprendí muchas cosas más. Si esos son importantes para ti, entonces pruébalo. Si desea centrarse en escribir su código, entonces un proveedor de alojamiento de nodo puede ser para usted.
Al final, también tuve más opciones: quería agregar un segundo sitio. Agregué una entrada a mi proxy inverso, agregué mi script para iniciar otra aplicación con forever, voila, otro sitio. Mas control. Después de eso, quise probar mongodb - simple - lo instalé.
En cuanto a los costos, son casi lo mismo, pero si comienza a hospedar múltiples sitios con muchos otros paquetes como bases de datos, etc. ..., la máquina virtual puede comenzar a ser más barata.
Nodejitsu open sourced sus herramientas, que también lo hacen más fácil si lo hace por su cuenta.
Si lo hace usted mismo, aquí hay algunos enlaces que pueden ayudarle a:
Mantener el servidor hasta:
https://github.com/nodejitsu/forever/
http://blog.nodejitsu.com/keep-a-nodejs-server-up-with-forever
https://github.com/bryanmacfarlane/svchost
Upstart y Monit inicio automático genérico y reinicio a través de Monit oring
http://howtonode.org/deploying-node-upstart-monit
nodo de clúster ejecuta un proceso por núcleo
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/
la instalación de secuencias de comandos
https://github.com/bryanmacfarlane/svcinstall
Exit Shell Script Based on Process Exit Code
Publicar sitio
Using git to publish to a website
Como algunos tienen notas, incluso si vas con un proveedor de alojamiento, vale la pena pasar por una vez para entender lo que está pasando. Espero que mis enlaces ayuden ... – bryanmac
Gracias, creo que iré con Linode VPS por ahora, así que sus enlaces serán muy útiles, aunque esperaba encontrar algunos inconvenientes y ventajas menos obvias especialmente en las soluciones alojadas que parecen bastante blackbox para yo ahora. –
OK - tiene sentido. Se agregó un poco más sobre los pros/contras. Seguiré si pienso en más ... – bryanmac