{"id":227,"date":"2015-11-10T13:16:27","date_gmt":"2015-11-10T19:16:27","guid":{"rendered":"http:\/\/naps.com.mx\/blog\/?p=227"},"modified":"2017-11-16T12:15:51","modified_gmt":"2017-11-16T18:15:51","slug":"creacion-de-una-aplicacion-en-heroku","status":"publish","type":"post","link":"https:\/\/naps.com.mx\/blog\/creacion-de-una-aplicacion-en-heroku\/","title":{"rendered":"Creaci\u00f3n de una aplicaci\u00f3n en Heroku"},"content":{"rendered":"<p>No estamos lejos de que dentro de poco la gran mayor\u00eda de las aplicaciones de software empresarial est\u00e9n trabajando desde alguna arquitectura de Cloud Computing\u00a0,\u00a0de ah\u00ed la importancia de conocer algunas de las principales plataformas de servicios\u00a0en la nube.\u00a0Ahora analizaremos la forma de crear una aplicaci\u00f3n PHP en Heroku, utilizando la capa gratuita que este servicio nos brinda.<\/p>\n<p><!--more--><\/p>\n<h3><strong>\u00bfQu\u00e9 es Heroku?<\/strong><\/h3>\n<p>De acuerdo con Rojas L. (2011), Heroku se utiliza para desarrollar software y programaci\u00f3n manteniendo un significativo grado de control sobre el software creado. Heroku es una <strong>PaaS<\/strong>, una plataforma a nivel infraestructura de desarrollo. Ofrece a los desarrolladores muchos elementos de Cloud Computing para construir las apps (ej. Servicios de mensajer\u00eda, sincronizaci\u00f3n de apps en tiempo real, persistencia pol\u00edglota, APIs REST a otros servicios en la nube, etc).<\/p>\n<p>No se le considera un servicio econ\u00f3mico, aunque s\u00ed cuenta con \u00e1rea sin cargo, lo que permite al desarrollador mostrar algo de la aplicaci\u00f3n a su cliente aun sin haber pagado nada; tiene la ventaja de que el desarrollador no tiene que administrar el <em>server<\/em> y cuenta con buen desempe\u00f1o. En forma sencilla el desarrollador puede subir o bajar la capacidad de la app o <strong>dimensionarla<\/strong> seg\u00fan los horarios de mayor carga.<\/p>\n<p>El plan b\u00e1sico (y <strong>gratuito<\/strong>) es de un nodo, que incluir\u00eda unos 512 MB de RAM y 1 GB de <em>swap<\/em>, a partir de all\u00ed pueden empezar a cobrar. En esta modalidad Heroku requiere de 6 horas de inactividad por periodo de 24 horas (Heroku.com, 2015).<\/p>\n<p>Ofrece soporte para Ruby, Node.js, Python, Java, Go y <strong>PHP<\/strong>. Otros servicios similares a Heroku ser\u00edan: Google App Engine, Openshift, AppFog y DotCloud (Viera, 2015).<\/p>\n<h3><strong>Creando la aplicaci\u00f3n<\/strong><\/h3>\n<p>Para realizar la presente actividad, necesitaremos crear una cuenta en Heroku (se muestran los pasos a continuaci\u00f3n), tener PHP y Composer instalado.<\/p>\n<ol>\n<li><strong>Accedemos a la web de Heroku en <a href=\"http:\/\/www.heroku.com\" target=\"_blank\">heroku.com<\/a><\/strong><\/li>\n<\/ol>\n<div id=\"attachment_229\" style=\"width: 1210px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_principal1.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-229\" class=\"size-full wp-image-229\" src=\"http:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_principal1.png\" alt=\"P\u00e1gina principal de Heroku\" width=\"1200\" height=\"639\" srcset=\"https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_principal1.png 1200w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_principal1-300x160.png 300w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_principal1-1024x545.png 1024w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/a><p id=\"caption-attachment-229\" class=\"wp-caption-text\">P\u00e1gina principal de Heroku<\/p><\/div>\n<hr \/>\n<p>&nbsp;<\/p>\n<ol start=\"2\">\n<li><strong>Creamos una cuenta gratuita, proporcionando un correo v\u00e1lido que utilizaremos para confirmar la solicitud.<\/strong><\/li>\n<\/ol>\n<div id=\"attachment_230\" style=\"width: 1210px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_registro2.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-230\" class=\"size-full wp-image-230\" src=\"http:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_registro2.png\" alt=\"Registro en Heroku\" width=\"1200\" height=\"640\" srcset=\"https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_registro2.png 1200w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_registro2-300x160.png 300w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_registro2-1024x546.png 1024w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/a><p id=\"caption-attachment-230\" class=\"wp-caption-text\">Registro en Heroku<\/p><\/div>\n<div id=\"attachment_231\" style=\"width: 1210px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_confirmacion3.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-231\" class=\"size-full wp-image-231\" src=\"http:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_confirmacion3.png\" alt=\"Mensaje de Confirmaci\u00f3n\" width=\"1200\" height=\"640\" srcset=\"https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_confirmacion3.png 1200w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_confirmacion3-300x160.png 300w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_confirmacion3-1024x546.png 1024w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/a><p id=\"caption-attachment-231\" class=\"wp-caption-text\">Mensaje de Confirmaci\u00f3n<\/p><\/div>\n<hr \/>\n<p>&nbsp;<\/p>\n<ol start=\"3\">\n<li><strong>Recibiremos un correo de confirmaci\u00f3n, con un enlace que debemos abrir para recibir el servicio.<\/strong><\/li>\n<\/ol>\n<div id=\"attachment_232\" style=\"width: 634px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_correo4.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-232\" class=\"size-full wp-image-232\" src=\"http:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_correo4.png\" alt=\"Correo de confirmaci\u00f3n\" width=\"624\" height=\"405\" srcset=\"https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_correo4.png 624w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_correo4-300x195.png 300w\" sizes=\"auto, (max-width: 624px) 100vw, 624px\" \/><\/a><p id=\"caption-attachment-232\" class=\"wp-caption-text\">Correo de confirmaci\u00f3n<\/p><\/div>\n<hr \/>\n<p>&nbsp;<\/p>\n<ol start=\"4\">\n<li><strong>Ahora podremos crear una contrase\u00f1a.<\/strong><\/li>\n<\/ol>\n<div id=\"attachment_234\" style=\"width: 1042px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_password5.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-234\" class=\"size-full wp-image-234\" src=\"http:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_password5.png\" alt=\"Crear password en Heroku\" width=\"1032\" height=\"550\" srcset=\"https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_password5.png 1032w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_password5-300x160.png 300w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_password5-1024x546.png 1024w\" sizes=\"auto, (max-width: 1032px) 100vw, 1032px\" \/><\/a><p id=\"caption-attachment-234\" class=\"wp-caption-text\">Crear password en Heroku<\/p><\/div>\n<hr \/>\n<p>&nbsp;<\/p>\n<ol start=\"5\">\n<li><strong>Una vez realizados estos primeros pasos, ya tendremos una cuenta creada, y un enlace para comenzar a trabajar.<\/strong><\/li>\n<\/ol>\n<div id=\"attachment_235\" style=\"width: 1210px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_bienvenida6.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-235\" class=\"size-full wp-image-235\" src=\"http:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_bienvenida6.png\" alt=\"Mensaje de Bienvenida\" width=\"1200\" height=\"640\" srcset=\"https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_bienvenida6.png 1200w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_bienvenida6-300x160.png 300w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_bienvenida6-1024x546.png 1024w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/a><p id=\"caption-attachment-235\" class=\"wp-caption-text\">Mensaje de Bienvenida<\/p><\/div>\n<hr \/>\n<p>&nbsp;<\/p>\n<ol start=\"6\">\n<li><strong>Lo primero que observaremos ser\u00e1 el Dashboard de Heroku, y las opciones de lenguajes de programaci\u00f3n que podemos utilizar. Seleccionaremos PHP, y pulsaremos el bot\u00f3n \u201c<em>I\u2019m ready<\/em>\u201d.<\/strong><\/li>\n<\/ol>\n<div id=\"attachment_237\" style=\"width: 1376px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_menu7.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-237\" class=\"size-full wp-image-237\" src=\"http:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_menu7.jpg\" alt=\"Dashboard de Heroku\" width=\"1366\" height=\"694\" srcset=\"https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_menu7.jpg 1366w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_menu7-300x152.jpg 300w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_menu7-1024x520.jpg 1024w\" sizes=\"auto, (max-width: 1366px) 100vw, 1366px\" \/><\/a><p id=\"caption-attachment-237\" class=\"wp-caption-text\">Dashboard de Heroku<\/p><\/div>\n<hr \/>\n<p>&nbsp;<\/p>\n<ol start=\"7\">\n<li><strong>Descargamos el Heroku Toolbelt para el sistema operativo que utilicemos.<\/strong><\/li>\n<\/ol>\n<div id=\"attachment_238\" style=\"width: 1376px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_phpini8.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-238\" class=\"size-full wp-image-238\" src=\"http:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_phpini8.jpg\" alt=\"Descargar Heroku ToolBelt\" width=\"1366\" height=\"702\" srcset=\"https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_phpini8.jpg 1366w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_phpini8-300x154.jpg 300w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_phpini8-1024x526.jpg 1024w\" sizes=\"auto, (max-width: 1366px) 100vw, 1366px\" \/><\/a><p id=\"caption-attachment-238\" class=\"wp-caption-text\">Descargar Heroku ToolBelt<\/p><\/div>\n<hr \/>\n<p>&nbsp;<\/p>\n<ol start=\"8\">\n<li><strong>Instalamos el Heroku Toolbelt.<\/strong><\/li>\n<\/ol>\n<div id=\"attachment_239\" style=\"width: 523px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_toolbelt9.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-239\" class=\"size-full wp-image-239\" src=\"http:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_toolbelt9.png\" alt=\"Instalaci\u00f3n terminada de Heroku Toolbelt\" width=\"513\" height=\"398\" srcset=\"https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_toolbelt9.png 513w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_toolbelt9-300x233.png 300w\" sizes=\"auto, (max-width: 513px) 100vw, 513px\" \/><\/a><p id=\"caption-attachment-239\" class=\"wp-caption-text\">Instalaci\u00f3n terminada de Heroku Toolbelt<\/p><\/div>\n<hr \/>\n<p>&nbsp;<\/p>\n<ol start=\"9\">\n<li><strong>Ejecutamos el archivo escribiendo el comando \u201cHeroku Login\u201d en una ventana de comandos del S.O.<\/strong><\/li>\n<\/ol>\n<p><a href=\"http:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_toolbelt_install10.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-240\" src=\"http:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_toolbelt_install10.png\" alt=\"\" width=\"677\" height=\"97\" srcset=\"https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_toolbelt_install10.png 677w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_toolbelt_install10-300x43.png 300w\" sizes=\"auto, (max-width: 677px) 100vw, 677px\" \/><\/a><\/p>\n<div id=\"attachment_241\" style=\"width: 687px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_toolbelt_instaled11.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-241\" class=\"size-full wp-image-241\" src=\"http:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_toolbelt_instaled11.png\" alt=\"Toolbelt instalado\" width=\"677\" height=\"99\" srcset=\"https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_toolbelt_instaled11.png 677w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_toolbelt_instaled11-300x44.png 300w\" sizes=\"auto, (max-width: 677px) 100vw, 677px\" \/><\/a><p id=\"caption-attachment-241\" class=\"wp-caption-text\">Toolbelt instalado<\/p><\/div>\n<hr \/>\n<p>&nbsp;<\/p>\n<ol start=\"10\">\n<li><strong>En un momento determinado nos solicitar\u00e1 introducir el correo registrado y el password, tras lo cual nos dir\u00e1 que nos hemos logueado.<\/strong><\/li>\n<\/ol>\n<div id=\"attachment_242\" style=\"width: 687px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_login12.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-242\" class=\"size-full wp-image-242\" src=\"http:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_login12.png\" alt=\"Heroku login\" width=\"677\" height=\"342\" srcset=\"https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_login12.png 677w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_login12-300x152.png 300w\" sizes=\"auto, (max-width: 677px) 100vw, 677px\" \/><\/a><p id=\"caption-attachment-242\" class=\"wp-caption-text\">Heroku login<\/p><\/div>\n<hr \/>\n<p>&nbsp;<\/p>\n<ol start=\"11\">\n<li><strong>Preparamos una aplicaci\u00f3n PHP para clonar. Utilizamos la que nos proporciona Heroku.<\/strong><\/li>\n<\/ol>\n<div id=\"attachment_244\" style=\"width: 993px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_gitclone13.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-244\" class=\"size-full wp-image-244\" src=\"http:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_gitclone13.png\" alt=\"Clonar una app de PHP\" width=\"983\" height=\"209\" srcset=\"https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_gitclone13.png 983w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_gitclone13-300x64.png 300w\" sizes=\"auto, (max-width: 983px) 100vw, 983px\" \/><\/a><p id=\"caption-attachment-244\" class=\"wp-caption-text\">Clonar una app de PHP<\/p><\/div>\n<p>&nbsp;<\/p>\n<div id=\"attachment_245\" style=\"width: 993px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_gettin_start14.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-245\" class=\"size-full wp-image-245\" src=\"http:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_gettin_start14.png\" alt=\"php-getting-started\" width=\"983\" height=\"114\" srcset=\"https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_gettin_start14.png 983w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_gettin_start14-300x35.png 300w\" sizes=\"auto, (max-width: 983px) 100vw, 983px\" \/><\/a><p id=\"caption-attachment-245\" class=\"wp-caption-text\">php-getting-started<\/p><\/div>\n<hr \/>\n<p>&nbsp;<\/p>\n<ol start=\"12\">\n<li><strong>Creamos una app.<\/strong><\/li>\n<\/ol>\n<div id=\"attachment_246\" style=\"width: 993px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_create15.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-246\" class=\"size-full wp-image-246\" src=\"http:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_create15.png\" alt=\"Heroku create\" width=\"983\" height=\"160\" srcset=\"https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_create15.png 983w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_create15-300x49.png 300w\" sizes=\"auto, (max-width: 983px) 100vw, 983px\" \/><\/a><p id=\"caption-attachment-246\" class=\"wp-caption-text\">Heroku create<\/p><\/div>\n<p>El paso anterior cre\u00f3 un git remoto llamado heroku, asociado con un repositorio git local. Heroku genera un nombre aleatorio, en este caso <strong>cryptic-basin-1337.<\/strong><strong>\u00a0<\/strong><\/p>\n<hr \/>\n<p>&nbsp;<\/p>\n<ol start=\"13\">\n<li><strong>Desplegamos el c\u00f3digo en Heroku (comando git push heroku master).<\/strong><\/li>\n<\/ol>\n<p><a href=\"http:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_push16.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-247\" src=\"http:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_push16.png\" alt=\"heroku_push16\" width=\"983\" height=\"666\" srcset=\"https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_push16.png 983w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_push16-300x203.png 300w\" sizes=\"auto, (max-width: 983px) 100vw, 983px\" \/><\/a><\/p>\n<hr \/>\n<p>&nbsp;<\/p>\n<ol start=\"14\">\n<li><strong>Especificamos que por lo menos una instancia de la app est\u00e9 corriendo.<\/strong><\/li>\n<\/ol>\n<p><a href=\"http:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_ps17.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-248\" src=\"http:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_ps17.png\" alt=\"heroku_ps17\" width=\"983\" height=\"80\" srcset=\"https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_ps17.png 983w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_ps17-300x24.png 300w\" sizes=\"auto, (max-width: 983px) 100vw, 983px\" \/><\/a><\/p>\n<hr \/>\n<p>&nbsp;<\/p>\n<ol start=\"15\">\n<li><strong>Abrimos el website con heroku open.<\/strong><\/li>\n<\/ol>\n<div id=\"attachment_249\" style=\"width: 993px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_open18.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-249\" class=\"size-full wp-image-249\" src=\"http:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_open18.png\" alt=\"Heroku open\" width=\"983\" height=\"104\" srcset=\"https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_open18.png 983w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_open18-300x32.png 300w\" sizes=\"auto, (max-width: 983px) 100vw, 983px\" \/><\/a><p id=\"caption-attachment-249\" class=\"wp-caption-text\">Heroku open<\/p><\/div>\n<hr \/>\n<p>&nbsp;<\/p>\n<ol start=\"16\">\n<li><strong>Cargamos el website en el navegador (Aplicaci\u00f3n PHP en Heroku corriendo en: https:\/\/cryptic-basin-1337.herokuapp.com\/)<\/strong><\/li>\n<\/ol>\n<div id=\"attachment_252\" style=\"width: 1376px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_website19b.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-252\" class=\"size-full wp-image-252\" src=\"http:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_website19b.jpg\" alt=\"Aplicaci\u00f3n corriendo con algunos cambios\" width=\"1366\" height=\"700\" srcset=\"https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_website19b.jpg 1366w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_website19b-300x154.jpg 300w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_website19b-1024x525.jpg 1024w\" sizes=\"auto, (max-width: 1366px) 100vw, 1366px\" \/><\/a><p id=\"caption-attachment-252\" class=\"wp-caption-text\">Aplicaci\u00f3n corriendo con algunos cambios<\/p><\/div>\n<hr \/>\n<p>&nbsp;<\/p>\n<ol start=\"17\">\n<li><strong>En este momento podemos realizar los cambios que necesitemos a la app, reemplazar archivos, etc.<\/strong> Si realizamos cambios locales, debemos agregarlos al repositorio git local mediante el comando \u201cGit add .\u201d y subir los cambios mediante el comando \u201cgit commit \u2013m \u201cDemo\u201d<\/li>\n<\/ol>\n<div id=\"attachment_253\" style=\"width: 1376px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_websiteM21.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-253\" class=\"size-full wp-image-253\" src=\"http:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_websiteM21.jpg\" alt=\"Aplicaci\u00f3n corriendo con otros cambios realizados\" width=\"1366\" height=\"704\" srcset=\"https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_websiteM21.jpg 1366w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_websiteM21-300x155.jpg 300w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2015\/11\/heroku_websiteM21-1024x528.jpg 1024w\" sizes=\"auto, (max-width: 1366px) 100vw, 1366px\" \/><\/a><p id=\"caption-attachment-253\" class=\"wp-caption-text\">Aplicaci\u00f3n corriendo con otros cambios realizados<\/p><\/div>\n<p>&nbsp;<\/p>\n<h3><strong>Comentarios<\/strong><\/h3>\n<p>&nbsp;<\/p>\n<ol>\n<li><em>Nombre del proveedor<\/em>: Heroku.com<\/li>\n<li><em>Capacidad de instancias del servicio<\/em>: 1 dyno para 1 sola instancia<\/li>\n<li><em>Capacidad o l\u00edmite de horas de uso<\/em>:<\/li>\n<\/ol>\n<p style=\"padding-left: 60px;\">Por default, la app est\u00e1 siendo desplegada en un dyno gratuito. Los <strong>dynos<\/strong> gratuitos se \u201cduermen\u201d despu\u00e9s de media hora de inactividad y pueden recibir tr\u00e1fico por no m\u00e1s de 18 horas en un d\u00eda antes de irse a dormir. Si un dyno gratuito est\u00e1 durmiendo, y no ha excedido su cuota de 18 horas, cualquier petici\u00f3n web podr\u00e1 ser contestada. Cuando es as\u00ed, hay un retraso de unos pocos segundos en la primera petici\u00f3n. El resto de las petici\u00f3n no tendr\u00e1n este retraso [2]).<\/p>\n<p style=\"padding-left: 30px;\">4. <em>Tipos de instancias permitidas<\/em>:<\/p>\n<p style=\"padding-left: 60px;\">En este caso, Heroku es una PaaS, por lo que nos permite desarrollar en diversas <strong>plataformas<\/strong> como son:<\/p>\n<ul>\n<li>Ruby<\/li>\n<li>PHP<\/li>\n<li>js<\/li>\n<li>Python<\/li>\n<li>Java<\/li>\n<li>Go<\/li>\n<li>Clojure<\/li>\n<li>Scala<\/li>\n<\/ul>\n<p style=\"padding-left: 30px;\">5. <em>Descripci\u00f3n de la(s) herramienta(s) de gesti\u00f3n<\/em>:<\/p>\n<p style=\"padding-left: 60px;\">Como pudimos observar en el desarrollo de este ejercicio, Heroku se maneja utilizando <strong>comandos<\/strong>, entre los que podemos mencionar:<\/p>\n<ul>\n<li>Heroku create (para crear la aplicaci\u00f3n en Heroku, el git remoto y el git local)<\/li>\n<li>Git push heroku master (para desplegar el c\u00f3digo en Heroku)<\/li>\n<li>Heroku ps: scale web=1 (para especificar que queremos correr una instancia)<\/li>\n<li>Heroku open (para abrir el website)<\/li>\n<li>Git add . (para agregar archivos modificados al git local)<\/li>\n<li>Git commit \u2013m \u201cDemo\u201d (para agregar archivos del git local al master)<\/li>\n<\/ul>\n<p style=\"padding-left: 60px;\">La herramienta gr\u00e1fica solo est\u00e1 disponible para las versiones de pago. Adem\u00e1s,\u00a0\u00a0cuenta con una herramienta de gesti\u00f3n como es \u201c<strong>Activity<\/strong>\u201d, para ver la actividad de la aplicaci\u00f3n en Heroku.<\/p>\n<p style=\"padding-left: 30px;\">6. <em>Consumo de recursos\u00a0<\/em><\/p>\n<p style=\"padding-left: 60px;\">Para ver informaci\u00f3n acerca de la app que est\u00e1 ejecut\u00e1ndose, usamos el comando <strong><em>heroku logs<\/em><\/strong> que entre otras cosas nos permite ver el consumo de recursos de la instancia.<\/p>\n<p style=\"padding-left: 60px;\">En esta capa gratuita Heroku no se permite un<strong> Panel de Control<\/strong> gr\u00e1fico, solo podemos acceder a esta informaci\u00f3n a trav\u00e9s de este comando.<\/p>\n<p><strong>\u00a0<\/strong><\/p>\n<h3><strong>Referencias<\/strong><\/h3>\n<ol>\n<li>Heroku.com (2015). <strong>Pricing<\/strong>. Disponible en [www.heroku.com\/pricing]<\/li>\n<li>Heroku.com (2015). <strong>Scale the app<\/strong>. Disponible en [https:\/\/devcenter.heroku.com\/articles\/getting-started-with-php#scale-the-app]<\/li>\n<li>Heroku.com (2015). <strong>Dynos and the Dyno Manager<\/strong>. Disponible en [https:\/\/devcenter.heroku.com\/articles\/dynos]<\/li>\n<li>Rojas L. (2011). <strong> Cloud mobile social<\/strong>. Disponible en [<a href=\"http:\/\/leopoldorojas.com\/2011\/11\/25\/force-com-y-heroku-hermanas-con-distinta-personalidad\/\" target=\"_blank\" class=\"broken_link\">http:\/\/leopoldorojas.com\/2011\/11\/25\/force-com-y-heroku-hermanas-con-distinta-personalidad\/<\/a>]<\/li>\n<li>Viera J. (2015). <strong>\u00bfCu\u00e1l es el mejor servicio en la nube para desarrolladores?<\/strong> Disponible en [<a href=\"http:\/\/www.bbvaopen4u.com\/es\/actualidad\/cual-es-el-mejor-servicio-en-la-nube-para-desarrolladores-amazon-web-services-heroku-y\" target=\"_blank\">http:\/\/www.bbvaopen4u.com\/es\/actualidad\/cual-es-el-mejor-servicio-en-la-nube-para-desarrolladores-amazon-web-services-heroku-y<\/a>]<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>No estamos lejos de que dentro de poco la gran mayor\u00eda de las aplicaciones de software empresarial est\u00e9n trabajando desde alguna arquitectura de Cloud Computing\u00a0,\u00a0de ah\u00ed la importancia de conocer algunas de las principales plataformas de servicios\u00a0en la nube.\u00a0Ahora analizaremos la forma de crear una aplicaci\u00f3n PHP en Heroku, utilizando la capa gratuita que este [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":257,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"amp_status":"","footnotes":""},"categories":[171,33],"tags":[62,63,45],"class_list":["post-227","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-programacion-web","category-web","tag-cloud-computing","tag-heroku","tag-php"],"_links":{"self":[{"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/posts\/227","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/comments?post=227"}],"version-history":[{"count":15,"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/posts\/227\/revisions"}],"predecessor-version":[{"id":845,"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/posts\/227\/revisions\/845"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/media\/257"}],"wp:attachment":[{"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/media?parent=227"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/categories?post=227"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/tags?post=227"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}