Servicios web de Amazon - Lambda

AWS Lambda es un servicio de nube receptivo que inspecciona las acciones dentro de la aplicación y responde implementando los códigos definidos por el usuario, conocidos como functions. Gestiona automáticamente los recursos informáticos en varias zonas de disponibilidad y los escala cuando se activan nuevas acciones.

AWS Lambda admite el código escrito en Java, Python y Node.js, y el servicio puede iniciar procesos en lenguajes compatibles con Amazon Linux (incluye Bash, Go y Ruby).

A continuación, se incluyen algunos consejos recomendados al utilizar AWS Lambda.

  • Escriba su código de función Lambda en un estilo sin estado.

  • Nunca declare ninguna variable de función fuera del alcance del controlador.

  • Asegúrese de tener un conjunto de + rx permissions en sus archivos en el ZIP cargado para garantizar que Lambda pueda ejecutar código en su nombre.

  • Elimine las funciones Lambda antiguas cuando ya no sean necesarias.

¿Cómo configurar AWS Lambda?

Siga estos pasos para configurar AWS Lambda por primera vez.

Step 1 - Inicie sesión en la cuenta de AWS.

Step 2 - Seleccione Lambda en la sección de servicios de AWS.

Step 3 - Seleccione un plano (opcional) y haga clic en el botón Omitir.

Step 4 - Proporcione los detalles necesarios para crear un Lambda functioncomo se muestra en la siguiente captura de pantalla y pegue el código Node.js que se activará automáticamente cada vez que se agregue un nuevo elemento en DynamoDB. Seleccione todos los permisos necesarios.

Step 5 - Haga clic en el botón Siguiente y verifique sus datos.

Step 6 - Haga clic en el botón Crear función.

Ahora, cuando seleccionamos el servicio Lambda y seleccionamos la pestaña Fuentes de eventos, no habrá registros. Agregue al menos una fuente a la función Lambda para que funcione. Aquí, le estamos agregando la tabla DynamoDB.

Hemos creado una tabla usando DynamoDB (discutiremos esto en detalle en el capítulo de DynamoDB).

Step 7 - Seleccione la pestaña de flujo y asóciela con la función Lambda.

Verá esta entrada en la pestaña Fuentes de eventos de la página Servicio Lambda.

Step 8- Agregue algunas entradas a la tabla. Cuando la entrada se agrega y se guarda, el servicio Lambda debería activar la función. Se puede verificar mediante los registros de Lambda.

Step 9- Para ver los registros, seleccione el servicio Lambda y haga clic en la pestaña Supervisión. Luego haga clic en Ver registros en CloudWatch.

Beneficios de AWS Lambda

A continuación se muestran algunos de los beneficios de usar tareas de Lambda:

  • Las tareas de Lambda no necesitan registrarse como tipos de actividad de Amazon SWF.

  • Podemos utilizar cualquier función Lambda existente que ya haya definido en los flujos de trabajo.

  • Las funciones Lambda son llamadas directamente por Amazon SWF; no es necesario diseñar un programa para implementarlos y ejecutarlos.

  • Lambda nos proporciona las métricas y los registros para realizar un seguimiento de las ejecuciones de funciones.

Límites de AWS Lambda

A continuación se muestran los tres tipos de límites de Lambda.

Límite del acelerador

El límite de aceleración es de 100 ejecuciones simultáneas de funciones Lambda por cuenta y se aplica al total de ejecuciones simultáneas en todas las funciones dentro de una misma región.

La fórmula para calcular el número de ejecuciones simultáneas para una función = (duración promedio de la ejecución de la función) X (número de solicitudes o eventos procesados ​​por AWS Lambda).

Cuando se alcanza el límite de aceleración, devuelve un error de aceleración con un código de error 429. Después de 15-30 minutos, puede comenzar a trabajar nuevamente. El límite de aceleración se puede aumentar comunicándose con el centro de soporte de AWS.

Límite de recursos

La siguiente tabla muestra la lista de límites de recursos para una función Lambda.

Recurso Límite predeterminado
Capacidad de disco efímera (espacio "/ tmp") 512 MB
Número de descriptores de archivo 1.024
Número de procesos e hilos (total combinado) 1.024
Duración máxima de ejecución por solicitud 300 segundos
Invocar el tamaño de la carga útil del cuerpo de la solicitud 6 MB
Invocar el tamaño de la carga útil del cuerpo de respuesta 6 MB

Límite de servicio

La siguiente tabla muestra la lista de límites de servicios para implementar una función Lambda.

Articulo Límite predeterminado
Tamaño del paquete de implementación de la función Lambda (archivo .zip / .jar) 50 MB
Tamaño del código / dependencias que puede comprimir en un paquete de implementación (tamaño zip / jar sin comprimir) 250 MB
Tamaño total de todos los paquetes de implementación que se pueden cargar por región 1,5 GB
Número de fuentes de eventos únicas del tipo de fuente de eventos programados por cuenta 50
Número de funciones de Lambda únicas que puede conectar a cada evento programado 5

Para obtener la última estructura de límites actualizada y más información, visite - https://docs.aws.amazon.com/lambda/latest/dg/limits.html/