Serverless functions, priced by fifteen million invocations a month

The function platforms bill three different meters: requests, gigabyte-seconds and CPU milliseconds. Fifteen million invocations priced on each, from the vendors' own pages.

The bench3 min readRankings

Ranked bar chart of the monthly cost of fifteen million function invocations, Lambda at 100 milliseconds cheapest, Workers in the middle, Lambda at a full second most expensive

Serverless pricing looks identical from a distance: fractions of a cent, pay for what you use. Up close the vendors are not even billing the same physics. AWS bills wall-clock time and memory. Cloudflare bills CPU time and ignores how long the request hangs. Azure prints a free grant and hides the rate in a calculator.

The verdict: at fifteen million invocations a month of a modest function, Lambda is cheapest at $6.13 if your function runs 100 milliseconds, Workers is $8.00 on Cloudflare's own worked example, and Lambda becomes the most expensive thing on the page, $34.25, if that same function dawdles for a full second. The meter you are billed on matters more than the vendor.

Ranked bar chart of the monthly cost of fifteen million function invocations, Lambda at 100 milliseconds cheapest, Workers in the middle, Lambda at a full second most expensive

the criteria

Fifteen million invocations a month, 128 MB of memory, prices from each vendor's public page in September 2026, before free tiers. We state the free tiers separately because they are real but they expire from the conversation the moment the workload grows.

the table

  1. AWS Lambda, $6.13 at 100 ms. Two meters: $0.20 per million requests ($3.00) and $0.0000166667 per GB-second. Fifteen million invocations at 100 ms and 128 MB is 187,500 GB-s, $3.13. The always-free tier of one million requests and 400,000 GB-s per month knocks that to about $2.71, and covers a one-million-invocation workload entirely.
  2. Cloudflare Workers, $8.00. The $5 Standard plan includes ten million requests and 30 million CPU-milliseconds; beyond that, $0.30 per million requests and $0.02 per million CPU-ms. The $8.00 is Cloudflare's own example: fifteen million requests at 7 ms of CPU each. Note the meter: CPU time, not duration. A Worker that waits 800 ms on an origin pays nothing for the wait.
  3. Lambda again, $34.25, same function at a full second. 1,875,000 GB-s at the same rate. Duration is the whole bill on a wall-clock meter, which makes the slow upstream API your compute problem.

Azure Functions sits unranked. Its pricing page prints the free grant plainly, one million requests and 400,000 GB-s a month on the Consumption plan, but every rate cell on the page renders as a dash until a calculator runs; we rank what we can read. Google has folded Cloud Functions pricing into Cloud Run's tables, which price vCPU-seconds rather than invocation bundles; a fair comparison needs its own article.

what the table leaves out

Three lines that arrive with the function bill and are not on it. Egress, billed separately by every vendor here. Logging: on Lambda, every invocation writes to CloudWatch Logs by default, and the ingest meter for those lines can outrun the compute meter on chatty functions. And the plan floor: Workers' $5 minimum means a workload of ten thousand requests a month costs $5.00 on the paid plan and $0.00 on Lambda, which reverses this ranking entirely at the small end. Free tiers giveth at the bottom; minimums taketh.

what decides it

Profile the function before picking the platform. If it computes for most of its wall-clock life, Lambda's meter and Workers' meter read about the same and the request fee decides; Lambda's is cheaper past the plan minimum. If it waits, on databases, on origins, on third-party APIs, the CPU meter is the honest one and Workers stops charging during the part your function spends on hold. And if the workload fits inside a million invocations, Lambda's free tier makes the whole argument academic, which is how they like it.

Either way, read the meter's unit before the rate. The middle-tier rule applies to plans; it does not apply to physics, and duration versus CPU is physics.