Heroku es una plataforma en la nube que permite a las empresas construir, entregar, supervisar aplicaciones y alojarlas en la nube.

Categoría: Servidor.

URL: https://www.heroku.com/

El hecho de que sea una plataforma en la nube significa que como desarrolladores no nos tenemos que preocupar por la infraestructura, sino que solamente nos tenemos que centrar en el desarrollo de la aplicación, lo que nos evita todos los problemas que puede suponer llevar nuestra idea a la URL.

Heroku a diferencia de otras plataformas permite desarrollar prácticamente con cualquier lenguaje de programación: Ruby, Java, PHP, NodeJS…

También permite desplegar versiones, hacer rollback, gestionar dependencias…

Heroku dispone los denominados add ons, gracias a los que podemos añadir funcionalidad extra a nuestras aplicaciones de forma realmente sencilla, por ejemplo, memcached, redis, postgres, mongolab etc

Registro y Coste

  • Para la utilización de la aplicación es necesario registrarse.
  • En el caso del coste tenemos dos opciones:
    • Registro gratuito: mediante el registro gratuito podemos acceder a las prestaciones básicas, pero no podremos disfrutar de todas las posibilidades que ofrece esta plataforma.
    • Registro con pago: el registro pagando nos permite acceder a todas las prestaciones de HEROKU.
    • También cabe la posibilidad de registrarse de forma gratuita y pagar por aquellas prestaciones que nos sean necesarias.

Características principales

  • En Heroku el código corre siempre dentro de un dyno que es el que proporciona a la plataforma la capacidad de computo, es un proceso que puede usarse para ejecutar contenido web, para ejecutar procesos batch…
  • Los dynos garantiza la escalabilidad en caso de que una aplicación se convierta en viral (automáticamente se levantan varios dynos)
  • Los Dynos pueden ser de tres tipos: web, worker o cron.
    • WEB: se encarga del desarrollo de la aplicación web.
    • WORKER: ejecuta la base de datos.
    • CRON: se emplea para procesos de corta vida o conexiones Secure Shell (interprete de órdenes seguro).
  • Los dynos aíslan de comunidades SSL, enrutamiento o blanqueo.
  • Los dynos son transparentes y pueden ser levantados en otras máquinas de manera transparente.
  • Heroku es “poliglota”, es decir, Heroku permite la utilización de diferentes lenguajes de programación.
  • Heroku internamente se apoya en GitHub, pero no es necesario realizar pagos adicionales.
  • A la hora de trasladar cualquier aplicación a Heroku, hay que adaptar cualquier tipo de grabación de fichero a filesystem que estuviéramos haciendo, y pasarlo a otros servicios Amazon.
  • Las aplicaciones Java en Heroku, no necesitan un contenedor servlets.
  • Heroku incluye Logplex, asumiendo que un log es un stream de eventos.

Principales ventajas

  • Heroku es gratuito para aplicaciones de poco consumo.
  • Permite el uso de diferentes lenguajes de programación.
  • Es una plataforma fácil de usar.
  • Integra varios servicios dentro de su estructura.
  • Las actualizaciones en Heroku no afectan a nuestra plataforma informática.
  • Se puede tener acceso desde cualquier lugar y dispositivo compatible con la computación en la nube.

Principales desventajas

  • Es necesario contratar un servicio de base de datos externo y un hosting.
  • Poca personalización y mínima optimización cuando se requiere más infraestructura (Gratis).
  • La disponibilidad de las aplicaciones está limitada a la disponibilidad del acceso a internet.

Ejemplos de uso

Herramienta revisada inicialmente por Vicente González Quero.