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