AWS lambda 101 -Parte 1

AWS lambda 101 -Parte 1

Cómo configurar un ambiente de trabajo para Lambda? Oscar Cortes te lo cuenta!

AWS lambda 101 -primera parte-

Al sentarme a escribir lo que queríamos contar sobre AWS lambda , me encontré con un obstáculo, uno que es recurrente en tecnologia al querer compartir experiencias. En la mayoría de los casos la complejidad de los conceptos que queremos transmitir nos lleva a tener que construir sobre conceptos más básicos.

En este caso ademas de la dificultar de introducir los conceptos nuevos, se adiciona la problemática del o los ambientes donde vamos a aplicar esos conceptos, la configuración de nuestros ambientes de trabajos, claves, librerías, versiones, etc...

Dicho esto, antes de soltar nuestra version de como nos aproximamos a lambda, vamos a contarles los requisitos previos que necesitamos y algunos detalles de cono configurar nuestro ambiente de desarrollo, para que en los siguientes pasos podamos concentrarnos en lo que queremos contarles.

Una cuenta en AWS

Si bien trataremos de ser trasversales en los distintos proveedores del cloud, partiremos siempre de AWS, por distintos motivos, entre ellos por qué es donde mas experiencias podemos trasmitirles, al menos de mi parte.

Tenemos que tener una cuenta en Amazon Web Services(AWS), no vamos a explicar este paso pero dejamos los links de cómo crearla que están muy bien documentados.

Disclaimer: AWS tine un costo, sin embargo el 99% de los ejemplos que trabajaremos en estos artículos, utilizaremos la capa gratuita al menos que ustedes ya la hayan consumido 🙉 ...

A continuación el Link para darse de alta en AWS: Crear una cuenta en AWS

AWS cli

El 99% de los deploys o desarrollos que realizaremos, los realizaremos a través de la linea de comando, con lo cual tenemos que estar familiarizados con la terminal ... >$ ... bash

Link para configurar AWS-cli

Librerías Necesarias

Probemos si tenemos todo correctamente ...

Descarguemos el siguiente repositorio, y hagamos un deploy ...

Repositorio: serverless-aws-nodejs-template

Dentro de la carpeta del proyecto:

Vamos hacer un deploy de una función que nos avisa que todos salió bien

sls deploy --aws-profile nombre-de-nuestro-profile --stage dev

Nos tiene que devolver algo como esto:

Deploying serverless-aws-nodejs-template to stage dev (us-east-1)

✔ Service deployed to stack serverless-aws-nodejs-template-dev (110s)

functions:
  hello: serverless-aws-nodejs-template-dev-hello

Invocar la función para verificar que la funciona esta respondiendo

serverless invoke --function hello --aws-profile name-you-profile

nos tiene que devolver algo como esto:

{
    "statusCode": 200,
    "body": "{\n  \"message\": \"Go Serverless v1.0! Your function executed successfully!\",\n  \"input\": {}\n}"
}

Finalmente borramos el stack

Una buena practica para no ir acumulando recursos sin uso en nuestra cuenta de AWS es borrar los stack que no utilicemos, para este propósito serverless tiene un comando que nos permite remover el stack completo con la lambda que desplegamos.

serverless remove --stage dev

Nos retornara una respuesta similar a ...

Removing serverless-aws-nodejs-template from stage dev (us-east-1)

✔ Service serverless-aws-nodejs-template has been successfully removed

Perfecto si hemos llegado hasta este punto tenemos todo listo para el siguiente capitulo donde hablaremos de Lambda en profundidad,

Espero les sea de utilidad, cualquier consulta en los comentarios o nuestras redes.

Saludos!