DVA-C02 Development with AWS Services Practice Question
A developer is designing a serverless application that uses AWS Lambda and Amazon DynamoDB. The application needs to handle high traffic spikes without data loss. Which TWO actions should the developer take?
⚠ Common exam trap
It's easy for candidates to confuse DynamoDB Streams with a scaling mechanism, but it is purely a change-data-capture feature, not a solution for handling traffic spikes or preventing data loss.
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
✓
Enable DynamoDB Auto Scaling
Option A (Enable DynamoDB Auto Scaling) is correct because DynamoDB Auto Scaling automatically adjusts provisioned read/write capacity in response to traffic spikes, ensuring the table can absorb sudden load without throttling or data loss. Option D (Use Amazon SQS to buffer requests to Lambda) is correct because placing an SQS queue between the request source and Lambda decouples the components, buffers bursts of traffic, and provides durable at-least-once delivery so requests are not lost if Lambda throttles or fails. Option B is incorrect because Provisioned IOPS is an EBS storage feature, not a DynamoDB capacity mode, and does not address DynamoDB throughput scaling. Option C is incorrect because DynamoDB Streams captures item-level changes for change data capture and triggers, but it does not itself handle traffic spikes or prevent data loss under load. Option E is incorrect because simply raising the Lambda concurrency limit to the maximum does not buffer requests or guarantee delivery; without a queue, excess invocations can still be throttled and dropped.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
Enable DynamoDB Auto Scaling
Why this is correct
DynamoDB Auto Scaling automatically adjusts the provisioned read and write capacity units (RCUs and WCUs) for a table or its global secondary indexes. It uses AWS Application Auto Scaling to respond to actual traffic patterns, ensuring that the database can handle sudden spikes in demand without throttling, while also scaling down during periods of low activity to optimize costs. This dynamic adjustment is crucial for maintaining application performance in serverless architectures by preventing performance degradation.
- ✗
Use Provisioned IOPS for DynamoDB
Why it's wrong here
Provisioned IOPS is a performance feature exclusively available for Amazon EBS volumes, designed to deliver consistent and predictable I/O performance to Amazon EC2 instances. DynamoDB, being a fully managed NoSQL database, utilizes a distinct capacity model based on Read Capacity Units (RCUs) and Write Capacity Units (WCUs) to manage throughput. Therefore, the concept of Provisioned IOPS is entirely irrelevant and inapplicable to DynamoDB's operational model.
- ✗
Enable DynamoDB Streams
Why it's wrong here
DynamoDB Streams provide a time-ordered log of item-level modifications (inserts, updates, and deletes) to a DynamoDB table, primarily used for real-time data replication, analytics, or triggering other services. While essential for event-driven architectures and data synchronization, enabling streams does not inherently increase the table's underlying read or write capacity. Consequently, it does not directly address the challenge of handling traffic spikes by preventing database throttling.
- ✓
Use Amazon SQS to buffer requests to Lambda
Why this is correct
Amazon SQS serves as a highly scalable, fully managed message queuing service that effectively decouples application components. By placing incoming requests into an SQS queue before they are processed by AWS Lambda, SQS acts as a robust buffer, absorbing sudden traffic spikes and preventing Lambda from being overwhelmed. This ensures that all requests are reliably queued and eventually processed, even if Lambda experiences temporary backlogs or throttling, enhancing overall system resilience.
- ✗
Increase the Lambda concurrency limit to the maximum
Why it's wrong here
While increasing the AWS Lambda concurrency limit allows more simultaneous function invocations, simply maximizing it can introduce significant risks to the overall application architecture. An excessively high concurrency limit might overwhelm downstream dependencies, such as databases or external APIs, which often have their own, potentially lower, rate limits. This can lead to cascading throttling errors and service degradation, making a controlled buffering mechanism like SQS a more robust solution for managing traffic spikes.
Quick reference
AWS S3 Storage Class Comparison
| Storage Class | Min Duration | Retrieval | Use Case |
|---|---|---|---|
| S3 Standard | None | Immediate | Frequently accessed data |
| S3 Standard-IA | 30 days | Immediate | Infrequent access, rapid retrieval |
| S3 One Zone-IA | 30 days | Immediate | Non-critical infrequent data |
| S3 Intelligent-Tiering | None | Immediate–hours | Unknown or changing access patterns |
| S3 Glacier Instant | 90 days | Milliseconds | Archive with instant retrieval |
| S3 Glacier Flexible | 90 days | Minutes–hours | Archive, flexible retrieval |
| S3 Glacier Deep Archive | 180 days | Hours | Long-term compliance archive |
Go deeper
Related to this question
About these practice questions
One of 1,135 original DVA-C02 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This DVA-C02 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 DVA-C02 exam.