Pruebas de Funciones Lambda en Local con Serverless Framework

Clase 11 de 25Curso de Serverless Framework en AWS

Resumen

¿Cómo probar aplicaciones serverless localmente?

Si estás trabajando con aplicaciones serverless, puede ser un desafío probar localmente funciones que están diseñadas para funcionar en la nube. Afortunadamente, existen herramientas que facilitan este proceso, permitiéndote emular y verificar el funcionamiento de tu aplicación antes de desplegarla. Veamos cómo puedes hacerlo eficientemente.

¿Cómo hacer la aplicación más dinámica?

Para añadir dinamismo a una API y asegurarte de que responda con datos cambiantes, puedes jugar con variables como la hora, los minutos y los segundos. Aquí tienes un ejemplo de cómo implementar esto en tu aplicación:

const hora = new Date().getHours();
const minuto = new Date().getMinutes();
const segundo = new Date().getSeconds();

// Concatenar para mostrar en el body de la respuesta
const mensaje = `Hora: ${hora}:${minuto}:${segundo}`;

Así, cada solicitud GET a tu función lambda te mostrará una hora distinta, logrando un comportamiento más reactivo y menos estático.

¿Cómo invocar funciones localmente con Serverless Framework?

Una ventaja del framework serverless es la capacidad de probar tus funciones localmente. Aquí te mostramos cómo:

  1. Uso del comando invoke local:

    Este comando te permite ejecutar funciones localmente sin necesidad de desplegar tu aplicación en la nube. Específicamente, utiliza:

    sls invoke local --function nombreDeFunción
    

    Reemplaza nombreDeFunción con el nombre específico de la función lambda que deseas probar, como está definido en tu archivo serverless.yaml.

¿Qué es y cómo se instala el plugin Serverless Offline?

El plugin Serverless Offline es una herramienta imprescindible para emular un entorno AWS local. Permite simular el comportamiento de AWS Lambda y API Gateway. Para instalarlo:

  1. Instalación con npm:

    Ejecuta el siguiente comando en tu terminal:

    npm install serverless-offline
    
  2. Configuración en serverless.yaml:

    Añade la sección de plugins en tu archivo de configuración para incluir el plugin:

    plugins:
      - serverless-offline
    

¿Cómo probar la aplicación con Serverless Offline?

Después de configurar e instalar el plugin, puedes iniciar tu aplicación en un entorno simulado local:

  1. Ejecutar el servidor offline:

    Usa el comando siguiente para arrancar la aplicación simulando AWS API Gateway:

    sls offline start
    
  2. Acceso a la función:

    La aplicación correrá en localhost en el puerto 3000. Puedes verificar su funcionamiento en tu navegador visitando la URL mostrada, típicamente algo como: http://localhost:3000/dev/hello.

Con estas herramientas, puedes ahorrar tiempo y recursos al poder desarrollar y probar diferentes lógicas y funcionalidades de manera eficaz antes de llevar tu aplicación a producción.

¿Por qué usar Serverless Framework y sus plugins?

Usar Serverless Framework junto con plugins como Serverless Offline te otorga flexibilidad y control sobre el proceso de desarrollo. El uso de estos recursos te ayudará a evitar el ciclo ineficaz de despliegue y prueba en entornos en la nube, acelerando significativamente tu flujo de trabajo.

Estos pasos aseguran no solo que tu código funcione correctamente antes de implementarlo, sino que también te da la oportunidad de explorar y familiarizarte con otros plugins que la comunidad ofrece, enriqueciendo aún más el alcance y las capacidades de tus proyectos serverless. ¡Anímate a experimentar con ellos y lleva tus desarrollos al siguiente nivel!