|
Las aplicaciones sin servidor están impulsadas por eventos y utilizan funciones informáticas efímeras que van desde API web, backends móviles y análisis de transmisión hasta etapas de procesamiento de datos en aprendizaje automático (ML) y aplicaciones de alto rendimiento. Si bien AWS Lambda incluye un sistema de archivos temporales de 512 MB (/tmp
) para su código, este es un recurso temporal efímero que no está diseñado para un almacenamiento duradero como Amazon Elastic File System (Amazon EFS).
Sin embargo, los trabajos de extracción, transformación y carga (ETL) y los flujos de trabajo de generación de contenido, como la creación de archivos PDF o la transcodificación de medios, requieren un almacenamiento local rápido y escalable para procesar grandes cantidades de datos rápidamente. Las aplicaciones con uso intensivo de datos requieren grandes cantidades de datos temporales específicos de la invocación o datos almacenados en caché que se pueden reutilizar para todas las invocaciones en el mismo entorno de ejecución con un alto rendimiento. Con el límite anterior de 512 MB, los clientes tenían que cargar datos de manera selectiva desde Amazon Simple Storage Service (Amazon S3) y Amazon EFS, o aumentar la memoria de funciones asignada y, por lo tanto, aumentar su costo, solo para manejar objetos grandes descargados de Amazon S3. Dado que los clientes no podían almacenar en caché datos más grandes localmente en el entorno de ejecución de Lambda, cada función invocada tenía que leer datos en paralelo, lo que dificultaba el escalado horizontal para los clientes.
Hoy, anunciamos que AWS Lambda ahora le permite configurar el almacenamiento efímero (/tmp
) entre 512 MB y 10.240 MB. Ahora puede controlar la cantidad de almacenamiento efímero que obtiene una función para leer o escribir datos, lo que le permite usar AWS Lambda para trabajos de ETL, inferencia de ML u otras cargas de trabajo de uso intensivo de datos.
Con un mayor almacenamiento efímero de AWS Lambda, obtiene acceso a un sistema de archivos efímero seguro y de baja latencia de hasta 10 GB. Puede continuar usando hasta 512 MB de forma gratuita y se le cobrará por la cantidad de almacenamiento que configure por encima del límite gratuito durante la duración de las invocaciones.
Configuración de almacenamiento efímero más grande para su función Lambda
Para configurar su función Lambda con un almacenamiento efímero más grande, elija el Configuración pestaña debajo de Configuración general sección en la consola de AWS Lambda. Verá una nueva configuración para la configuración de almacenamiento efímero en 512 MB de forma predeterminada.
Cuando haces clic en el Editar botón, puede configurar el almacenamiento efímero de 512 MB a 10,240 MB en incrementos de 1 MB para sus funciones Lambda.
Con la interfaz de línea de comandos de AWS (AWS CLI), puede actualizar el tamaño deseado de almacenamiento efímero utilizando elupdate-function-configuration
mando.
$ aws lambda update-function-configuration --function-name PDFGenerator \
--ephemeral-storage '{"Size": 10240}'
Puede configurar el almacenamiento efímero mediante la API de Lambda a través de AWS SDK, AWS Cloud Development Kit (AWS CDK), AWS Serverless Application Model (AWS SAM) y AWS CloudFormation. Para obtener más información, consulte Configuración de opciones de funciones en la documentación de AWS.
Como revisión, AWS Lambda ofrece una amplia gama de opciones de almacenamiento. Para obtener más información, consulte una excelente publicación de blog, Elegir entre las opciones de almacenamiento de datos de AWS Lambda en aplicaciones web, escrita por mi colega James Beswick. Quiero citar la tabla para mostrar las diferencias entre estas opciones y los casos de uso comunes para ayudarlo a elegir la adecuada para sus propias aplicaciones.
Características | Almacenamiento efímero (/tmp) | Capas Lambda | Amazon EFS | Amazonas S3 |
Talla máxima | 10,240 MB | 50 MB (carga directa) | Elástico | Elástico |
Persistencia | Efímero | Durable | Durable | Durable |
Contenido | Dinámica | Estático | Dinámica | Dinámica |
Tipo de almacenamiento | sistema de archivos | Archivo | sistema de archivos | Objeto |
Integración de fuentes de eventos Lambda | N / A | N / A | N / A | Nativo |
Operaciones admitidas | Cualquier operación del sistema de archivos | Inmutable | Cualquier operación del sistema de archivos | Atomic con control de versiones |
Etiquetado de objetos y metadatos |
norte | norte | norte | Y |
Modelo de precios | Incluido en Lambda (Cargado más de 512 MB) |
Incluido en Lambda | Almacenamiento + transferencia de datos + rendimiento | Almacenamiento + solicitudes + transferencia de datos |
Compartido en todas las invocaciones | norte | Y | Y | Y |
Modelo de compartir/permisos | Solo función | SOY | IAM + NFS | SOY |
Fuente de AWS Glue y Amazon Quicksight |
norte | norte | norte | Y |
Velocidad relativa de acceso a datos de Lambda | Lo más rápido | Lo más rápido | Muy rapido | Rápido |
Disponible ahora
Ahora puede configurar hasta 10 GB de almacenamiento efímero por instancia de función de Lambda en todas las regiones donde está disponible AWS Lambda. Con soporte de imagen de contenedor de 10 GB, memoria de función de 10 GB y ahora 10 GB de almacenamiento de función efímera, puede admitir cargas de trabajo como el uso de archivos temporales grandes, procesamiento de datos y medios, inferencia de aprendizaje automático y análisis financiero.
El soporte también está disponible a través de muchos socios de AWS Lambda, como HashiCorp (Terraform), Pulumi, Datadog, Splunk (SignalFx), Lumigo, Thundra, Dynatrace, Slalom, Cloudwiry y Contino.
Para esta función, se le cobra por el almacenamiento que configure sobre el límite gratuito de 512 MB durante la duración de las invocaciones de su función. Para obtener más información, visite la página de productos y precios de AWS Lambda y envíe sus comentarios a través de AWS re:Publicar para AWS Lambda o sus contactos habituales de AWS Support.
– channy