FinOps & Cloud Cost · Serverless Architecture

Serverless Pricing Benchmarks: AWS Lambda vs Azure Functions vs GCP Cloud Run

SOC 2 Type II NDA Protected Real Infrastructure Data

Serverless computing promised to eliminate infrastructure management overhead and reduce costs through pure pay-per-execution pricing — but the reality for enterprise organizations is more nuanced. Our analysis of 450+ enterprise serverless deployments reveals that serverless architectures can be dramatically cheaper than equivalent containerized workloads for the right use cases, and dramatically more expensive for the wrong ones. The difference often exceeds 5x in annual cost for identically-capable applications.

This article is part of our comprehensive FinOps and cloud cost management benchmark guide. We examine serverless pricing across the three major platforms — AWS Lambda, Azure Functions, and Google Cloud Run/Cloud Functions — with real enterprise cost data, optimization benchmarks, and the framework for determining when serverless economics are compelling versus when containers or VMs deliver better value.

$0.20
AWS Lambda per 1M Requests (128MB)
18%
Avg Serverless Share of Cloud Compute
4.2x
Cost Range: Optimized vs Unoptimized Lambda
$0.00001667
AWS Lambda GB-Second Rate

Serverless Pricing Models: How Each Provider Charges

Understanding the pricing model for each serverless platform is a prerequisite for accurate benchmarking. All three major providers use execution-based pricing (pay per invocation and duration) rather than capacity-based pricing (pay for reserved compute), but the specific dimensions and rates differ in ways that create significant cost variation for identical workloads.

Provider 01

AWS Lambda

Charges on two dimensions: number of requests ($0.20 per 1M requests, with 1M free tier monthly) and duration in GB-seconds ($0.0000166667 per GB-second, with 400,000 GB-seconds free). Duration is rounded up to the nearest 1ms. Memory allocation (128MB–10GB) directly determines both performance and cost — higher memory means more GB-seconds consumed per invocation. Lambda SnapStart (Java) and Provisioned Concurrency reduce cold start latency at additional cost.

$0.20
Per 1M Requests
$0.0000167
Per GB-Second
1M req + 400K GB-s
Free Tier/Month
Provider 02

Azure Functions

The Consumption plan charges per execution ($0.20 per 1M executions) and per execution time in GB-seconds ($0.000016 per GB-second). Azure Functions also offers a Premium plan with pre-warmed instances (eliminates cold starts) and dedicated App Service Plans (fixed cost). For consistently high-traffic workloads, Premium plan pricing can be 30–50% lower than Consumption plan despite the higher baseline cost. Free tier: 1M executions and 400,000 GB-seconds per month.

$0.20
Per 1M Executions
$0.000016
Per GB-Second
Similar to AWS
Free Tier
Provider 03

Google Cloud Run / Cloud Functions

Google Cloud Run (containerized serverless) and Cloud Functions 2nd gen (based on Cloud Run) charge per request ($0.40 per 1M requests — 2x AWS/Azure) plus CPU-seconds and memory-seconds separately. This dual-dimension compute pricing differs from AWS/Azure's GB-second model, making direct comparison complex. Cloud Run's container-based model allows larger, more complex deployments than Lambda/Functions while retaining serverless scaling semantics. Free tier is more generous: 2M requests, 360K CPU-seconds, 180K GB-seconds monthly.

$0.40
Per 1M Requests
$0.00002400
Per CPU-Second
2M req free
Free Tier/Month

Head-to-Head: AWS Lambda vs Azure Functions vs GCP Cloud Run

Direct provider comparisons require specifying workload characteristics because relative costs change significantly based on invocation volume, function duration, and memory requirements. We benchmark across three representative enterprise workload patterns to illustrate how provider economics vary.

Workload Profile AWS Lambda Azure Functions GCP Cloud Run Winner
Event processing (10M/month, 100ms, 128MB)$12.50$12.64$22.80AWS Lambda
API backend (50M/month, 200ms, 256MB)$94.00$90.00$148.00Azure Functions
Data processing (1M/month, 3s, 1GB)$57.00$54.00$86.40Azure Functions
ML inference (5M/month, 500ms, 3GB)$251.00$240.50$352.00Azure Functions
Scheduled jobs (100K/month, 30s, 512MB)$26.00$24.80$18.20GCP Cloud Run

Azure Functions consistently matches or beats AWS Lambda on price for most enterprise workload patterns — largely because Azure's slightly lower GB-second rate ($0.000016 vs $0.0000167) compounds significantly at scale. However, AWS Lambda's ecosystem maturity, event source integrations, and tooling are often worth a modest premium. GCP Cloud Run typically costs more at scale for most workloads, though its generous free tier and container flexibility make it compelling for smaller workloads and teams already invested in GCP.

Serverless Cost Benchmark

Are You Paying the Right Amount for Serverless?

Our cloud cost benchmarks include serverless pricing analysis — comparing your Lambda/Functions/Cloud Run spend against 450+ enterprise deployments to identify optimization opportunities and provider arbitrage.

Serverless Cost Optimization: Where the 4x Gap Comes From

The 4.2x cost gap between optimized and unoptimized serverless deployments in our benchmark data is not primarily driven by provider selection or pricing tier — it's driven by configuration decisions within the serverless platform itself. Memory allocation is the single most impactful optimization lever available, and it's the one most frequently misconfigured.

Memory Allocation Optimization

AWS Lambda and Azure Functions allocate CPU proportionally to memory. Counterintuitively, higher memory allocation can reduce total cost for compute-intensive functions by reducing execution duration faster than it increases the memory cost. A function running at 128MB for 400ms costs the same as a function running at 512MB for 100ms — but the 512MB version may provide better user experience and better throughput under concurrent load.

