node.js hosteado en heroku

Continuando con mi post anterior acerca de cómo comenzar con node.js, en esta ocasión me gustaría hablar un poco de una plataforma de cloud computing que nació con la mirada en otra tecnología pero que podemos utilizar para publicar nuestras aplicaciones desarrolladas con node.js.

Estoy hablando nada más y nada menos que de heroku, que tiene un modelo de platform as a service (PaaS) que nos permite construír, deployar, y correr aplicaciones en la nube. Aunque nació en el mundo ruby, ahora puede hostear código desarrollado en diferentes lenguajes (ruby, java, node.js, clojure, scala, y python).

En su página se describe de la siguiente manera:

Heroku provides a platform as a service (PaaS) for building, deploying, and running cloud apps using Ruby, Node.js, Clojure, Java, Python and Scala. The architecture of our platform includes tools for deployment and management, a runtime for scalability, fault tolerance, and an add-ons system for extending the capabilities of our platform. Get started for free and acquire resources as needed.

Para comenzar a utilizar heroku son necesarios los siguientes pasos:

  1. Dar de alta una cuenta
  2. Instalar el heroku toolbelt
  3. Autenticarse desde el command line
  4. Deployar la aplicación

Todos estos pasos estan claramente detallados dentro del sitio, en la sección Getting started. No vale la pena entrar en detalles nuevamente dentro de este post, pero si me gustaría hablar del último paso: el deploy de nuestra aplicación node.js. Para esto voy a tomar como asumido que se ha atravesado sin problemas los tres puntos anteriores.

Para nuestro caso, el deploy de nuestra minúscula aplicación codeada en node.js, vamos a necesitar muy poco trabajo, ya que no tenemos demasiadas dependencias para registrar. Veamos los pasos necesarios:

1. Crear el archivo package.json, definiendo las dependencias con npm

Este archivo le indica a heroku la existencia de una aplicación node.js. Incluye el nombre, versión y las dependencias. En nuestro caso no tenemos ninguna referencia a ningún paquete externo, igualmente debemos crear este archivo con la sección de dependencias vacía.

En la sección de engines, vamos a agregar las versiones de node.js y npm con las que debe correr nuestra aplicación.

packages.json

2. Crear el archivo Procfile y declarando los process types dentro

Es un archivo de texto ubicado en el root de nuestra aplicación. Con este archivo declaramos explícitamente qué comando debe ser ejecutado al iniciarse un web dyno. En nuestro caso le especificamos que inicie corriendo node con nuestra aplicación.

Procfile

3. Crear un repositorio Git para la aplicación

Teniendo toda la estructura mínima para nuestra aplicación ya creada, el siguiente paso es subirlo a un repo de git.

Inicialización de repo GIT

4. Crear y deployar la aplicación en heroku

Creación de la app en heroku

Deployment de la aplicación en heroku

Completados todos estos pasos, ya podemos acceder a nuestra aplicación desde el dashboard de heroku:

Dashboard de heroku

Desde este panel vamos a poder acceder a la actividad (deploys, etc), a la información de los colaboradores y a la configuración de la aplicación.

Si clickeamos en el link Open application en el margen superior derecho del dashboard, vamos a poder acceder a la aplicación deployada en heroku. Voilà!

Aplicación node.js corriendo en heroku

En la próxima oportunidad voy a intentar hablar un poco acerca de cómo trabajar con MongoDB con node.js, y aprovechar todo el poder de este motor de base de datos (inclusive desde heroku).

Espero que les resulte claro y útil. Hasta la próxima!

2 comentarios

  1. porque tapas las lineas de codigo no se puede ver nada

    1. Hola Julio, lo único que esta tapado con un blur son los datos privados de mi usuario y pc. Lo importante esta todo a la vista.

      Saludos.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: