NETERIS CONSULTING
Cabecera Blog AWS

AWS Lambda Serverless: Beneficios y Usos

Posted by J. Saenz on 14 junio 2024
Add to Flipboard Magazine.

Uno de los servicios más potentes y usados de AWS para la ejecución de código es AWS Lambda. En este artículo, exploraremos cómo AWS Lambda permite una ejecución de código serverless, ofreciendo function as a service en varios lenguajes de programación, y cómo su modelo de pago por uso lo convierte en una opción eficiente y escalable para diversas aplicaciones. También abordaremos sus límites, beneficios, características y casos de uso más comunes.

IMG Principal Blog AWS Lambda Serverless

Ejecución de código serverless

> Function as a service

Function as a service con varios lenguajes de programación.

awslambda_lenguajes

> Serverless

No hay VM o contenedor arriba constantemente.

awslambda_faas

> Pago por uso

Solo se paga mientras se ejecuta la función.

awslambda_payasyougo

Límites de AWS Lambda

AWS Lambda tiene unos límites predefinidos que se pueden configurar (soft limits), y tiene unos límites absolutos del servicio (hard limits) que no se pueden superar:

awslambda_limits_soft

awslambda_limits_hard

Beneficios de AWS Lambda

awslambda_beneficios

 

1. Simplicidad: Evita gestión de VM’s o Contenedores.

2. Coste y eficiencia: Pago por uso.

3. Escalabilidad: Automática.

4. Flexibilidad: Disponible para varios lenguajes de programación.

5. Orientado a eventos: Ideal para todas arquitecturas, especialmente orientada a eventos.

6. Sinergias: Integración con otros servicios, de AWS o externos.

 

Características de AWS Lambda

Entre las principales características de este servicio podemos destacar:

  • Capas: Para encapsular lógica común de diferentes funciones.
  • Alias y versiones: Para tener diferentes alias de una misma función ligados a diferentes versiones.
  • Monitorización y logs: Multitud de métricas, capacidad de registrar en log y de hacer debug sobre otros servicios que se invocan dentro de la función.
  • Configuración de máquina: Para elegir la potencia y tiempos deseados.
  • Variables de entorno: Para evitar valores “hardcodeados” dentro de la función.
  • Máquinas de estado: Para realizar flujos de varias funciones.
  • Seguridad: Se necesitan permisos para los servicios que disparan la función lambda y para los servicios usados dentro de la función lambda.

Usos de AWS Lambda

Hay una larga lista de servicios dentro de AWS que pueden disparar Lambda de forma nativa, siendo algunos de ellos síncronos y otros asíncronos (“invoco y me olvido”).

Por ejemplo, hay 3 disparadores muy comunes:

  • API GATEWAY: Una petición a la API se pasa a Lambda para ejecutar una lógica.
  • DYNAMODB: La modificación de un registro dispara la ejecución de una lambda.
  • S3: La escritura de algún fichero dispara la ejecución de una lambda.

awslambda_triggers

Por otro lado, dentro de una función Lambda podemos incluir la lógica que deseemos, pudiendo realizarse contra servicios nativos de AWS o contra servicios externos que sean accesibles desde AWS.

awslambda_inside

En definitiva, AWS Lambda es un servicio ideal para muchísimos tipos de cargas de trabajo, que puede interactuar con multitud de servicios, estando presente en casos de uso como los siguientes (y muchos otros más).

  • API Backend
  • File processing
  • Data processing
  • IoT
  • Scheduled tasks
  • Image & Video processing / transcoding
  • Cryptography
  • ETL

awslambda_usoamazon web services

Blogs Relacionados:

Serverless, la solución ganadora

Cómo AWS Lambda ayuda en la optimización de procesos

4 Servicios Cloud Imprescindibles de AWS

Topics: Cloud & Infrastructure, Amazon Web Services