Courseiva

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 ClassMin DurationRetrievalUse Case
S3 StandardNoneImmediateFrequently accessed data
S3 Standard-IA30 daysImmediateInfrequent access, rapid retrieval
S3 One Zone-IA30 daysImmediateNon-critical infrequent data
S3 Intelligent-TieringNoneImmediate–hoursUnknown or changing access patterns
S3 Glacier Instant90 daysMillisecondsArchive with instant retrieval
S3 Glacier Flexible90 daysMinutes–hoursArchive, flexible retrieval
S3 Glacier Deep Archive180 daysHoursLong-term compliance archive

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 →

How Courseiva writes practice questions · Editorial policy

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.