Slide 1

Slide 1 text

M O N T E R R E Y | 1 1 D E N O V I E M B R E

Slide 2

Slide 2 text

Tips de optimización y rendimiento de AWS Lambda Technical Lead Kushki Lino Espinoza (he/him) O E N - 2 0 4

Slide 3

Slide 3 text

© 2023, AWS Community Day México. Todos los derechos reservados. Acerca de mi Technical Lead, Ex-Kushki 3x AWS Certified Papá, amante del buen café Builder y evangelista del mundo serverless. Typescript & Go lover <3

Slide 4

Slide 4 text

© 2023, AWS Community Day México. Todos los derechos reservados. Agenda AWS Lambda 101 Ciclo de vida y tipos de invocación de una lambda Mejores prácticas y consejos AWS Lambda Power Tunning Demo *

Slide 5

Slide 5 text

© 2023, AWS Community Day México. Todos los derechos reservados. © 2023, AWS Community Day México. Todos los derechos reservados. AWS Lambda 101

Slide 6

Slide 6 text

© 2023, AWS Community Day México. Todos los derechos reservados. • Serverless • Escalamiento automático • Pagas por lo que usas • Casos de uso § Procesamientos de data a escala § Web y mobile backends § Cargas de trabajo de Machine Learning § Aplicaciones basadas en eventos (Event Driven Architecture) Conceptos de AWS Lambda

Slide 7

Slide 7 text

© 2023, AWS Community Day México. Todos los derechos reservados. • Basado en memoria, mientras más memoria consumas, lo mismo con el cpu • Considera que un tamaño pequeño de lambda, no necesariamente significa menores costos. Conceptos de AWS Lambda

Slide 8

Slide 8 text

© 2023, AWS Community Day México. Todos los derechos reservados. Anatomía de una función Lambda • Función a ejecutarse después de la invocación Handler • Contiene la información enviada durante la invocación de la lambda Event (object) • Metadata para obtener información del runtime (requestId, authorizers, log group, etc) Context (object)

Slide 9

Slide 9 text

© 2023, AWS Community Day México. Todos los derechos reservados. © 2023, AWS Community Day México. Todos los derechos reservados. Ciclo de vida de una función lambda

Slide 10

Slide 10 text

© 2023, AWS Community Day México. Todos los derechos reservados. Ciclo de vida de una función Lambda Q U E P U E D O Y N O P U E D O O P T I M I Z A R

Slide 11

Slide 11 text

© 2023, AWS Community Day México. Todos los derechos reservados. © 2023, AWS Community Day México. Todos los derechos reservados. Tipos de invocación de una lambda

Slide 12

Slide 12 text

© 2023, AWS Community Day México. Todos los derechos reservados. Tipos de invocación de una lambda S Í N C R O N A , A S Í N C R O N A Y B A S A D A E N E V E N T O S

Slide 13

Slide 13 text

© 2023, AWS Community Day México. Todos los derechos reservados. © 2023, AWS Community Day México. Todos los derechos reservados. Mejores prácticas & consejos

Slide 14

Slide 14 text

© 2023, AWS Community Day México. Todos los derechos reservados. 1. Usar AWS - Xray 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'); Habilitar Xray para obtener información del rendimiento actual de las lambdas

Slide 15

Slide 15 text

© 2023, AWS Community Day México. Todos los derechos reservados. AWS Xray Trace de ejemplo

Slide 16

Slide 16 text

© 2023, AWS Community Day México. Todos los derechos reservados. 2. AWS Lambda con Cpu Graviton 2 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 17

Slide 17 text

© 2023, AWS Community Day México. Todos los derechos reservados. 3. 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 18

Slide 18 text

© 2023, AWS Community Day México. Todos los derechos reservados. 3. AWS Lambda Provisioned Concurrency

Slide 19

Slide 19 text

© 2023, AWS Community Day México. Todos los derechos reservados. © 2023, AWS Community Day México. Todos los derechos reservados. AWS Lambda Power Tuning

Slide 20

Slide 20 text

© 2023, AWS Community Day México. Todos los derechos reservados. 4. 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 21

Slide 21 text

© 2023, AWS Community Day México. Todos los derechos reservados. 4. AWS Lambda Power Tuning https://github.com/alexcasalboni/aws-lambda-power-tuning

Slide 22

Slide 22 text

© 2023, AWS Community Day México. Todos los derechos reservados. 4. AWS Lambda Power Tuning (Input) { "lambdaARN": "your-lambda-function-arn", "powerValues": [128, 256, 512, 1024], "num": 50, "payload": {} }

Slide 23

Slide 23 text

© 2023, AWS Community Day México. Todos los derechos reservados. 4. 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 24

Slide 24 text

© 2023, AWS Community Day México. Todos los derechos reservados. 4. AWS Lambda Power Tuning (Gráfico)

Slide 25

Slide 25 text

© 2023, AWS Community Day México. Todos los derechos reservados. © 2023, AWS Community Day México. Todos los derechos reservados. Demo AWS Lambda Power Tuning

Slide 26

Slide 26 text

“The world is asynchronous” Dr. Werner Vogels VP & CTO of Amazon.com

Slide 27

Slide 27 text

¡Gracias! Por favor, complete la encuesta de la sesión. Lino Espinoza @devcatwannabe