Guía de Heroku: despliega tu primera app en Node.js sin preocuparte por la infraestructura
Heroku es una plataforma como servicio (PaaS) que permite a desarrolladores desplegar, escalar y operar aplicaciones sin gestionar servidores físicos. Gracias a su filosofía git push = deploy, puedes centrarte en el código y olvidar la infraestructura. En esta guía aprenderás paso a paso cómo crear y desplegar una aplicación básica de Node.js en Heroku.
1. Ventajas de usar Heroku
- Despliegue rápido: con un solo comando.
- Escalado sencillo: aumenta o disminuye dynos al instante.
- Complementos: bases de datos, colas, servicios de terceros.
- Logs centralizados: acceso unificado a registros de la app.
2. Requisitos previos
- Cuenta gratuita en Heroku. Regístrate en https://www.heroku.com/
- Node.js (v12 ).
- Git instalado.
- Heroku CLI.
Preparando tu aplicación Node.js
2.1 Inicialización del proyecto
cd mi-app-heroku
npm init -y
Esto crea un package.json básico con valores por defecto. Luego instalaremos Express como ejemplo de framework HTTP.
2.2 Estructura de archivos recomendada
- index.js: punto de entrada de la app.
- package.json: dependencias y scripts.
- Procfile: instrucción de arranque para Heroku.
2.3 Configurando index.js
const app = express()
app.get(/, (req, res) => {
nbspnbspres.send(¡Hola, Heroku desde Node.js!)
})
const PORT = process.env.PORT 3000
app.listen(PORT, () => {
nbspnbspconsole.log(Servidor corriendo en puerto {PORT})
})
2.4 Definiendo scripts en package.json
Modifica package.json para incluir:
nbspnbspstart: node index.js
}
2.5 Creando el Procfile
Heroku detecta automáticamente aplicaciones de Node.js, pero es buena práctica definir el Procfile:
Despliegue en Heroku
3.1 Instalación y autenticación con Heroku CLI
Sigue las instrucciones en el navegador para autenticarte. Una vez listo, vuelve al terminal.
3.2 Inicializando Git y creando la app en Heroku
git add .
git commit -m Primer commit: app Node.js para Heroku
heroku create nombre-de-tu-app
El comando heroku create genera una URL única (https://nombre-de-tu-app.herokuapp.com) y un remote Git llamado heroku.
3.3 Push y despliegue automático
Si tu rama principal se llama master, reemplaza main por master. Tras unos segundos, Heroku instalará dependencias, ejecutará build y lanzará tu app.
3.4 Accediendo a tu aplicación
Abre en tu navegador https://nombre-de-tu-app.herokuapp.com y verás el mensaje ¡Hola, Heroku desde Node.js!
Configuración avanzada
4.1 Variables de entorno
Para añadir credenciales o configuraciones sensibles utiliza heroku config:set:
| Comando | Descripción |
|---|---|
| heroku config:set NODE_ENV=production | Define el entorno de ejecución. |
| heroku config:set MONGO_URI=mongodb://… | Agrega cadena de conexión a base de datos. |
4.2 Logs y monitoreo
Con –tail obtienes un stream en tiempo real de logs. Para métricas y alertas, revisa el dashboard.
4.3 Escalado de dynos
Aumenta la capacidad de cómputo con:
Esto levanta 2 dynos web. Útil para soportar mayor tráfico. Puedes volver a 1 dyno para ahorrar recursos.
Buenas prácticas y consejos
- Procfile explícito: evita detecciones inciertas.
- Archivos estáticos: usa servicios CDN o complementos como Heroku Static.
- Entornos separados: crea apps de staging y producción.
- Complementos gestionados: Postgres, Redis, Mailgun, etc.
- Revisión de costos: dynos adicionales y complementos pueden generar facturación.
Conclusión
Heroku simplifica el ciclo de vida de tus aplicaciones Node.js. Con una configuración mínima y comandos intuitivos, podrás concentrarte en crear valor y olvidarte de mantener servidores. Explora su ecosistema de complementos, monitoreo y escalado para llevar tus proyectos al siguiente nivel.
Artículo elaborado como referencia rápida. Para más detalles visita la documentación oficial de Heroku Dev Center.
Leave a Reply