DEV Community

olcortesb for AWS Español

Posted on • Originally published at olcortesb.hashnode.dev on

2 1 1

Lambda Power Tuning + Terraform

Sí, si podemos desplegar Lambda Power Turing con Terraform. En el artículo anterior comentaba que Lambda Power Tuning me parece una de las mejores herramientas que acompañan al ecosistema de AWS lambda, pero que la usamos poco, al menos hasta donde conozco, indagando e investigando vi que la comunidad tiene una implementación desplegando con Terraform en el repositorio oficial así que, vamos a probarla.

¿Que es lambda Power Tuning?

Si eres nuevo por aquí, te dejo algunas referencias donde explican y profundizan sobre Lambda Power Tuning, pero fundamentalmente es una herramienta que permite encontrar el punto más eficiente en tiempo de ejecución (y) /memoria (x) /costo (x) para una lambda barriendo los valores de memoria utilizando step functions de manera automática.

¿Como se despliega Lambda Power Tuning?.

En el repositorio oficial Link, el método de despliegue es utilizando AWS sam; sin embargo, dentro del propio repositorio tenemos una carpeta Link donde está terraformado la infraestructura.

Vamos a probarlo

Desplegando Lambda Power Tuning con Terraform:

Seguimos los pasos de la documentación, pero primero configuramos las variables de entorno y utilizando tfswitch identificamos la versión que está por defecto o configuramos la versión que queremos, en la documentación se especifica que las versiones de Terraform para las que sé probo son: 0.13.3, 1.0.11 , 1.7.3

  • Configuramos las variables de entorno
variable "aws_region" { default = "eu-central-1"}variable "account_id" { default = "{YOUR-ACCOUNT-ID}"}
Enter fullscreen mode Exit fullscreen mode
  • tfswitch (seleccionar versión de terraform)

  • terraform init

  • terraform plan

  • terraform apply

Verificamos el despliegue

En nuestra cuenta de AWS verificamos que se desplegó correctamente la Step Function que orquesta el barrido de nuestras lambdas.

En la imagen anterior vemos las dos step function que tengo hasta el momento, las dos corresponden al Steps functions de Lambda Power Tuning :

  • una desplegada con AWS Sam

  • otra desplegada para este post en Terraform

Probando nuestra Lambda Power Tuning

Para probar, agregaremos una nueva ejecución con el ARN de nuestra lambda y los valores de memoria que deseamos probar y ejecutamos.

{ "lambdaARN": "arn:aws:lambda:eu-central-1:{YOUR-ACCOUN-ID}:function:hello-world-node22-x86", "powerValues": [128, 256, 512, 1024, 2048, 3008, 4096, 5120, 6144, 7168, 8192, 9216, 10240], "num": 10, "parallelInvocation": true, "strategy": "cost"}
Enter fullscreen mode Exit fullscreen mode

La ejecución termina correctamente

Vamos a Output y revisamos el resultado

Conclusiones

El objetivo del presente artículo era validar que el no estar en Terraform no sea una limitación para utilizar esta herramienta que puede resultar muy útil para el ajuste fino de nuestras arquitecturas basadas en AWS Lambda.

¡Gracias por leer, saludos!

Referencias

Image of Timescale

Timescale – the developer's data platform for modern apps, built on PostgreSQL

Timescale Cloud is PostgreSQL optimized for speed, scale, and performance. Over 3 million IoT, AI, crypto, and dev tool apps are powered by Timescale. Try it free today! No credit card required.

Try free

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Dive into an ocean of knowledge with this thought-provoking post, revered deeply within the supportive DEV Community. Developers of all levels are welcome to join and enhance our collective intelligence.

Saying a simple "thank you" can brighten someone's day. Share your gratitude in the comments below!

On DEV, sharing ideas eases our path and fortifies our community connections. Found this helpful? Sending a quick thanks to the author can be profoundly valued.

Okay