DEV Community

olcortesb for AWS Español

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

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

Top comments (0)