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}"}
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"}
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!
Top comments (0)