Slide 1

Slide 1 text

© 2023, UG Peru Cloud, AWS User Group Perú y sus afiliadas. Todos los derechos reservados .

Slide 2

Slide 2 text

© 2023, UG Peru Cloud, AWS User Group Perú y sus afiliadas. Todos los derechos reservados . © 2023, UG Peru Cloud, AWS User Group Perú y sus afiliadas. Todos los derechos reservados . AWS Lambda Optimization & Tuning Level 200 SESSION ID (531842) Tips, mejores prácticas y herramientas para lograr que tus lambdas tengan la mejor performance

Slide 3

Slide 3 text

© 2023, UG Peru Cloud, AWS User Group Perú y 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

Slide 4

Slide 4 text

© 2023, UG Peru Cloud, AWS User Group Perú y 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

Slide 5

Slide 5 text

© 2023, UG Peru Cloud, AWS User Group Perú y 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)

Slide 6

Slide 6 text

© 2023, UG Peru Cloud, AWS User Group Perú y 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

Slide 7

Slide 7 text

© 2023, UG Peru Cloud, AWS User Group Perú y 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)

Slide 8

Slide 8 text

© 2023, UG Peru Cloud, AWS User Group Perú y sus afiliadas. Todos los derechos reservados . Ciclo de vida Lambda

Slide 9

Slide 9 text

© 2023, UG Peru Cloud, AWS User Group Perú y sus afiliadas. Todos los derechos reservados . AWS Lambda (Invocation)

Slide 10

Slide 10 text

© 2023, UG Peru Cloud, AWS User Group Perú y 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

Slide 11

Slide 11 text

© 2023, UG Peru Cloud, AWS User Group Perú y sus afiliadas. Todos los derechos reservados . Tip #1 - AWS Xray Trace Sample

Slide 12

Slide 12 text

© 2023, UG Peru Cloud, AWS User Group Perú y 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/

Slide 13

Slide 13 text

© 2023, UG Peru Cloud, AWS User Group Perú y sus afiliadas. Todos los derechos reservados . Oportunidades de optimización Latency Throughput Cost

Slide 14

Slide 14 text

© 2023, UG Peru Cloud, AWS User Group Perú y 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.

Slide 15

Slide 15 text

© 2023, UG Peru Cloud, AWS User Group Perú y sus afiliadas. Todos los derechos reservados . AWS Lambda Provisioned Concurrency

Slide 16

Slide 16 text

© 2023, UG Peru Cloud, AWS User Group Perú y 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

Slide 17

Slide 17 text

© 2023, UG Peru Cloud, AWS User Group Perú y sus afiliadas. Todos los derechos reservados . https://github.com/alexcasalboni/aws-lambda-power-tuning AWS Lambda Power Tuning

Slide 18

Slide 18 text

© 2023, UG Peru Cloud, AWS User Group Perú y sus afiliadas. Todos los derechos reservados . AWS Lambda Power Tuning (Input) { "lambdaARN": "your-lambda-function-arn", "powerValues": [128, 256, 512, 1024], "num": 50, "payload": {} }

Slide 19

Slide 19 text

© 2023, UG Peru Cloud, AWS User Group Perú y sus afiliadas. Todos los derechos reservados . AWS Lambda Power Tuning (Output) { "results": { "power": "128", "cost": 0.0000002083, "duration": 2.906, "stateMachine": { "executionCost": 0.00045, "lambdaCost": 0.0005252, "visualization": "https://lambda-power-tuning.show/#" } } }

Slide 20

Slide 20 text

© 2023, UG Peru Cloud, AWS User Group Perú y sus afiliadas. Todos los derechos reservados . AWS Lambda Power Tuning (Gráfico)

Slide 21

Slide 21 text

© 2023, UG Peru Cloud, AWS User Group Perú y sus afiliadas. Todos los derechos reservados . Mejores prácticas Evitar funciones monolíticas Optimiza dependencias (imports) Minify, uglify código productivo

Slide 22

Slide 22 text

© 2023, UG Peru Cloud, AWS User Group Perú y 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

Slide 23

Slide 23 text

© 2023, UG Peru Cloud, AWS User Group Perú y sus afiliadas. Todos los derechos reservados . The world is asynchronous Dr. Werner Vogels VP & CTO of Amazon.com

Slide 24

Slide 24 text

© 2023, UG Peru Cloud, AWS User Group Perú y sus afiliadas. Todos los derechos reservados . AWS Serverless User Group Latam