Our benchmark data shows 68% of enterprise Lambda functions are allocated at memory levels that are either significantly above or below their optimal cost-performance point. The AWS Lambda Power Tuning open-source tool (and equivalent tools for Azure/GCP) identifies the optimal memory allocation for any function by running it at multiple memory levels and modeling the cost-performance trade-off. Organizations that run systematic memory optimization across their Lambda inventory reduce serverless compute costs by 22–38% without any code changes.

Memory Config Duration GB-Seconds Cost per 1M Invocations Relative Cost
128 MB (default)800ms102.4 GB-s$1.711.0x (baseline)
256 MB450ms115.2 GB-s$1.921.12x
512 MB220ms112.6 GB-s$1.881.10x
1024 MB (optimal)110ms112.6 GB-s$1.881.10x (+4x speed)
1536 MB80ms122.9 GB-s$2.051.20x
3008 MB50ms150.4 GB-s$2.511.47x

Provisioned Concurrency: When It Helps and When It Hurts

AWS Lambda Provisioned Concurrency eliminates cold starts by maintaining pre-initialized function instances. At $0.0000646 per GB-second for provisioned instances (vs $0.0000166667 for on-demand), it costs approximately 4x more for always-warm capacity. Our benchmark data shows Provisioned Concurrency delivers positive ROI only when cold start latency consistently exceeds 300ms AND the function serves latency-sensitive end-user traffic AND warm request volume exceeds 70% of provisioned capacity. For batch processing, background jobs, or internal APIs that tolerate 100–500ms cold start penalties, Provisioned Concurrency is almost always cost-negative.

Serverless vs Containers: When Each Wins on Cost

The serverless vs containers decision is fundamentally an economics question: at what invocation volume and execution duration does serverless pricing become more expensive than equivalent containerized workloads? Our benchmark analysis provides a framework for making this determination based on actual workload characteristics.

Break-Even Rule of Thumb: For AWS Lambda vs a right-sized ECS/Fargate container running 24/7, the break-even invocation volume is approximately 20–40 million invocations per month at 100ms average duration. Above this threshold, a dedicated container (even running on Fargate) becomes cheaper than Lambda. Below this threshold, Lambda is typically cheaper because you're not paying for idle container capacity.

Monthly Invocations Duration Memory Lambda Monthly Cost ECS Fargate Est. Verdict
1M100ms512MB$0.89~$20Lambda wins
10M100ms512MB$8.54~$20Lambda wins
30M100ms512MB$25.61~$28Roughly even
100M100ms512MB$85.37~$60Container wins
10M1s512MB$85.37~$28Container wins
1M5s1GB$85.00~$28Container wins

Long-duration functions (over 3 seconds average) are almost universally cheaper on containers than serverless, because the per-GB-second cost compounds quickly with execution time. High-frequency, low-duration functions (under 200ms at 10M+ invocations/month) are typically cheaper on serverless because you don't pay for idle capacity between invocations. The optimal architecture for high-traffic applications is often a hybrid: serverless for event-driven processing and low-frequency functions, containers for high-frequency or long-duration workloads.

Enterprise Serverless Cost Benchmarks by Use Case

Serverless adoption patterns vary significantly by use case. Our benchmark data on enterprise serverless spend allocation reveals the distribution of workloads and the associated cost patterns.

Use Case % of Serverless Spend Avg Monthly Cost Optimization Potential
API backends / microservices34%$8,400Medium (memory tuning)
Event processing / streaming24%$5,800High (duration optimization)
Scheduled / cron jobs14%$3,200Low (typically efficient)
Data transformation / ETL12%$9,100Very High (container switch)
ML inference / AI APIs9%$12,400High (right-size memory)
Webhook processing7%$1,200Low

Data transformation and ETL workloads have the highest optimization potential in the serverless category — our benchmark data shows these workloads are 40–65% cheaper when migrated from Lambda to containerized batch processing (AWS Fargate, Azure Batch) because their long execution times (30s–15min) make serverless pricing uncompetitive compared to container capacity pricing.

Serverless Cold Start Costs: The Hidden Expense

Cold start latency is not just a performance concern — it's a cost concern. When cold starts cause timeouts or retry storms, the cost impact is significant: failed Lambda invocations still incur the request charge ($0.20 per 1M), and retry logic can multiply invocation counts by 3–5x for intermittently failing functions. Our benchmark data shows 14% of enterprise Lambda functions have cold start issues that are generating measurable cost overhead through excessive retries and timeout-related errors.

The standard cold start mitigation strategies — Provisioned Concurrency, Lambda SnapStart for Java, keeping functions warm with scheduled invocations — all have cost implications that must be weighed against the retry overhead they prevent. For FinOps teams, the right framework is to calculate the total cost including retry overhead for cold-start-affected functions, then compare against the cost of Provisioned Concurrency for those specific functions to determine which option is cheaper.

Serverless Optimization

Identify Your Serverless Cost Reduction Opportunities

Our cloud cost benchmark report includes serverless-specific analysis: memory optimization opportunities, container migration candidates, cold start cost quantification, and provider arbitrage. Submit your cloud data for a 48-hour benchmark turnaround.

Related Articles in This Cluster

Serverless Cost Intelligence

Benchmark Your Serverless Costs Against 450+ Enterprise Peers

Identify memory optimization opportunities, cold start cost overheads, and container migration candidates. Board-ready benchmark report in 48 hours.

Start Free Trial Request Demo
Pricing Intelligence

Get Benchmark Data in Your Inbox

Monthly pricing intelligence: vendor discounts, renewal benchmarks, and contract data — direct from 500+ enterprise deals.

Work email only. No spam. Unsubscribe anytime.