Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Tips de optimización y rendimiento de AWS Lambda - Versión Extendida

Tips de optimización y rendimiento de AWS Lambda - Versión Extendida

Lino Espinoza

November 13, 2023
Tweet

More Decks by Lino Espinoza

Other Decks in Technology

Transcript

  1. M O N T E R R E Y |

    1 1 D E N O V I E M B R E
  2. Tips de optimización y rendimiento de AWS Lambda Technical Lead

    Kushki Lino Espinoza (he/him) O E N - 2 0 4
  3. © 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
  4. © 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 *
  5. © 2023, AWS Community Day México. Todos los derechos reservados.

    © 2023, AWS Community Day México. Todos los derechos reservados. AWS Lambda 101
  6. © 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
  7. © 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
  8. © 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)
  9. © 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
  10. © 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
  11. © 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
  12. © 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
  13. © 2023, AWS Community Day México. Todos los derechos reservados.

    © 2023, AWS Community Day México. Todos los derechos reservados. Mejores prácticas & consejos
  14. © 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
  15. © 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/
  16. © 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.
  17. © 2023, AWS Community Day México. Todos los derechos reservados.

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

    4. AWS Lambda Power Tuning https://github.com/alexcasalboni/aws-lambda-power-tuning
  20. © 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": {} }
  21. © 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/#<encoded_data>" } } }
  22. © 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