Urgent.News

What's breaking now, across thousands of outlets.

Tech

Una novedad en Serverless bajo la lupa: AWS Lambda Web Functions

Introducción AWS anunció Lambda Web Functions, una forma de ejecutar aplicaciones web y APIs sobre Lambda ejecutando directamente un servidor HTTP de Node.js, sin adaptadores ni handlers por evento. Aquí te describo mi propio análisis. Este artículo no pretende ser una guía de cómo usar Lambda Web Functions. Hago un recorrido corto por las características que importan, referencio blogs de colegas…

AWS ha anunciado una nueva característica para Lambda denominada Web Functions, que permite ejecutar aplicaciones web y APIs directamente sobre Lambda utilizando un servidor HTTP de Node.js sin necesidad de adaptadores ni handlers por eventos. En la siguiente sección se presenta un análisis de las características más relevantes de esta nueva funcionalidad, junto con ejemplos y recomendaciones sobre cuándo y cuándo no utilizarla.

Una Lambda Web Function es un computación serverless que corre un servidor HTTP normal. Tu aplicación escucha en el host y puerto suministrados por AWS a través de la variable AWS_LAMBDA_HTTP_ENDPOINT. No es un reemplazo universal de la Lambda normal que devuelve un handler, ya que sigue siendo la opción natural para escenarios dirigidos por eventos, como procesar mensajes de SQS o reaccionar a eventos de S3. Además, solo soporta el runtime de Node.js.

Una de las principales diferencias con las versiones anteriores de Lambda es el modelo de programación. En lugar de escribir un handler que recibe un evento, ahora escribes un servidor HTTP común que escucha en un puerto. En cuanto a la concurrencia, en una Event Function cada ambiente atiende una petición a la vez, mientras que en una Web Function un mismo entorno atiende múltiples peticiones simultáneamente, lo que permite compartir un proceso entre muchas peticiones en lugar de ocupar un entorno para cada una.

Esto puede ser ventajoso para aplicaciones que esperan casi todo el tiempo, como bases de datos o APIs.

Para la gestión de recursos, hay parámetros importantes como maxConcurrencyPerEnvironment, que limita el número de concurrencias por entorno; maxEnvironments, que restringe el número de entornos por región; y rateLimit, que establece la cantidad máxima de peticiones por segundo que el endpoint acepta. Al exceder el limites de rateLimit, se reciben respuestas con código de estado 429.

Los parámetros maxConcurrencyPerEnvironment y rateLimit se pueden cambiar en caliente sin necesidad de rediseñar la Lambda, aunque maxConcurrencyPerEnvironment requiere una nueva revisión.

En cuanto a la entrada y salida, una Web Function recibe y devuelve HTTP/1.1 crudo, mientras que una Event Function recibe y devuelve un JSON ya parseado. La funcionalidad de seguridad también es diferente, ya que todo el endpoint es público y se debe manejar la autenticación dentro del código o en un front door.

La facturación se basa en CPU activa y memoria mientras el entorno exista, sin cobrar por tiempo de reloj. Las peticiones que esperan a bases de datos o APIs externas consumen poca CPU, y la espera casi no se cobra. Un proceso de larga vida es posible gracias al estado global, conexiones reutilizadas y tareas en segundo plano.

En resumen, una Lambda Web Function es una opción útil cuando se necesita ejecutar aplicaciones web o APIs utilizando la tecnología serverless, pero no es adecuada para escenarios simples, dirigidos por eventos o trabajos largos.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

Van-to-Quote

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle * What I Built Van-to-Quote is a local app that turns a tradesperson's spoken job notes into a priced PDF quote.

More from Friday 16 October →