Skip to content

AWS Lambda Web Functions vs Lambda Web Adapter: cost

Researched 2026-10-13. Sources: announcement, pricing, FAQ.

A new Lambda type that runs a normal HTTP server (Express, Hono, Fastify, Next.js) unchanged. The app listens on a port, and Lambda handles scaling, the HTTPS endpoint and multi-region routing.

  • Up to 128 concurrent requests per instance. Classic Lambda handles 1.
  • Billed for active CPU time + memory for the instance’s lifetime, not wall-clock time. Waiting on I/O costs no CPU.
  • --regions flag replicates to several regions behind one global URL with latency-based routing. These are regions, not edge locations.
  • Immutable revisions with weighted endpoints for canary deploys.
  • Scales to zero when idle (FAQ). Memory is billed “including time between requests” while an instance is alive. How long an idle instance stays alive isn’t documented.
  • At launch: Node.js 24 on Arm only. Regions: us-east-1, us-east-2, us-west-2, Tokyo, Ireland.

LWA is an open-source extension that runs the same web server on classic Lambda, with classic billing.

LWA on classic Lambda Web Functions
Requests per instance 1 up to 128
Billed on wall-clock time × memory active CPU + memory while the instance exists
Free tier 1M requests + 400k GB-seconds/month none found
HTTPS endpoint Function URL (free) or API Gateway (+$1/M) included
Multi-region build it yourself built in
Runtimes any Node 24 on Arm only
Web Functions Classic Lambda
Compute $0.0000276944 per vCPU-second of active CPU $0.0000133334 per GB-second
Memory $0.0000036667 per GB-second included
Requests $0.30 per million $0.20 per million

Free tier: I didn’t find one for Web Functions on the pricing page, the FAQ or in a web search. The classic free tier is only listed under Event Functions. The pricing examples say they “exclude the free tier”, but the page never says what that free tier is. Confirm with AWS support or check the bill after a test month.

Assumptions: 512MB, 200ms per request, 20ms of it real CPU.

Requests/mo Avg concurrency LWA (list price) LWA (with free tier) Web Fn (scales to zero) Web Fn (1 instance always on)
1M 0.08 $1.53 $0.00 $1.22 $5.61
2M 0.15 $3.07 $0.20 $2.44 $6.46
3M 0.23 $4.60 $0.40 $3.66 $7.31
4M 0.31 $6.13 $0.60 $4.88 $8.17
5M 0.39 $7.67 $2.13 $6.10 $9.02
6M 0.46 $9.20 $3.67 $7.32 $9.88
7M 0.54 $10.73 $5.20 $8.54 $10.73
8M 0.62 $12.27 $6.73 $9.76 $11.58
9M 0.69 $13.80 $8.27 $10.99 $12.44
10M 0.77 $15.33 $9.80 $12.21 $13.29

Real Web Functions cost falls between its two columns, closer to “scales to zero”. That column is a worst case: memory billed for every request’s full 200ms with no sharing.

  • Up to 10M requests/month, LWA with the free tier is cheapest.
  • Without the free tier, Web Functions is about 20% cheaper ($1.22 vs $1.53 per million requests).
  • At high concurrency (around 50M+ requests/month or bursty traffic), Web Functions gets close to 45% cheaper. Memory is shared across up to 128 requests, which leaves about $0.85/M in CPU and request charges, vs $1.53/M on LWA.
  • I/O-heavy apps save more. CPU-heavy apps are cheaper on LWA, because the CPU rate is about 2× the GB-second rate.
  • At small scale the reasons to pick Web Functions are fewer cold starts, a built-in multi-region URL and canary deploys. Not cost.
  • If AWS turns out to apply the classic free tier to Web Functions, it would probably be cheapest across the whole range.