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
Node y npm
serverless framework
git
- siempre viene instalado en Linux/Unix ...
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!