Skip to content

NerdlystTech · Markets · Code

AWS Lambda Web Functions: Express Apps Run With No Adapter

Server racks glowing blue in a data center, illustrating AWS Lambda Web Functions
Photo by Tyler on Unsplash

AWS Lambda Web Functions let you deploy an ordinary Express, Hono, Fastify or Next.js server to Lambda. You don’t have to rewrite it as an event handler or put an adapter in front of it. AWS announced the feature on 12 October 2026, and it led the company’s weekly roundup on 19 October, next to the news that Amazon S3 can now be set up from inside Vercel’s dashboard.

Key takeaways

  • Web Functions run a standard HTTP server on Lambda and deploy with one command: aws lambda-web deploy.
  • One execution environment can serve up to 128 requests at once (the default is 64). A classic Lambda serves one at a time.
  • Compute is billed on CPU time, not wall-clock time, so time spent waiting on a database costs little CPU.
  • At launch it supports only Node.js 24 on Arm64, in five AWS Regions.
  • Vercel users can now create S3 buckets, S3 Tables and S3 Vectors without storing any AWS keys.

What are AWS Lambda Web Functions?

Classic Lambda works like a vending machine: one coin in, one snack out. Each event wakes a handler, the handler returns, and the environment freezes until the next call. That suits queue messages and file uploads. It is awkward for web apps that expect to sit on a port and answer whatever arrives.

Until now, the usual workaround was the open-source Lambda Web Adapter, a small layer that turns Lambda events into HTTP requests. Web Functions remove that step. Your server reads the AWS_LAMBDA_HTTP_ENDPOINT environment variable to get its host and port, listens as it would on any machine, and Lambda sends it real HTTP traffic.

In the launch post, AWS’s Micah Walter says a first deploy finishes “in under a minute” and returns a live HTTPS URL. According to the AWS Compute Blog’s deep dive, Next.js in standalone mode only needs a small index.js that sets its host and port.

Developer writing Node.js code for AWS Lambda Web Functions on a laptop
Photo by Mohammad Rahmani on Unsplash

How is a Web Function different from a normal Lambda?

Lambda now comes in three forms, all built on Firecracker, AWS’s lightweight virtual machine technology: Event Functions, Web Functions, and MicroVMs for stateful sandboxes. This table compares the first two.

AspectEvent FunctionWeb Function
Programming modelHandler called once per eventLong-running HTTP server on a port
Requests per environmentOne at a timeUp to 128 at once (default 64)
Compute billingWall-clock durationCPU time actually used
Background workStops when the environment freezesCan run outside the request path
StreamingEach open stream holds a whole environmentMany streams share one environment
Best forQueues, S3 events, async jobsServer-rendered apps, REST and GraphQL APIs, streaming

Each environment gets 2 vCPUs and 2 GB of memory. You can cap the number of environments per revision with maxEnvironments and the requests per second with rateLimit. Requests over a limit get an HTTP 429 error straight away. They are not queued.

Why does CPU-time billing matter for your bill?

Most web requests spend much of their time waiting on a database, a payment API or a language model. With wall-clock billing, you pay for every second of that wait.

Web Functions bill requests, memory and active CPU time separately. Picture a taxi meter that only runs while the wheels turn, plus a fixed fee for keeping the car on the road. That fee is memory, which is metered for as long as the environment exists.

Concurrency may save you even more. In AWS’s own test, 300 streams (up to 200 open at once) ran on just 5 environments. AWS has not given per-unit prices in the launch posts and refers readers to the Lambda pricing page, so check that page before you move a busy API.

Can you deploy globally with one command?

Yes. Add --regions us-east-1,eu-west-1,ap-northeast-1 to the deploy command, and Lambda copies your code to each Region and puts them all behind one global URL. Amazon Route 53 sends each visitor to the Region with the lowest latency. You can also split traffic between revisions by weight, for example 90% on the current version and 10% on a canary (a small test release).

At launch the five Regions are US East (N. Virginia), US East (Ohio), US West (Oregon), Europe (Ireland) and Asia Pacific (Tokyo). Amazon CloudFront can sit in front of a Web Function, with origin access control so that only your CloudFront distribution can call the endpoint.

What did Amazon S3 on the Vercel Marketplace change?

On 14 October 2026, AWS and Vercel added S3 as a native integration on the Vercel Marketplace and in v0, Vercel’s tool that builds apps from a text prompt. From the Storage tab you can create general purpose buckets, S3 Tables (managed Apache Iceberg tables for analytics) and S3 Vectors (storage and search for AI embeddings).

The security model is the most important part. At runtime, Vercel issues a short-lived OIDC token, and AWS STS exchanges it for temporary credentials that only work on that one resource. No long-lived access keys are stored in your environment variables, and leaked long-lived keys are one of the most common ways cloud accounts get hijacked.

New AWS accounts created through Vercel get $100 in credits, valid for six months. One catch: if you link an existing AWS account, it only works with new buckets created through Vercel. S3 joins Aurora, DynamoDB and OpenSearch Serverless, which were already on the marketplace. If you build on Vercel, our piece on Vercel AI Gateway session affinity covers another recent way to cut costs.

What else shipped in AWS’s 19 October roundup?

  • EC2 T8i in São Paulo: up to 30% better price performance than T3. The t8i.micro and t8i.small sizes are in the Free Tier.
  • Reflection Beam on SageMaker JumpStart: an open-weight agentic coding model from Reflection AI with 501B total and 23B active parameters, released under Apache 2.0.
  • Lambda Durable Execution SDK for Go: now generally available. Workflows save checkpoints as they go and can pause for up to one year.
  • CloudWatch log routing: sends each log event to a different log group based on conditions, and chains parsers so you can parse JSON first and then run Grok on a field you pulled out.
  • AWS Security Agent: AWS says it confirmed real exploitation of 33 of 37 recently disclosed CVEs in a test.

The roundup, written by AWS’s Daniel Abib, also linked a “Trust in Depth” essay on guardrails for AI agents. It pairs well with our production-grade AI agents maturity model.

What happens next

AWS re:Invent runs in Las Vegas from 30 November to 4 December 2026, with more than 2,200 sessions. That is the obvious place to announce more runtimes, since Node.js 24 on Arm64 is the only option at launch. AWS has not said when Python, Java or other languages will be added.

My opinion: Web Functions look like AWS’s answer to developers who moved to containers, or to platforms like Vercel, because Lambda felt awkward for web servers. AWS also put S3 inside Vercel the same week. Together, the two launches suggest AWS now wants to go to the platforms where your code already lives, instead of making you come to it.

FAQ

Do I need to rewrite my Express app for AWS Lambda Web Functions?

No. A standard Node.js server that listens on a port runs unchanged. It reads AWS_LAMBDA_HTTP_ENDPOINT to get its host and port. Next.js in standalone mode needs a small index.js file.

Is Lambda Web Adapter going away?

The launch posts say nothing about retiring it. The adapter is still useful for other languages, since Web Functions only support Node.js 24 on Arm64 for now.

Does Amazon S3 on Vercel cost extra?

The integration has no separate charge, and standard S3 pricing applies. New AWS accounts created through Vercel get $100 in credits, valid for six months.

Want to try it? Run aws lambda-web deploy --name hello-world --hello-world in a supported Region and see how many environments your real traffic needs.

1 comment

Leave a Reply