DVA-C02 Development with AWS Services Practice Question
A developer is designing a serverless application that processes orders. The order processing must be transactional: either all steps succeed or none. Which TWO AWS services can be combined to achieve this?
⚠ Common exam trap
Many candidates confuse message ordering or delivery guarantees (SQS FIFO) with transactional orchestration, failing to recognize that Step Functions is needed for coordinating multi-step rollback logic.
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
✓
AWS Step Functions
AWS Step Functions is correct because it provides a state machine that can coordinate multiple AWS services (e.g., Lambda, DynamoDB) in a defined workflow. It supports error handling, retries, and a 'catch' mechanism to roll back or compensate for failed steps, enabling transactional order processing where all steps succeed or none do.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
AWS Step Functions
Why this is correct
AWS Step Functions is a powerful orchestration service that enables developers to define and execute complex, multi-step serverless workflows as state machines. It inherently supports error handling, retries, and parallel execution, making it ideal for coordinating multiple AWS services to achieve transactional-like behavior. By managing the state between steps and allowing for explicit success and failure paths, including compensating actions, Step Functions can ensure that a series of operations either completes entirely or is rolled back to a consistent state, effectively providing atomicity across distributed components.
- ✗
Amazon SNS with filtering
Why it's wrong here
Amazon SNS with filtering operates as a publish/subscribe messaging service, primarily designed for fan-out scenarios where messages are delivered to multiple subscribers. While message filtering allows subscribers to receive only relevant messages, SNS itself does not provide any mechanism for managing the state of a multi-step process or ensuring transactional atomicity across different services. It merely facilitates message delivery, lacking the capabilities for workflow orchestration, error handling, or rollback logic essential for transactional operations.
- ✗
Amazon SQS with FIFO queues
Why it's wrong here
Amazon SQS with FIFO queues offers strict message ordering and exactly-once processing (through deduplication) within a queue, which is crucial for maintaining sequence and preventing duplicate work. However, SQS is fundamentally a message queuing service, not a transaction manager or workflow orchestrator. While it ensures reliable message delivery and processing, it does not provide a mechanism to group multiple operations across different services into a single, atomic unit that can be committed or rolled back if any part of the sequence fails.
- ✓
Amazon DynamoDB transactions
Why this is correct
Amazon DynamoDB transactions provide atomicity, consistency, isolation, and durability (ACID) guarantees for multiple read or write operations within and across DynamoDB tables. This feature ensures that a set of up to 10 operations on different items, or up to 4MB of data, either all succeed or all fail together, maintaining data integrity at the database level. It is highly effective for scenarios requiring all-or-nothing changes to related data within DynamoDB, such as updating multiple inventory counts or financial records simultaneously.
- ✗
AWS Lambda with DLQ
Why it's wrong here
AWS Lambda functions are stateless compute services that execute code in response to events, and while a Dead-Letter Queue (DLQ) can capture failed invocations for asynchronous processing, Lambda itself does not inherently provide transactional rollback capabilities. If a Lambda function performs multiple operations across different external services, and one of those subsequent operations fails, Lambda does not automatically undo the changes made by previous successful operations within that invocation or across a series of invocations. DLQs only facilitate error handling by redirecting failed events, not by ensuring atomicity of a distributed workflow.
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,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.