18/12/2021
Heroku es una plataforma como servicio (PaaS) que simplifica el desarrollo y despliegue de aplicaciones web. En este artículo, exploraremos a fondo qué es Heroku, cómo funciona, sus ventajas y desventajas, y cómo crear tu primera aplicación. Aprenderás a gestionar la infraestructura sin ser un experto en DevOps, y a enfocarte en lo que realmente importa: tu código.
![034 Desplegar programa en HEROKU paso a paso [curso Python]](https://i.ytimg.com/vi/Ozf_y1l3kow/hqdefault.jpg)
¿Qué es Heroku y para qué sirve?
Si eres desarrollador, te habrás enfrentado a la complejidad de gestionar la infraestructura de tus aplicaciones: servidores, sistemas operativos, bases de datos, redes, seguridad, monitoreo... Heroku soluciona esto. Es una plataforma que te permite desplegar y escalar aplicaciones sin preocuparte por la administración de la infraestructura subyacente. Heroku se encarga de todo, permitiéndote concentrarte en el desarrollo de tu aplicación.
Heroku ejecuta las aplicaciones en contenedores llamados " dynos ". Estos dynos se escalan automáticamente según las necesidades de tu aplicación, añadiendo o quitando recursos según el tráfico. Este sistema de escalabilidad horizontal te permite manejar picos de demanda sin problemas. El precio se basa en el número y tamaño de los dynos utilizados, lo que lo hace escalable y flexible.
Heroku vs. AWS: ¿Cuál elegir?
Heroku (PaaS) y AWS (IaaS) son diferentes. AWS te proporciona la infraestructura, mientras que Heroku te proporciona una plataforma completa para ejecutar y gestionar tus aplicaciones. Heroku abstrae la complejidad de AWS, ofreciendo una experiencia más sencilla para los desarrolladores. La elección depende de tus necesidades y experiencia. Si necesitas un mayor control sobre la infraestructura, AWS es la opción; si prefieres una solución más sencilla y gestionada, Heroku es ideal.
| Característica | Heroku (PaaS) | AWS (IaaS) |
|---|---|---|
| Gestión de Infraestructura | Gestionada por Heroku | Gestionada por el usuario |
| Complejidad | Baja | Alta |
| Costo | Basado en el uso de dynos | Variable, según los servicios utilizados |
| Control | Limitado | Alto |
| Experiencia de Desarrollador | Optimizada | Requiere conocimientos de administración de sistemas |
Heroku ofrece una experiencia de desarrollador optimizada, con una extensa documentación y una interfaz intuitiva. Si eres nuevo en el despliegue de aplicaciones, Heroku es una excelente opción para empezar.
Cómo funciona Heroku
Heroku utiliza dynos, contenedores que ejecutan tus aplicaciones. Estos dynos se pueden escalar horizontalmente (añadiendo más dynos) o verticalmente (aumentando el tamaño de los dynos). Heroku gestiona la asignación de recursos, el equilibrio de carga, y el monitoreo de tus aplicaciones. La gestión se realiza a través de su interfaz de línea de comandos (CLI) o su panel de control.
Creando tu primera aplicación en Heroku: Un ejemplo "Hola Mundo"
Vamos a crear una simple aplicación "Hola Mundo" en Node.js. Sigue estos pasos:

- Crea una cuenta en Heroku.
- Descarga e instala la Heroku CLI.
- Crea un nuevo proyecto y añade los archivos necesarios (app.js, package.json, Procfile).
- Inicializa un repositorio Git.
- Crea la aplicación en Heroku con `heroku create`.
- Despliega tu aplicación con `git push heroku master`.
El archivo Procfile indica a Heroku cómo ejecutar tu aplicación. En este ejemplo, usaríamos:
web: node app.js
Una vez desplegada, tu aplicación estará accesible a través de una URL proporcionada por Heroku.
Ventajas de Heroku
- Fácil de usar: Heroku simplifica el despliegue y gestión de aplicaciones.
- Escalabilidad: Heroku se adapta fácilmente al crecimiento de tu aplicación.
- Soporte multilenguaje: Heroku soporta una gran variedad de lenguajes de programación.
- Marketplace de Add-ons: Heroku ofrece una amplia gama de complementos para añadir funcionalidades a tus aplicaciones.
- Integración con Git: El despliegue se realiza fácilmente a través de Git.
- Monitoreo y Logging: Heroku ofrece herramientas para el monitoreo y registro de eventos.
Desventajas de Heroku
- Costo: El costo puede aumentar con el crecimiento de tu aplicación.
- Limitaciones de personalización: No tienes control total sobre la infraestructura subyacente.
- No recomendado para aplicaciones intensivas en recursos: Heroku no es ideal para aplicaciones que requieren mucha potencia de procesamiento.
¿Quién debería usar Heroku?
Heroku es ideal para:

- Desarrolladores que necesitan una solución rápida y sencilla para desplegar aplicaciones.
- Proyects MVP (Minimum Viable Product).
- Aplicaciones que no requieren una gran cantidad de recursos.
- Desarrolladores sin experiencia en administración de sistemas.
Heroku: Precios y Planes
Heroku ofrece una variedad de planes, desde un plan gratuito con limitaciones hasta planes de pago para aplicaciones más grandes y con mayor demanda. Los precios dependen del uso de dynos, bases de datos, y otros servicios. Es importante revisar los precios actualizados en la página web de Heroku para obtener información precisa.
Consultas habituales sobre Heroku
Aquí te mostramos algunas de las preguntas más frecuentes sobre Heroku:
- ¿Heroku es gratuito? Heroku ofrece un plan gratuito con limitaciones, pero la mayoría de los usuarios optan por planes de pago para obtener mayor rendimiento y recursos.
- ¿Qué lenguajes de programación soporta Heroku? Heroku soporta una amplia variedad de lenguajes, incluyendo Node.js, Ruby, Python, Java, PHP, entre otros.
- ¿Cómo escalo mi aplicación en Heroku? Puedes escalar tu aplicación horizontalmente (añadiendo más dynos) o verticalmente (aumentando el tamaño de los dynos).
- ¿Qué es un dyno en Heroku? Un dyno es un contenedor donde se ejecuta tu aplicación.
Esperamos que este artículo te haya dado una visión completa de Heroku y sus capacidades. ¡Empieza a construir tus aplicaciones hoy mismo!
Si quieres conocer otros artículos parecidos a Curso de heroku: como hacerlo para desarrolladores puedes visitar la categoría Curso.
