Lambda Power Tuning + Terraform
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://tfswitch.warrensbox.com/
Artículo original: Lambda Power Tuning + Terraform