Lambda Power Tuning + Terraform

3 min de lectura Ver original en Hashnode
Compartir:

Si Podemos desplegar Lambda Power Turing con Terraform. En el artculo anterior comentaba que Lambda Power Tuning me parece una de las mejores herramientas que acompaan al ecosistema de AWS lambda, pero que la usamos poco, al menos hasta donde conozco, indagando e investigando vi que la comunidad tiene una implementacin 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 ms eficiente en tiempo de ejecucin (y) /memoria (x) /costo (x) para una lambda barriendo los valores de memoria utilizando step functions de manera automtica.

Github AWS Lambda Power Tuning + terraform

Github AWS Lambda Power Tuning

Demostracin de Lambda Power Tuning

Cmo se despliega Lambda Power Tuning?.

En el repositorio oficial Link, el mtodo 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 documentacin, pero primero configuramos las variables de entorno y utilizando tfswitch identificamos la versin que est por defecto o configuramos la versin que queremos, en la documentacin 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}"}

tfswitch

Seleccionamos la versin que necesitamos

terraform init

No tienen un back-end por lo que no guardamos el tfstate, en un Bucket s3

terraform plan

  • terraform apply

Verificamos el despliegue

En nuestra cuenta de AWS verificamos que s 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

powerTuningStateMachine-af7807b0-c433-11ef-9b68-06def10dc923

otra desplegada para este post en Terraform

lambda_power_tuning20250115074731143500000001

Probando nuestra Lambda Power Tuning

Para probar, agregaremos una nueva ejecucin 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"}

La ejecucin termina correctamente

Vamos a Output y revisamos el resultado

Conclusiones

El objetivo del presente artculo era validar que el no estar en Terraform no sea una limitacin 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

https://github.com/alexcasalboni/aws-lambda-power-tuning/tree/master/terraform

https://github.com/alexcasalboni/aws-lambda-power-tuning/tree/master

https://www.terraform.io/

https://tfswitch.warrensbox.com/


Artículo original: Lambda Power Tuning + Terraform