Durable Execution: Building Long-Running Workflows That Survive Restarts

Every backend eventually runs into a process that refuses to fit into a single HTTP request. An order fulfillment flow that charges a card, reserves inventory, notifies a warehouse, and sends a confirmation email. An onboarding pipeline that provisions cloud resources, seeds a database, and sends a welcome sequence. These workflows span seconds to minutes, touch multiple external services, and must complete reliably — even if the server crashes halfway through.

The standard answer is a job queue plus a state machine persisted in a database. It works, until the state machine grows to 15 states, 40 transitions, and every developer on the team is afraid to touch it. There is a better model: durable execution.