Courseiva

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

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

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.