Creación de una aplicación en Heroku

Creación de una aplicación en Heroku

Creación de una aplicación en Heroku

No estamos lejos de que dentro de poco la gran mayoría de las aplicaciones de software empresarial estén trabajando desde alguna arquitectura de Cloud Computing , de ahí la importancia de conocer algunas de las principales plataformas de servicios en la nube. Ahora analizaremos la forma de crear una aplicación PHP en Heroku, utilizando la capa gratuita que este servicio nos brinda.

¿Qué es Heroku?

De acuerdo con Rojas L. (2011), Heroku se utiliza para desarrollar software y programación manteniendo un significativo grado de control sobre el software creado. Heroku es una PaaS, una plataforma a nivel infraestructura de desarrollo. Ofrece a los desarrolladores muchos elementos de Cloud Computing para construir las apps (ej. Servicios de mensajería, sincronización de apps en tiempo real, persistencia políglota, APIs REST a otros servicios en la nube, etc).

No se le considera un servicio económico, aunque sí cuenta con área sin cargo, lo que permite al desarrollador mostrar algo de la aplicación a su cliente aun sin haber pagado nada; tiene la ventaja de que el desarrollador no tiene que administrar el server y cuenta con buen desempeño. En forma sencilla el desarrollador puede subir o bajar la capacidad de la app o dimensionarla según los horarios de mayor carga.

El plan básico (y gratuito) es de un nodo, que incluiría unos 512 MB de RAM y 1 GB de swap, a partir de allí pueden empezar a cobrar. En esta modalidad Heroku requiere de 6 horas de inactividad por periodo de 24 horas (Heroku.com, 2015).

Ofrece soporte para Ruby, Node.js, Python, Java, Go y PHP. Otros servicios similares a Heroku serían: Google App Engine, Openshift, AppFog y DotCloud (Viera, 2015).

Creando la aplicación

Para realizar la presente actividad, necesitaremos crear una cuenta en Heroku (se muestran los pasos a continuación), tener PHP y Composer instalado.

  1. Accedemos a la web de Heroku en heroku.com
Página principal de Heroku

Página principal de Heroku


 

  1. Creamos una cuenta gratuita, proporcionando un correo válido que utilizaremos para confirmar la solicitud.
Registro en Heroku

Registro en Heroku

Mensaje de Confirmación

Mensaje de Confirmación


 

  1. Recibiremos un correo de confirmación, con un enlace que debemos abrir para recibir el servicio.
Correo de confirmación

Correo de confirmación


 

  1. Ahora podremos crear una contraseña.
Crear password en Heroku

Crear password en Heroku


 

  1. Una vez realizados estos primeros pasos, ya tendremos una cuenta creada, y un enlace para comenzar a trabajar.
Mensaje de Bienvenida

Mensaje de Bienvenida


 

  1. Lo primero que observaremos será el Dashboard de Heroku, y las opciones de lenguajes de programación que podemos utilizar. Seleccionaremos PHP, y pulsaremos el botón “I’m ready”.
Dashboard de Heroku

Dashboard de Heroku


 

  1. Descargamos el Heroku Toolbelt para el sistema operativo que utilicemos.
Descargar Heroku ToolBelt

Descargar Heroku ToolBelt


 

  1. Instalamos el Heroku Toolbelt.
Instalación terminada de Heroku Toolbelt

Instalación terminada de Heroku Toolbelt


 

  1. Ejecutamos el archivo escribiendo el comando “Heroku Login” en una ventana de comandos del S.O.

Toolbelt instalado

Toolbelt instalado


 

  1. En un momento determinado nos solicitará introducir el correo registrado y el password, tras lo cual nos dirá que nos hemos logueado.
Heroku login

Heroku login


 

  1. Preparamos una aplicación PHP para clonar. Utilizamos la que nos proporciona Heroku.
Clonar una app de PHP

Clonar una app de PHP

 

php-getting-started

php-getting-started


 

  1. Creamos una app.
Heroku create

Heroku create

El paso anterior creó un git remoto llamado heroku, asociado con un repositorio git local. Heroku genera un nombre aleatorio, en este caso cryptic-basin-1337. 


 

  1. Desplegamos el código en Heroku (comando git push heroku master).

