Courseiva
Resilient Cloud SolutionshardMultiple ChoiceObjective-mapped

DOP-C02 Resilient Cloud Solutions Practice Question

A company uses AWS Lambda with Amazon DynamoDB to process orders. During peak hours, the Lambda function sometimes fails with throttling errors from DynamoDB. The system must be resilient and cost-effective. What should a DevOps engineer do?

⚠ Common exam trap

A common mix-up: candidates confuse read caching solutions (DAX) or queue-based decoupling (SQS) with the direct need to scale write capacity and handle retries, overlooking the combination of auto scaling and DLQ as the most resilient and cost-effective approach for write-throttling scenarios.

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

Configure DynamoDB auto scaling and implement a dead-letter queue in Lambda to retry failed events.

Configuring DynamoDB auto scaling allows the table to adjust its provisioned capacity based on actual traffic patterns, preventing throttling during peak hours while remaining cost-effective during low usage. Implementing a dead-letter queue (DLQ) in Lambda ensures that failed events (e.g., due to transient throttling) are captured and can be retried or investigated, providing resilience without manual intervention.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • Use Amazon SQS to buffer the requests and have Lambda pull from the queue with a reserved concurrency limit.

    Why it's wrong here

    While Amazon SQS buffers incoming requests and can smooth out traffic spikes, it does not increase DynamoDB's provisioned write capacity or affect how much the table can absorb. The Lambda consumer will still encounter ProvisionedThroughputExceededException when the table's write capacity is exhausted, and a reserved concurrency limit merely caps the number of concurrent consumers. Without a dead-letter queue, messages that failed due to throttling could be permanently lost after the SQS visibility timeout expires.

  • Increase the DynamoDB provisioned read and write capacity units to a high fixed value.

    Why it's wrong here

    Raising provisioned read and write capacity to a high fixed value forces you to pay for capacity that may remain idle during quiet periods, which is inefficient and expensive for variable workloads. It also sets a static ceiling: if a genuine spike exceeds that arbitrary value, DynamoDB will still throttle requests, and you cannot dynamically scale down when traffic drops. Auto scaling or on-demand capacity is far more cost-effective and responsive than manual, fixed provisioning.

  • Provision DynamoDB Accelerator (DAX) to cache reads and reduce throttling.

    Why it's wrong here

    DynamoDB Accelerator (DAX) is an in-memory cache that only offloads read requests, so it has no effect on the write-path throttling that occurs when your table's write capacity is consumed. Even if the workload were read-heavy, DAX would not prevent write throttle events; writes always pass directly to the underlying table and are subject to its capacity. For write-heavy applications, focus on capacity management and retry logic rather than adding a read cache.

  • Configure DynamoDB auto scaling and implement a dead-letter queue in Lambda to retry failed events.

    Why this is correct

    DynamoDB auto scaling adjusts provisioned capacity based on actual usage, preventing most throttling, but it cannot anticipate sudden one-off spikes because it relies on trends. A Lambda dead-letter queue, combined with the function's built-in retries and exponential backoff, ensures that any event which still fails due to a throttle is safely captured for manual or automated replay rather than silently dropped. This two-tier approach balances elasticity with data durability, which is why it is the recommended solution for unpredictable write spikes.

Quick reference

Cloud Service Model Comparison

ModelYou ManageProvider ManagesExamples
IaaSOS, runtime, apps, dataHardware, hypervisor, networkingEC2, Azure VMs, GCP Compute Engine
PaaSApps and dataOS, runtime, middleware, hardwareElastic Beanstalk, Azure App Service
SaaSData and settings onlyEverything elseMicrosoft 365, Salesforce, Workday
FaaS / ServerlessFunction code onlyInfra, scaling, runtimeLambda, Azure Functions, Cloud Run
CaaSContainers and appsKubernetes, OS, hardwareEKS, AKS, GKE

About these practice questions

This DOP-C02 question is part of Courseiva's 251-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 →

How Courseiva writes practice questions · Editorial policy

JA

Written by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

This DOP-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 DOP-C02 exam.