No - AWS Lambda provisioned concurrency cannot exceed reserved concurrency (hard limit enforced by AWS). Configuration rules: Without reserved concurrency, cannot set provisioned concurrency (AWS blocks with InvalidParameterValueException). With reserved concurrency, provisioned concurrency ≤ reserved concurrency (enforced). Example: Reserved = 50, attempt Provisioned = 60 → AWS rejects with 'Specified provisioned concurrency is greater than reserved concurrency'. Must set reserved concurrency first, then provisioned must be equal or lower.
Lambda Provisioned Vs Reserved Concurrency FAQ & Answers
5 expert Lambda Provisioned Vs Reserved Concurrency answers researched from official documentation. Every answer cites authoritative sources you can verify.
unknown
5 questionsConcurrency types (2025): (1) Account-level concurrency - 1,000 concurrent executions default per region (soft limit, increase to 10K-100K via support ticket), shared across all functions in account/region, (2) Reserved concurrency - dedicated allocation for specific function, guarantees availability but caps max concurrency. Example: Set reserved = 100 → function guaranteed 100 concurrent executions, cannot scale beyond 100 (throttles at 101), reduces account pool by 100 (900 left for other functions), (3) Provisioned concurrency - pre-initialized instances (always warm, zero cold starts), must be ≤ reserved concurrency.
If traffic exceeds provisioned concurrency but within reserved limit → Lambda scales using on-demand instances (subject to cold starts). Example: Reserved = 100, Provisioned = 50, Traffic = 75 concurrent requests → 50 requests use warm provisioned instances (0ms cold start), 25 requests trigger on-demand instances (200-500ms cold start for Node.js/Python). Cost implications: Reserved concurrency free (just caps max), Provisioned $0.015/GB-hour (50 instances @ 512MB = $162/month) + execution cost, On-demand only charged during execution ($0.0000167/GB-second).
Use reserved WITHOUT provisioned: Protect function from consuming all account concurrency (prevent noisy neighbor problem - runaway function throttling others). Example: Background job processing - reserve 200 concurrency to prevent starving critical API functions, but don't need provisioned (cold starts acceptable for async jobs). Use provisioned WITH reserved: Latency-critical APIs requiring <50ms response - provisioned eliminates cold starts, reserved ensures those warm instances can't be starved by account-level throttling.
Best practices (2025): (1) Set reserved = 2x provisioned (buffer for bursts, e.g., Provisioned = 50, Reserved = 100), (2) Monitor ConcurrentExecutions metric to track if hitting reserved limit (need increase) or underutilizing provisioned (wasting cost), (3) Use Application Auto Scaling to automatically adjust provisioned concurrency based on schedule/metrics, (4) Test failover behavior - verify on-demand instances kick in correctly when provisioned exhausted (load testing with >provisioned RPS). Common mistake: setting reserved = provisioned exactly (no headroom for bursts) causes throttling when traffic spike exceeds provisioned. Always reserve 2-3x headroom.