Implementación de Heroku: cómo impulsar una aplicación web o un sitio a producción

A la hora de desplegar una aplicación, suele haber dos opciones: un VPS o una PaaS (plataforma como servicio). Este artículo le mostrará una receta para implementar una aplicación en producción en una PaaS como Heroku.

Paso 1: crea el proyecto

El primer paso es crear una estructura simple para nuestro proyecto con algunos archivos básicos. Para este artículo, crearé un servidor de demostración con NodeJS.

En una nueva carpeta, abriré una terminal y ejecutaré el comando npm init -ypara crear un nuevo proyecto. El servidor ficticio se escribirá en Express, por lo que debemos ejecutar el npm install expresscomando para instalar este módulo.

Una vez instalada esta biblioteca, podemos crear un nuevo archivo para nuestro proyecto, llamado app.js. En su interior escribiremos el código de nuestro servidor simple:

Podemos iniciar la aplicación ejecutando node app.js. Entonces podemos probarlo en la siguiente URL //localhost:3000. En este punto, debería ver el mensaje Hello Worlden el navegador.

Paso 2: sistema de control de versiones

El siguiente paso es elegir un sistema de control de versiones y colocar nuestro código en una plataforma de desarrollo en un repositorio.

El sistema de control de versiones más popular es Git junto con Github como plataforma de desarrollo, así que eso es lo que usaremos aquí.

En GitHub, siga adelante y cree un nuevo repositorio para su aplicación, como este:

Para cargar su código local en un repositorio, debe ejecutar los comandos que se enumeran en Github después de hacer clic en el Create repositorybotón:

! Antes de hacer esto, debemos ignorar algunos archivos. Queremos subir al repositorio solo el código que escribimos, sin las dependencias (los módulos instalados).

Para eso, necesitamos crear un nuevo archivo .gitignorey dentro de él escribir el archivo que queremos ignorar.

Ahora, podemos escribir los comandos enumerados en la imagen de arriba (el de GitHub).

Si ejecutó los comandos correctamente, estará en la página de su repositorio. Si lo actualiza, debería ver sus archivos, excepto el que ignoró explícitamente, a saber node_modules.

Paso 3: vincular el repositorio con Heroku

En este paso, podemos vincular el repositorio de Github a nuestra aplicación Heroku.

Primero, cree una nueva aplicación en Heroku y siga los pasos enumerados en la plataforma.

Una vez creada la aplicación, debería aparecer una ventana similar a esta:

Ahora, si nos fijamos en la navegación en la parte superior, verás   Overview, Resources, Deploy, Metrics  y así sucesivamente. Asegúrese de que Deployesté seleccionado. Luego, en la segunda fila, haga clic en el icono de GitHub.

Busque la aplicación deseada, que es demo-deploy-app-09en nuestro caso. Luego haga clic Connect.

Una vez que la aplicación se haya conectado correctamente con su cuenta de Heroku, puede hacer clic Deploy Branchpara implementar su aplicación.

Si lo desea, también puede seleccionar la opción Enable Automatic Deploysque extraerá automáticamente el código de su repositorio de Github cada vez que realice una inserción en ese repositorio.

Una vez que se haya implementado la aplicación, puede hacer clic en Ver para abrir su aplicación.

Paso 4: configurar Heroku para ejecutar correctamente la aplicación

Si abre la aplicación en este punto, debería ver algo como esto:

Eso es correcto, un error. Eso es porque Heroku no sabe cómo iniciar nuestra aplicación.

Si recuerda, ejecutamos el comando node app.jspara iniciar la aplicación localmente.

Heroku no tiene forma de saber qué comandos necesita ejecutar para iniciar la aplicación, y es por eso que arrojó un error.

Para resolver este problema, hay que crear un nuevo archivo con el nombre Procfilecon el siguiente contenido: web: node ./app.js.

Para actualizar nuestra aplicación, todo lo que tenemos que hacer es enviar un nuevo compromiso a GitHub. Si hemos habilitado la Automatic Deploysopción, el código se extraerá automáticamente a Heroku. De lo contrario, debemos hacer clic de Deploy Branchnuevo.

Una vez que se reconstruye la aplicación, deberíamos verla funcionando así:

Paso 5: cómo agregar un complemento

Un beneficio clave que ofrece Heroku es el hecho de que puede agregar fácilmente recursos en forma de add-onsa su proyecto. Estos recursos externos vienen en forma de bases de datos, herramientas de registro y monitoreo, herramientas de CI y CD o herramientas de prueba.

Entonces, ahora veamos cómo agregar un nuevo recurso a su proyecto. Primero, iremos a Recursos y desde allí agregaremos una nueva herramienta para probar.

Continúe y haga clic en Find more add-onsy luego busque Loadmill.

Loadmill es una herramienta de prueba que es realmente excelente para pruebas de regresión y pruebas de carga.

Continúe y haga clic en Install…. Luego elija la aplicación que desea vincular.

En este paso, Heroku creará automáticamente una nueva cuenta para usted en la plataforma aprovisionada.

En la pestaña de recursos, puede ver el recurso recién agregado:

Si continúa y accede a este complemento, debería ver su panel con un tutorial de introducción y una prueba de demostración creada para usted.

Conclusión

Heroku permite a los desarrolladores implementar una aplicación en un servidor web de forma rápida y casi sencilla.

También proporciona una gran cantidad de complementos que puede integrar en su aplicación.

Una solución PaaS siempre te permitirá moverte más rápido que la solución con un VPS donde tienes que configurar todo desde cero.