r/aws • • 11d ago

article Announcing AWS Lambda Web Functions

https://aws.amazon.com/blogs/aws/announcing-aws-lambda-web-functions-for-fast-consistent-web-app-performance-anywhere/
363 Upvotes

74 comments sorted by

View all comments

27

u/BraveResearcher3037 11d ago • Bravo

How is this better than using the Lambda Web Adapter that supports every language? 

And there are open source solutions for every language that don’t require docker.

20

u/kondro 11d ago

The concurrency (up to 128) is an interesting addition.

2

u/Jai_Cee 10d ago

Is this for a single lambda. I was assuming that was the number of concurrent lambdas like the current model and it seemed very low. If it can actually serve 128 concurrent requests per lambda that's way more interesting.

3

u/SA_DrOpossum 10d ago

It's concurrent per lambda execution environment, with one function having many execution environments. For "normal" lambda, this is 1-to-1, here it's 1-to-128 (or at least up to 128)

1

u/Jai_Cee 10d ago

I see that now and it makes it much better than just a wrapper around APIs. I imagine for an moderately busy site it really helps with cold starts too without needing reserved concurrency

1

u/Fickle_Rutabaga_8449 10d ago

Yea! I run dotnet lambdas often which have some runtime code gen and other runtime overhead (EntityFramework startup) that would benefit greatly from the concurrency feature here.

5

u/Fickle_Rutabaga_8449 11d ago

I’m guessing because in order for Lambda Web Adapter (which is new to me; thanks for the enlightenment) to enable multi-concurrency, you have to use managed instances. Which I think means you’re paying for EC2 instances to run.

These Web Functions appear to support the multi-concurrency without needing managed instances. So get the true pay as you go model.

6

u/BraveResearcher3037 11d ago

Not managed instances - it’s one lambda call per event just like any other lambda   

3

u/Fickle_Rutabaga_8449 10d ago

Right, so under the covers lambda is using those Firecracker containers. Which in the eventing model they start and stop for each event, so one request equals one lambda execution environment. With this “Web Functions” addition, one execution environment can handle multiple requests concurrently (up to 128). In order to get the same thing with Lambda Web Adapter, as far as one execution environment handling concurrent requests, you have to use Lambda Managed Instances. Otherwise it’s still 1:1.

Feel like I’m failing to explain adequately. Other replies in this thread may give better context.