AWS Lambda ahora es compatible con Node.js 16 Runtime

Recientemente, AWS anunció que la versión 16 de Node.js admite su función como servicio (FaaS) AWS Lambda y se encuentra en estado LTS activo (listo para uso general).

Los desarrolladores ahora pueden crear funciones de AWS Lambda utilizando las nuevas características de Node.js , como la cadena de herramientas y las actualizaciones del compilador (incluidos los archivos binarios preconstruidos para Apple Silicon), los temporizadores estables prometen la API y los índices de coincidencia RegExp , y llamadas más rápidas con discrepancias en el tamaño de los argumentos .

AWS Lambda es compatible con la versión actual de soporte a largo plazo (LTS) de Node.js , lo que significa que los desarrolladores que deseen utilizar las nuevas versiones deben especificar un valor de parámetro de tiempo de ejecución de nodejs16.x al crear o actualizar funciones o al usar el tiempo de ejecución administrado adecuado. imagen básica . Además, el tiempo de ejecución de Node.js 16 es compatible con funciones que se ejecutan en procesadores AWS Graviton2 basados ​​en Arm o procesadores basados ​​en x86.

La versión Node.js 16 incluye soporte para módulos ES y espera de nivel superior agregada al tiempo de ejecución de Node.js 14 en enero de 2022, que es útil cuando se usa con simultaneidad aprovisionada para reducir los tiempos de inicio en frío. 

Los tiempos de ejecución administrados de Node.js 16 y las imágenes base del contenedor incluyen la versión 2 del SDK de JavaScript de AWS . Dan Fox , arquitecto principal especialista en soluciones, Serverless en AWS, explica el beneficio del SDK en una publicación reciente del blog de Computación de AWS :

Usar el SDK incluido es conveniente para algunos casos de uso. Por ejemplo, los desarrolladores que escriben funciones cortas a través de la consola Lambda o funciones en línea a través de plantillas de CloudFormation pueden encontrar útil hacer referencia al SDK incluido.

Anteriormente, el tiempo de ejecución de Node.js disponible en AWS Lambda era 14 y ha estado en LTS de mantenimiento desde octubre de 2021. Llegará al final de su vida útil en once meses.


Fuente: https://nodejs.org/en/about/releases/

Kenneth Falck , arquitecto principal de la nube, tuiteó :

Es bueno ver que Lambda finalmente es compatible con Node 16. Sin embargo, no estoy muy feliz de saber que mis funciones 14.x eventualmente quedarán obsoletas. Desearía que hubiera una plataforma perenne que simplemente se actualizara automáticamente detrás de escena como lo hacen los navegadores web. ¿Ensamblaje web para Lambda?

Además, la empresa reconoce el lanzamiento tardío del tiempo de ejecución Node.js 16 para Lambda, y un encuestado en un hilo de Reddit declaró:

Solo palabras por ahora, claro. Pero no leo autocríticas en los anuncios de AWS con frecuencia (en realidad no puedo recordar ninguno) y, por lo tanto, me inclino a creer que mejorarán en ese sentido.

Y otros en el hilo esperan un lanzamiento pronto de Python 3.10 y Ruby 3.x.

Por último, el modelo de programación de Node.js en la documentación de AWS Lambda proporciona más detalles sobre cómo escribir funciones en Node.js 16. Además, los desarrolladores pueden migrar sus funciones de Node.js existentes al nuevo tiempo de ejecución cambiando su configuración de tiempo de ejecución a nodejs16.x después revisando el código por problemas de compatibilidad .