A fintech order flow spans payment authorization, fraud check, and ledger posting across three Lambdas, must survive crashes mid-flow, retry steps with backoff, and maintain exactly-once state without custom checkpoint code. Which durable execution pattern handles this multi-step workflow?
Select an answer to reveal the explanation.
Short Explanation
Crashes love to strike mid-payment, so you need a conductor that remembers its place. Durable orchestration keeps each step checkpointed like a bookmark that survives a dropped book.
Full Explanation
Step Functions Standard provides durable execution for multi-step workflows because it persists workflow state outside any single Lambda execution, resumes automatically after crashes from the last completed state, applies per-state retries with exponential backoff plus catch handling, and enforces effectively exactly-once state transitions without application checkpoint tables. The SQS FIFO chain with event mappings and dead-letter queues is a sound decoupled queuing pattern that gives durable per-hop messages and automatic retries, but it preserves only individual messages and leaves overall saga progress and cross-step deduplication to application code, violating the no custom checkpoint requirement. EventBridge Pipes with filtering, enrichment, and target retries is a strong single-pipe integration for source-to-target movement, yet it implements one point-to-point pipe rather than a long-lived workflow with centralized state across authorization, fraud check, and posting. Event-driven choreography using EventBridge events and Lambda destinations reliably routes completion events and retries single invocations, but distributed routing maintains no authoritative workflow state, so crash recovery and exactly-once guarantees across the full sequence still demand custom reconciliation. For exams, distinguish durable workflow orchestration with managed state from durable messaging or event routing, which remain choreography without a workflow engine, and in practice verify the design by inspecting execution history and confirming a resumed execution after injecting a mid-flow Lambda failure.