Alojamientos gestionados NodeJS vs VPS


Hay un montón de servicios de alojamiento gestionados basados en la nube para nodejs por ahí que parecen relativamente nuevos y algunos todavía en beta.

Otra ruta para alojar una aplicación nodejs es configurar una pila en un VPS como Linode.

Me pregunto cuál es la diferencia básica entre estos dos tipos de implementación. ¿Qué factores se deben tener en cuenta al elegir uno sobre otro?

¿ Cuál es más adecuado para la producción teniendo en cuenta la juventud de estos servicios ser.

Para ser claro, no estoy preguntando sobre la elección de un proveedor, sino para decidir si se aloja en un alojamiento específico gestionado nodejs o en un VPS auto configuración antigua.

Author: Yousef Salimpour, 2012-09-29

2 answers

El uso de uno de los servicios es en su mayor parte manos fuera - usted escribe su código y deja que ellos se preocupen de administrar la caja, mantener su 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 nube ofrecen variaciones propietarias o distintas en las tecnologías. Tienen razones para ello y ofrecen valor, pero significa que si desea cambiar de proveedor de nube, podría significar que tiene que reescribir el código, scripts de implementación, etc... Por otro lado, el uso de máquinas virtuales con SO estándar como base es bastante genérico. Si automatiza / script / documenta la configuración de sus máquinas virtuales y su código permanece genérico, sus opciones permanecen abiertas. Si toma una dependencia de una tecnología de nube patentada, entonces sería bueno abstraerla detrás de una interfaz para que sea un componente desacoplado y no espolvoreado por todo su código.

He hecho ambas cosas. Hice la ruta de VM recientemente, principalmente porque quería la experiencia de aprendizaje. Tuve que:
  • obtenga la VM del proveedor de la nube
  • Tuve que actualizar y parchear el sistema operativo
  • Tuve que instalar y configurar git como un canal de publicación
  • Tuve que escribir algunos scripts y usar cosas como forever para mantenerlo funcionando
  • Tuve que configurar el proxy http inverso para que ejecutara varios sitios.
  • I tuve que configurar DNS con el proveedor de la nube, abrir puertos para git, etc...

La lista continúa. Al final, me costó más tiempo por adelantado no codificar, pero aprendí mucho más cosas. Si son importantes para ti, inténtalo. Si desea centrarse en escribir su código, entonces un proveedor de alojamiento de nodos puede ser para usted.

Al final, también había tenido más opciones: quería agregar un segundo sitio. He añadido la entrada en a mi proxy inverso, añadir mi script para iniciar otra aplicación con forever, voila, otro sitio. Más control. Después de eso, quería probar mongodb-simple-instalado.

En cuanto al costo, son casi lo mismo, pero si comienza a alojar varios sitios con muchos otros paquetes como bases de datos, etc..., entonces la máquina virtual puede empezar a ser más barata.

Nodejitsu open source sus herramientas que también hace que sea más fácil si usted hace su propio.

Si lo haces tú mismo, aquí hay algunos enlaces que pueden ayudarte:

Mantenimiento el servidor arriba:

Https://github.com/nodejitsu/forever /

Http://blog.nodejitsu.com/keep-a-nodejs-server-up-with-forever

Https://github.com/bryanmacfarlane/svchost

Advenedizo y Monit inicio y reinicio automático genérico mediante monitoreo

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

Inverso Proxy

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/

Escriba la instalar

Https://github.com/bryanmacfarlane/svcinstall

Exit Shell Script Basado en el Código de Salida del Proceso

Publicar sitio

Usar git para publicar en un sitio web

 34
Author: bryanmac,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 11:46:00

En mi humilde opinión el mayor inconveniente de configurar su propia pila es que necesita administrar cosas como hacer Nodo.js ejecutar forever, iniciarlo como un demonio, traerlo detrás de un proxy inverso como Nginx, y así sucesivamente ... lo mejor de Node.js-hacer que encender un servidor web sea un solo trazador-es uno de sus mayores inconvenientes cuando se trata de sistemas listos para la producción.

Además, tiene todos los problemas de administrar, actualizar y proteger su servidor usted mismo.

Esto es mucho más fácil con los hosters: Por lo general es un git push y eso es todo. Escala? Sencillo. La replicación? Sencillo. ...? Sencillo. Todo en unos pocos clics.

El inconveniente con los hosters es que no se puede ajustar el entorno. Vale, probablemente puedas elegir qué versión del nodo.js y / o npm para ejecutar, pero eso es todo. No tiene control sobre qué software de terceros está instalado. No tienes control sobre el sistema operativo. No tienes control sobre dónde se encuentran los servidores. Y así sucesivamente ...

Por supuesto, algunos los hosters te permiten acceder a algunas de estas cosas, pero rara vez hay un hoster que soporte todo.

Entonces, básicamente la pregunta con respecto al nodo.js es lo mismo que con cada otra tecnología: Es un pro vs con de individualismo, precios, escalabilidad, fiabilidad, conocimiento,...

Personalmente elegí ir con un hoster: El tiempo y el esfuerzo que ahorro superan fácilmente las desventajas. Eso sí: Para mí, personalmente.

Esta pregunta necesita ser contestada individualmente.

 14
Author: Golo Roden,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-09-29 13:04:50