SAP-C02 Design for New Solutions Practice Question
A company is designing a serverless data processing pipeline using AWS Lambda to process messages from an Amazon SQS queue. The messages are generated by thousands of IoT devices. The architect needs to ensure that messages are processed in order within each device's stream and that failures are handled without data loss. Which combination of services should the architect use?
⚠ Common exam trap
Many exam-takers assume SQS FIFO queues are the only way to guarantee ordering, but they overlook the throughput limitations and the fact that Kinesis Data Streams is designed for high-throughput, ordered stream processing with Lambda, making it the better fit for IoT-scale workloads.
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 Amazon Kinesis Data Streams with Lambda function and a dead-letter queue
Amazon Kinesis Data Streams preserves the order of records within a shard, which maps to each device's stream when using a partition key like device ID. The Lambda function processes records from the stream, and a dead-letter queue captures any records that fail after the retry policy is exhausted, ensuring no data loss. This combination meets the requirements for ordered processing per device and fault tolerance without data loss.
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 Kinesis Data Firehose with Lambda function and an SQS queue for error handling
Why it's wrong here
Firehose is for delivery to destinations, not for real-time ordered processing.
- ✗
Use Amazon SQS standard queues with Lambda function and a dead-letter queue
Why it's wrong here
Standard queues do not guarantee order.
- ✗
Use Amazon SQS FIFO queues with Lambda function
Why it's wrong here
SQS FIFO provides ordering but Lambda processes messages in batches, potentially reordering if multiple message groups are used.
- ✓
Use Amazon Kinesis Data Streams with Lambda function and a dead-letter queue
Why this is correct
Kinesis preserves order within shards; Lambda processes records sequentially; DLQ handles failures.
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
One of 1,660 original SAP-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 SAP-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 SAP-C02 exam.