heroku_push16


 

  1. Especificamos que por lo menos una instancia de la app esté corriendo.

heroku_ps17


 

  1. Abrimos el website con heroku open.
Heroku open

Heroku open


 

  1. Cargamos el website en el navegador (Aplicación PHP en Heroku corriendo en: https://cryptic-basin-1337.herokuapp.com/)
Aplicación corriendo con algunos cambios

Aplicación corriendo con algunos cambios


 

  1. En este momento podemos realizar los cambios que necesitemos a la app, reemplazar archivos, etc. Si realizamos cambios locales, debemos agregarlos al repositorio git local mediante el comando “Git add .” y subir los cambios mediante el comando “git commit –m “Demo”
Aplicación corriendo con otros cambios realizados

Aplicación corriendo con otros cambios realizados

 

Comentarios

 

  1. Nombre del proveedor: Heroku.com
  2. Capacidad de instancias del servicio: 1 dyno para 1 sola instancia
  3. Capacidad o límite de horas de uso:

Por default, la app está siendo desplegada en un dyno gratuito. Los dynos gratuitos se “duermen” después de media hora de inactividad y pueden recibir tráfico por no más de 18 horas en un día antes de irse a dormir. Si un dyno gratuito está durmiendo, y no ha excedido su cuota de 18 horas, cualquier petición web podrá ser contestada. Cuando es así, hay un retraso de unos pocos segundos en la primera petición. El resto de las petición no tendrán este retraso [2]).

4. Tipos de instancias permitidas:

En este caso, Heroku es una PaaS, por lo que nos permite desarrollar en diversas plataformas como son:

  • Ruby
  • PHP
  • js
  • Python
  • Java
  • Go
  • Clojure
  • Scala

5. Descripción de la(s) herramienta(s) de gestión:

Como pudimos observar en el desarrollo de este ejercicio, Heroku se maneja utilizando comandos, entre los que podemos mencionar:

  • Heroku create (para crear la aplicación en Heroku, el git remoto y el git local)
  • Git push heroku master (para desplegar el código en Heroku)
  • Heroku ps: scale web=1 (para especificar que queremos correr una instancia)
  • Heroku open (para abrir el website)
  • Git add . (para agregar archivos modificados al git local)
  • Git commit –m “Demo” (para agregar archivos del git local al master)

La herramienta gráfica solo está disponible para las versiones de pago. Además,  cuenta con una herramienta de gestión como es “Activity”, para ver la actividad de la aplicación en Heroku.

6. Consumo de recursos 

Para ver información acerca de la app que está ejecutándose, usamos el comando heroku logs que entre otras cosas nos permite ver el consumo de recursos de la instancia.

En esta capa gratuita Heroku no se permite un Panel de Control gráfico, solo podemos acceder a esta información a través de este comando.

 

Referencias

  1. Heroku.com (2015). Pricing. Disponible en [www.heroku.com/pricing]
  2. Heroku.com (2015). Scale the app. Disponible en [https://devcenter.heroku.com/articles/getting-started-with-php#scale-the-app]
  3. Heroku.com (2015). Dynos and the Dyno Manager. Disponible en [https://devcenter.heroku.com/articles/dynos]
  4. Rojas L. (2011). Cloud mobile social. Disponible en [http://leopoldorojas.com/2011/11/25/force-com-y-heroku-hermanas-con-distinta-personalidad/]
  5. Viera J. (2015). ¿Cuál es el mejor servicio en la nube para desarrolladores? Disponible en [http://www.bbvaopen4u.com/es/actualidad/cual-es-el-mejor-servicio-en-la-nube-para-desarrolladores-amazon-web-services-heroku-y]

 

 

¿Qué te pareció este artículo?
  • Excelente 
  • Interesante 
  • Regular 
  • No era lo que buscaba 
  • Poco informativo 
Facebooktwittergoogle_plusmail

Tu comentario

opiniones

Comments

  • Qué es el Cloud Computing: capas y proveedores - | Ago 16,2017

    […] Lee también: Creación de una aplicación en Heroku […]

  • CuantoGana | Sep 11,2017

    He estado un rato buscando buena información sobre esto y por fin lo he encontrado, muchas gracias.