sus afiliadas. Todos los derechos reservados . Acerca de mi Lino Espinoza Technical Lead at Kushki, 3x AWS Certified Papá, amante del buen café Amante y evangelista del mundo serverless. Javascript & Typescript lover. <3
sus afiliadas. Todos los derechos reservados . Agenda • AWS Lambda: Lo básico • Mejores prácticas en optimización para AWS Lambda • Tips & Herramientas • Mejores prácticas
sus afiliadas. Todos los derechos reservados . AWS Lambda • Serverless (funciona sin provisionar o administrar infraestructura) • Escalamiento automático • Pagas sólo por la capacidad de cómputo que usas • Soporta varios casos de uso ▪ Procesamiento de data a escala ▪ Web y mobile backends ▪ Cargas de trabajo de ML ▪ Aplicaciones basadas en eventos (EDA)
sus afiliadas. Todos los derechos reservados . AWS Lambda • Está basado en memoria, mientras más memoria consumes, lo mismo con el cpu • AWS te cobra por GB x segundos • Considera que una tamaño pequeño, no necesariamente significa más barato
sus afiliadas. Todos los derechos reservados . Anatomía de una función lambda Handler Event (object) Context (object) Función a ejecutarse después de la invocación Contiene la data enviada durante la invocación de la lambda Metadata para obtener info del runtime (request ID, authorizers, log group, entre otros)
sus afiliadas. Todos los derechos reservados . Tip #1 - Usar AWS Xray Habilitar Xray para obtener información de la performance actual de las lambdas const AWSXRay = require('aws-xray-sdk-core'); const AWS = AWSXRay.captureAWS(require('aws-sdk')); // Capture all outgoing https requests AWSXRay.captureHTTPsGlobal(require('https')); const https = require('https'); https://github.com/aws-samples/aws-xray-sdk-node-sample
sus afiliadas. Todos los derechos reservados . Tip #2 AWS Lambda con CPU Graviton2 https://aws.amazon.com/blogs/aws/aws-lambda-functions-powered-by-aws-graviton2-processor -run-your-functions-on-arm-and-get-up-to-34-better-price-performance/
sus afiliadas. Todos los derechos reservados . AWS Lambda Provisioned Concurrency Concurrency: Es el número de requests que tu función puede manejar al mismo tiempo Reserved Concurrency: Es el máximo número de instancias concurrentes que quieres habilitar para tu función lambda. Esto no incurre en costos. Provisioned Concurrency: Es el número de entornos de ejecución pre-inicializadas que quieres habilitar para tu función lambda. Si incurre en costos.
sus afiliadas. Todos los derechos reservados . AWS Lambda Power Tuning • Optimización de costos y performance para AWS Lambda (data-driven) • Step Function de fácil disponibilidad y lambda agnostic. • Fácil de integrar en los pipelines de integración y despliegue continuo, • Comparación entre 2 lambdas
sus afiliadas. Todos los derechos reservados . Mejores prácticas Lambdas para transformar data, no transportar Descarta eventos que no utilizas Lambda Destinations Tuning correcto de las lambdas Cuidado con los retry policies