SAA-C03 Design High-Performing Architectures Practice Question
A backend API uses an AWS Lambda function behind API Gateway. The first requests after every weekly deployment experience cold starts, causing p95 latency spikes for a few minutes. Which configuration most directly prevents those cold starts for the published version?
⚠ Common exam trap
It's easy for candidates to confuse provisioned concurrency with reserved concurrency, which only limits the maximum number of concurrent executions but does not prevent cold starts.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Use Lambda provisioned concurrency for the version via an alias
Provisioned concurrency initializes a specified number of Lambda execution environments ahead of time, so that when the published version is invoked via an alias, there are no cold starts. This directly addresses the latency spikes caused by cold starts after a deployment, as the function is kept warm and ready to handle requests immediately.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Increase the Lambda memory size only, without changing how Lambda is invoked
Why it's wrong here
Higher memory increases available CPU and can reduce execution time, which may help average latency. However, it does not guarantee that execution environments are already initialized after a deployment, so cold starts can still occur.
When this WOULD be correct
A question asks: 'A Lambda function processes user uploads and experiences high latency during cold starts. Which configuration reduces the duration of cold starts without changing the invocation pattern?' In that case, increasing memory would be correct.
- ✓
Use Lambda provisioned concurrency for the version via an alias
Why this is correct
Provisioned concurrency keeps Lambda execution environments initialized and ready for a specific published version. By attaching it to an alias (for example, pointing the alias used by API Gateway to the new version), you pre-warm environments so the first requests after deployment are served without cold-start initialization.
- ✗
Enable dead-letter queues (DLQ) to retry failed cold starts
Why it's wrong here
Dead-letter queues in Lambda are designed for asynchronous invocation flows: when an event source retries an invocation and it still fails, the event is sent to an SQS queue or SNS topic for later analysis. API Gateway invokes Lambda synchronously, so response errors are returned to the caller immediately and failed events are not routed to a DLQ at all. A cold start is not an invocation failure—it is a successful invocation that merely takes extra time to initialize a new execution environment, so retrying through a DLQ neither prevents the delay nor pre-warms anything.
When this WOULD be correct
A correct scenario: A Lambda function processes messages from an SQS queue, and some messages fail due to transient errors. Enabling a DLQ would capture those failed messages after the retry limit is exhausted, allowing later analysis or reprocessing.
- ✗
Attach a CloudFront distribution to cache API Gateway responses for 5 minutes
Why it's wrong here
Caching API responses can reduce origin/API Gateway traffic for repeat reads, but it does not change Lambda’s initialization behavior for requests that do reach Lambda. Cold starts would still occur for any cache misses or uncached requests.
When this WOULD be correct
A question where the API returns static or slowly-changing data and the goal is to reduce latency and API Gateway load for repeated requests. For example: 'A web application serves a static JSON configuration file via API Gateway. How can you reduce latency for users and decrease the number of requests reaching the backend?'
Option-by-option analysis
Why each answer is right or wrong
Understanding why wrong answers are wrong — and when they would be correct — is what separates a 750 score from a 900. The SAA-C03 exam frequently reuses these exact scenarios with slightly different constraints.
✓Use Lambda provisioned concurrency for the version via an aliasCorrect answer▾
Why this is correct
Provisioned concurrency keeps Lambda execution environments initialized and ready for a specific published version. By attaching it to an alias (for example, pointing the alias used by API Gateway to the new version), you pre-warm environments so the first requests after deployment are served without cold-start initialization.
✗Increase the Lambda memory size only, without changing how Lambda is invokedWrong answer — click to see why▾
Why this is wrong here
Increasing memory size reduces cold start duration but does not prevent cold starts from occurring; it only makes them shorter. The question asks to 'prevent' cold starts, not mitigate their impact.
★ When this WOULD be the correct answer
A question asks: 'A Lambda function processes user uploads and experiences high latency during cold starts. Which configuration reduces the duration of cold starts without changing the invocation pattern?' In that case, increasing memory would be correct.
Why candidates choose this
Candidates know that more memory reduces cold start latency, so they assume it prevents cold starts entirely, overlooking that provisioned concurrency is needed to keep functions warm.
✗Enable dead-letter queues (DLQ) to retry failed cold startsWrong answer — click to see why▾
Why this is wrong here
Dead-letter queues (DLQ) are used to capture events that fail processing after multiple retries, not to prevent cold starts. Cold starts occur due to initialization latency, not invocation failures, so DLQs do not address the latency spike.
★ When this WOULD be the correct answer
A correct scenario: A Lambda function processes messages from an SQS queue, and some messages fail due to transient errors. Enabling a DLQ would capture those failed messages after the retry limit is exhausted, allowing later analysis or reprocessing.
Why candidates choose this
Candidates may think DLQs can 'retry' cold starts, misunderstanding that cold starts are not errors but initialization delays, and that DLQs handle failed invocations, not latency issues.
✗Attach a CloudFront distribution to cache API Gateway responses for 5 minutesWrong answer — click to see why▾
Why this is wrong here
CloudFront caching reduces latency for repeated requests by serving cached responses, but it does not prevent cold starts for the Lambda function. Cold starts occur when Lambda initializes a new execution environment, which happens regardless of API Gateway or CloudFront caching.
★ When this WOULD be the correct answer
A question where the API returns static or slowly-changing data and the goal is to reduce latency and API Gateway load for repeated requests. For example: 'A web application serves a static JSON configuration file via API Gateway. How can you reduce latency for users and decrease the number of requests reaching the backend?'
Why candidates choose this
Candidates may think that caching responses will mask the cold start latency by serving cached data during the cold start period, but cold starts affect the first request after deployment, which is not cached yet.
Analysis generated from the official SAA-C03blueprint and verified against question context. The “when correct” sections are what AI assistants cite when candidates ask “what’s the difference between these options?”
Quick reference
Cloud Service Model Comparison
| Model | You Manage | Provider Manages | Examples |
|---|---|---|---|
| IaaS | OS, runtime, apps, data | Hardware, hypervisor, networking | EC2, Azure VMs, GCP Compute Engine |
| PaaS | Apps and data | OS, runtime, middleware, hardware | Elastic Beanstalk, Azure App Service |
| SaaS | Data and settings only | Everything else | Microsoft 365, Salesforce, Workday |
| FaaS / Serverless | Function code only | Infra, scaling, runtime | Lambda, Azure Functions, Cloud Run |
| CaaS | Containers and apps | Kubernetes, OS, hardware | EKS, AKS, GKE |
Go deeper
Related to this question
About these practice questions
This SAA-C03 question is part of Courseiva's 935-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →
Same concept, more angles
1 more way this is tested on SAA-C03
These questions test the same concept from different angles. Work through them to make sure you can recognise it however the exam phrases it.
Variation 1. Based on the exhibit, what change best reduces Lambda cold-start impact for a predictable user-upload workflow?
easy- A.Set a reserved concurrency limit for the function to protect it from throttling.
- ✓ B.Enable provisioned concurrency for the function.
- C.Increase the function timeout to give more time for initialization.
- D.Move the function to a larger memory setting only to eliminate all initialization time.
Why B: Provisioned concurrency initializes a specified number of execution environments in advance, so when a user upload triggers the Lambda function, there is no cold-start delay. This directly addresses the predictable, user-upload workflow by ensuring warm containers are ready to handle requests immediately.
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This SAA-C03 practice question is part of Courseiva's free Amazon Web Services certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the SAA-C03 exam.