Skip to main content

Backend - Heroku (Deprecado)

Esta forma sigue funcionando, pero actualmente el despliegue en heroku NO es gratuito, hemos incluido una nueva sección con render

Para el despliegue del BackEnd en producción podemos usar diferentes servicios y plataformas. Nuestro objetivo final es tener el frontend en el servicio de Netlify que conecte con nuestro backend en Heroku. El esquema final sería el siguiente.

Backend Architecture

Antes de nada hay que hacer una diferenciación entre IaaS y PaaS.

  • IaaS: Infraestructure-as-a-Service o Infraestructura como servicio es el paso más próximo al on-premise, donde solo se te ofrece la infraestructura como servicio (máquina virtual, networking...), mientras que todo lo demás lo desplegamos nosotros. Algunos ejemplos son AWS, Azure o Google Cloud.

  • PaaS: Platform-as-a-Service o Plataforma como servicio es el siguiente paso a la infraestructura. Aquí el proveedor mantiene el hardware y el software principal. PaaS permite ejecutar y manejar las apps desplegando exclusivamente el código. Ejemplos de esto pueden ser AWS Elastic Beanstalk, Heroku, y Red Hat OpenShift.

No vamos a hablar detenidamente de SaaS, ya que se sale del ámbito del despliegue de código, pero sí podremos mencionar otros servicios como Firebase, más parecido a BaaS o Backend as a Service que ya veremos más adelante.

IaaS vs PaaS Red Hat IaaS vs PaaS

En este caso, para nuestro despliegue usaremos Heroku, que al ser un PaaS no tendremos que gestionar el entorno, con indicar qué tipo de tecnología estamos usando y enlazarlo con nuestro proyecto, el despliegue de la aplicación se realizará automáticamente sin necesidad de gestión por nuestra parte.

Despliegue con Heroku

Heroku Dashboard Heroku Dashboard

Este despliegue está orientado para el proyecto de backend. Heroku permite desplegar nuestro proyecto a través de su cli. Al tener un proyecto mono-repositorio, tenemos que seguir unos pasos extra para poder desplegar exlcusivamente el backend.

  1. Dirígete a la web de heroku y registra una nueva cuenta o accede con alguna creada. Heroku login
  2. Crea un nuevo proyecto, con el nombre node-personal-portfolio o similar. Heroku project
  3. Descarga la herramienta heroku cli e instalala en tu ordenador. Heroku dashboard
  4. Ejecuta la inicialización de heroku con heroku loginHeroku login
  5. Añade el repostiorio al espacio de heroku heroku git:remote -a node-personal-portfolio
  6. Ejecuta el comando para usar node en modo desarrollo heroku config:set NODE_ENV=development
  7. Crea un nuevo git path para el repositorio ejecutando git subtree push --prefix backend heroku masterHeroku git