App Básica: Serverless RESTfull API

Cuando nosotros creamos una aplicación la podemos hospedar todo en un servidor. Sin embargo, si la aplicación va creciendo tendremos que ir dandole más poder agregándole más maquinas. Esto significa que el costo subirá y subirá sin parar. De igual manera, si resulta que la aplicación empieza a perder su popularidad tendremos que ir quitándole el poder que le fuimos dando mientras la aplicación estaba creciendo. De aquí se plantea el termino escalabilidad.

Existe una solución a este problema mucho más económica y efectiva llamada RESTful app o tecnología RESTful.

Con esta tecnología solo nos cobraran el tiempo en que las funciones se fueron utilizando en las maquinas.

Te explicare con un ejemplo bien básico el como funcionan estas aplicaciones RESTful. Vamos a hacer una aplicación que liste a tus empleados o equipo de trabajo.

Para esta aplicación usaremos tecnologías como:

  • Firebase functions: Tiene una versión gratuita. Que funciona bien para lanzar productos en donde no se sabe si va a generar atracción.
  • Nodejs: Para construir funciones.
  • Restful, vamos a construir una api restful vamos a verbos de get, post, delete, patch, put.
  • Express:
  • Mongodb (atlas o mlab)

#1

La herramienta principal a utilizar es NODEJS, así que tenemos que descargarlo desde su pagina web. Cuando la descargues pon el siguiente comando para saber si esta instalada correctamente:

node -v

#2

Despues vamos a instalar YARN

Yarn es una librería que nos va a ayudar a manejar todas las dependencias de los proyectos que estemos construyendo. Es una alternativa más rápida que NPM y también es mantenida por Facebook al igual que React. Así que para instalarlo ve a su pagina web. Una vez que las descargues pon el siguiente código para asegurarte que la instalaste correctamente:

yarn --version

#3

Instalar algún editar de código como por ejemplo “V Code”.

#4

Para nosotros poder instalar las herramientas de Firebase que nos van a permitir a nosotros correr un servidor local. Vamos a tener que instalar Firebase Tools eso lo podemos hacer escribiendo lo siguiente:

yarn global add firebase-tools

Esto nos va a servir para nosotros poder emular servidores. As de cuenta que estaremos en la nube de firebase pero en realidad estaremos en tu computadora. Sirve mucho para migrar rápidamente a la nube de Google “Firebase”. Para no tener que subir las funciones cada ves que querramos probar la app.

#5

Ahora vamos a necesitar Instalar la herramienta POSTMAN, la cual vamos a utilizar para probar nuestra api rest. Nosotros podremos realizar las peticiones directamente a nuestra api.

#6

Después vamos a crear una base de datos en MLAB. MLAB provee de servicios e base de datos en la nube. Te deja almacenar hasta 0.5 megabytes. De esta manera no tendremos que instalar ningun servidor o mongoose, simplemente nos conectamos a la ruta que nos indica el mlab.

Lo primero es crear una base de datos en el boton “Crear Nueva” te pedira la nube de quien tu digas (Google, Amazon, Azure). Firebase es de google, asi que selecionaremos Google. Despues selecionamos el provedor. Despues el nombre de la base de datos, le damos click en continuar.

Para poder conectarnos vamos a tener que crear un usuario de base de datos. En users agregamos un usuario a la base de datos.

Ahí mismo te dará un código para que lo pegues en tu aplicación y se pueda conectar tu app con esta base de datos que acabas de crear.

#7

El siguiente paso que tenemos que hacer es crear una applicacion para que nosotros podamos subir nuestra api rest. Para eso ir a console.firebase.google.com

Damos click en addproject, ponemos el nombre del proyecto, y aceptamos los terminos y condiciones. Se tardara un poco en crear pero no mas de 10 minutos.

#8

Ahora vamos a crear nuestra aplicacion en nuestra computadora. Para eso tenemos que crear una carpeta llamada como se llame nuestro proyecto. Una vez dentro de ella pondremos el siguiente comando:

firebase init

Vamos a seleccionar functions y hosting. Despues selecionamos nuestro proyecto. Despues escogemos javascript. Despues si queremos utilizar ESlint para atrapar errores y le ponemos que si.

Despues nos preguntara que si queremos utilizar npm le decimos que no, por que estamos utilizando yarn.

Despues le damos enter cuando nos pregunta que queremos utilizar como public directory.

Despues vamos a instalar las dependencias utilizando YARN. vamos a escribir lo siguiente:

yarn

Una vez instalados veremos que se creo una carpeta llamada node_modules con todas las dependencias instaladas exitosamente.

#9

Ahora vamos a instalar 2 dependecias mas, EXPRESS como framework para crear endpoints y asi construir nuestra api rest y tambien instalar mongoose para almacenar toos los datos de nuestra applicacion.

Para instalar esas dependencias vamos a escribir lo siguiente:

yarn express mongoose 

#10

Ahora vamos a volver a imgresar a la carpeta functions de nuestro projecto y vamos a ver que contiene nuestro archivo “package.json” y vamos a ver dentro de el, nos da los scripts que necesitamos para poder empezar a utilizar para desarrollar.

El primer script a utilizar es el de “serve”. El cual sirve para ejecutar nuestro servidor y lo ejecutaremos poniendo el comando en terminal:

yarn serve

#11

Ahora vamos a abrir el archivo index.js y vamos a ver algunas de las instrucciones en comentarios donde nos muestra que se tiene que hacer para empezar a desarrollar.

Es importante saber que para nosotros poder ejecutar una función nosotros tenemos que hacerlo con la palabra reservada de “EXPORTS”:

Si te das cuenta si tu quitas las diagonales de comentarios vas a ver que en ese momento en la terminal el servidor reconocera la funcion “helloWorld”

#12

Leave a Reply

Your email address will not be published. Required fields are marked *