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.
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.
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
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.
- Dirígete a la web de heroku y registra una nueva cuenta o accede con alguna creada.

- Crea un nuevo proyecto, con el nombre
node-personal-portfolioo similar.
- Descarga la herramienta heroku cli e instalala en tu ordenador.

- Ejecuta la inicialización de heroku con
heroku login
- Añade el repostiorio al espacio de heroku
heroku git:remote -a node-personal-portfolio - Ejecuta el comando para usar node en modo desarrollo
heroku config:set NODE_ENV=development - Crea un nuevo git path para el repositorio ejecutando
git subtree push --prefix backend heroku master