Cada AWS Lambda viene por defecto con 512 MB de espacio temporal de almacenamiento por defecto (hasta hoy), lo cual a nivel de implementación y de uso de recursos compartidos en ejecución se hiciera bastante limitado para los desarrolladores.
Hoy en día se puede tener hasta 10 GB de espacio temporal por ejecución. Recordar que este espacio es efímero, quiere decir que cada vez que se invoca una función se crea y luego al terminar se destruye, AWS tiene formas para optimizar este proceso trás cortinas, pero no podemos inferir en eso.
Este espacio lo tenemos disponible bajo el directorio /tmp
dentro de nuestro código. La ventaja de este incremento es que podemos utilizarlo como si fuera realmente el mismo espacio de nuestra función sin necesidad de por ejemplo aprovisionar un almacenamiento dedicado como EFS.
El caso de uso más común para el directorio /tmp
es utilizarlo como caché de forma transitoria. Por ejemplo al clonar un repositorio de GIT, o al descomprimir un ZIP nos podemos ver beneficiados de ese espacio para poder tener un mayor lugar donde alojar nuestros archivos, ya que por defecto estaba topeado a 512 MB de espacio libre. Esta nueva funcionalidad es sin duda un gran avance en el ecosistema serverless.
¿Cómo aumentar este espacio?
Solamente debemos ir a la parte de Configuración de nuestra lambda, luego Configuración General y buscar el apartado de Ephemeral storage, allí modificamos el espacio según nuestras necesidades en incrementos de 1 MB hasta 10.240mb.
Ajustar según la necesidad
¿Si tengo una Lambda ya creada puedo cambiar el tamaño igual?
Claro que sí, puedes modificar tu archivo de Terraform, Serverless o CDK que utilices para crear tu infraestructura.
Precio:
Como todo en el ecosistema serverless tiene un precio, mayor espacio mayor precio que debemos abonar, el incremento se vendrá dando de 512MB (al momento de escribir este post)
¿Puedo subir código de mayor peso que 250MB?
Lamentablemente esta feature solamente abarca el tema de espacio al momento de ejecución no al momento de aprovisionamiento de código. Así que la respuesta es no, todo sigue funcionando como antes.
Conclusiones:
Recuerda que AWS Lambda tiene distintas formas de agregar espacio efímero / persistente según sea tu caso de uso, para ello te recomendamos que investigues el uso de EFS, Lambda Layers hasta el uso de containers, cada uno tiene sus ventajas es cuestión de saber cuál se adapta a tu necesidad.
La noticia completa esta disponible acá: AWS Blog
Soy Héctor Fernández, Community Builder basado en Uruguay. Conoce un poco más de mí en https://hector.builders
Top comments (0)