Cuando se está en el proceso de desarrollo de una API, se realizan pruebas internas para verificar el funcionamiento de los distintos componentes de la misma. Luego que la fase de pruebas haya concluido se debe subir a un servidor, desde donde los usuarios para la cual fue desarrollada puedan consumir sus servicios. Existen muchas empresas las cuales ofrecen alojar la API, pero cada una ofrece diferentes paquetes de funcionabilidades, dependiendo de los requerimientos se decidirá cual empresa se adapta mejor. En este tutorial se indicaran los pasos necesarios para subir la API a Heroku.
La API constara de una única función, debido a que el objetivo de este tutorial es indicar como debe configurarse un proyecto localmente para que esté en condiciones de ser aceptado por el servicio heroku.
Para el proyecto se utilizó el lenguaje GO versión: go1.13.7
La función ListenAndServe inicia un servidor HTTP con la dirección :8000 cuando se trabaja localmente se utiliza el puerto 8000, pero cuando ya se encuentre alojada en el servicio el puerto lo decidirá Heroku por ende tiene esa validación, un único endpoint de acceso /hello por el cual se pueden hacer peticiones el cual devolverá el mensaje: “Hello, World!”.
A pesar de que el proyecto no posee ninguna dependencia como: Gorilla, bcrypt , entre otras. Lo normal es que los servicios web tengan dependencias para propósitos específicos. Para su manejo es necesario instalar una herramienta que las administrara, algunas de ellas son Godep, Dep y Go Modules.
El manejador seleccionado a utilizar es Godep. Para su instalación se debe cumplir los siguientes pasos:
Dentro de la carpeta del proyecto se deberá abrir la consola y ejecutar el siguiente comando:
go get -u github.com/tools/godep
El cual lo descargara e instalara, para validar su instalación se ejecuta: godep version
Debería mostrar la versión que se instaló.
De lo contrario mostrara un error como el siguiente:
Para corregir ese error se necesita agregar la dirección de la carpeta donde se almacenan los archive BIN a la variable PATH de Windows.
Ahora se ejecutara Godep que organizara las dependencias.
godep save ./...
De no mostrar ningún mensaje de error, se generaran dos carpetas: Godeps y Vendor, la API no cuenta con dependencias por lo cual no se generara la carpeta Vendor. En el caso de la carpeta Godeps se creara un archivo JSON automáticamente donde se almacenara la lista de las dependencias que se utilizan en la aplicación.
Las nuevas carpetas deben ser almacenadas en un repositorio GIT. Se iniciara con el comando : git init
Se debe hacer commit a los cambios, primero el comando git add . , luego git commit –m “Agregando dependencias”
Lo siguiente es crearse una cuenta en heroku a través de este link: Registrarse
Y luego descargar e instalar el CLI con el cual se podrá subir el código a la recién creada cuenta de Heroku: Descargar CLI.
Para verificar que la instalación del CLI fue exitosa se ingresa el comando: heroku –versión se deberá mostrar la versión de heroku instalada en la computadora.
Para continuar con el proceso se debe iniciar sesión sincronizando el proyecto con la cuenta. La sincronización se hace con el comando heroku login el cual abrirá una ventana en un navegador para que se inicie sesión en la cuenta de heroku.
Si desea conocer si la autenticación fue exitosa se ejecuta el comando
heroku auth:token le deberá mostrar el token asignado.
Para este siguiente paso se debe crear una aplicación en Heroku la cual será la que recibirá el código y se generara automáticamente un repositorio GIT específico para la nueva aplicación en heroku. heroku create [nombre-app]
Se puede observar la recién creada aplicación en el panel de la cuenta de heroku.
Y el nuevo repositorio GIT con git remote –v
Ahora para finalizar se debe enviar el código a la aplicación en heroku:
git push heroku master
Si todo fue enviado correctamente a partir desde este momento los usuarios pueden hacer uso de la API.
Nota: Ese mismo comando se debe ejecutar cada vez que se realice un cambio en el código localmente y se desee enviar a la aplicación en heroku.
Si desea conocer cuántas versiones tiene la aplicación en heroku, se puede observar con heroku releases y para conocer con más detalle a una específica versión se utiliza heroku releases:info [versión-release]
Heroku implementa una medida de protección de sus servicios, limita la cantidad de envíos de código a la aplicación que se encuentra en sus servicios de un número de 75 peticiones por usuario, por aplicación y por hora. Si desea conocer más acerca de una implementación de la medida en el lenguaje GO lo puede leer aquí:
Como limitar las peticiones a una api.
Si usted tiene alguna pregunta, sugerencia o corrección, ¡estaría encantado conocerla!
Top comments (1)
Heroku como siempre simplificando la forma de hacer las cosas :D