AWS Certified Developer – Associate (DVA-C02)Development with AWS ServicesMedium

A developer is implementing a feature for an existing application that involves processing a series of asynchronous steps. Each step has different dependencies and failure conditions, and the overall process needs robust error handling, retry mechanisms, and the ability to track the state of each execution. The developer wants to avoid complex orchestration code in a single Lambda function. Which AWS service is best suited for this workflow orchestration?

  1. AAmazon SQS (Simple Queue Service)
  2. BAWS Lambda with event-driven invocations
  3. CAWS Step Functions
  4. DAmazon SNS (Simple Notification Service)
Show answer & explanation

Correct answer: C. AWS Step Functions

AWS Step Functions is a serverless workflow service that allows developers to orchestrate a series of AWS Lambda functions and other AWS services into a state machine. It provides built-in error handling, retries, parallel execution, and state tracking, making it ideal for complex, multi-step asynchronous processes.

Why the other options are wrong

  • A. Amazon SQS is a message queuing service for decoupling components but does not provide state orchestration, error handling, or retry logic for complex workflows.
  • B. While Lambda can be used for event-driven processing, orchestrating complex, multi-step workflows with dependencies, error handling, and state tracking solely with Lambda functions would lead to complex and hard-to-maintain code (known as 'callback hell').
  • D. Amazon SNS is a pub/sub messaging service for notifications, not for orchestrating multi-step workflows with state management.

AWS Step Functions

A serverless workflow service that lets you combine AWS Lambda functions and other AWS services to build business-critical applications.

  • Orchestrates multi-step processes as state machines.
  • Provides built-in error handling, retries, and parallel execution.
  • Tracks the state of each execution, making debugging easier.

Memory trick: When 'steps' need to 'function' in order, 'Step Functions' brings them to a managed border.

More Development with AWS Services questions