Hardware FixRecommendedDevice not working? Your driver may be the problemCheck updates for common hardware issues.Fix DriversOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsSlow PC?RecommendedPC slow today? Run a repair scan before it gets worseResolve common Windows issues and optimize system performance.Scan Now×
Skip to content
World desk6 min

Demystifying Durable Workflows: A Use Case from Uber

A durable workflow saves its progress so it can resume after a crash. Here is how Uber's Cadence platform models a food-delivery order, what its documentation establishes, and what it does not.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

A durable workflow is a multi-step process whose progress is saved as it runs, so the process can resume from where it stopped after a crash, restart, or long wait instead of starting over. Cadence, an open-source, code-driven workflow orchestration platform created at Uber, is one implementation of this idea. Its official documentation illustrates the model with a food-delivery example drawn from Uber Eats. This article explains the model, walks through that example, and separates what Cadence’s sources establish from assumptions about how Uber runs its own systems.

What Cadence is

Cadence is an open-source workflow orchestration platform. Developers write workflow logic in ordinary code, and the Cadence service stores a record of what happened so that the logic can be recovered if the machine running it fails. Uber announced Cadence 1.0 on June 22, 2023, in an Uber Engineering post titled “Announcing Cadence 1.0: The Powerful Workflow Platform Built for Scale and Reliability.” The project’s own documentation describes the platform as a way to orchestrate work that spans many steps and many services, and it lists the Uber Eats order flow as its main worked example.

As an Amazon Associate I earn from qualifying purchases.

What a durable workflow means

Most business processes are not a single function call. A customer order, for instance, involves several steps that depend on each other, may take minutes or days, and touches systems that sometimes fail. A typical hand-built approach uses queues, database rows that record status, scheduled jobs that poll for changes, and custom retry code. Each team ends up writing its own answers to questions like “what happens if the process dies between step three and step four?”

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Durable execution changes where those answers live. Cadence’s documentation describes the engine as persisting the event history of each workflow execution. When a worker process crashes or is replaced, a new worker can read that history and reconstruct the workflow’s state by replaying it. The business logic does not need to remember where it was, because the recorded history already says so.

The Uber Eats example

The documented example describes a customer order as a process with related stages. According to the Go package documentation for go.uber.org/cadence, the flow covers:

  • order placement and acceptance;
  • cart processing;
  • food preparation and delivery coordination;
  • delivery scheduling;
  • payments.

Read it as an illustration of the model, not as a description of Uber’s production architecture. The package documentation does not say which stage maps to which service, queue, or database, and it does not describe Uber’s internal deployment or service boundaries. The example shows why the stages belong in one coordinated process: each one depends on the outcome of the previous one, and some must wait for events that arrive later, such as a restaurant accepting an order.

Workflows and activities

Cadence separates the coordinating logic from the work itself. The official “Workflow Engine and Workflow Orchestration” documentation, last updated September 23, 2026, distinguishes the two roles, which are summarized below.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Element Role What it contains What happens if it is interrupted
Workflow Coordinates the process: decides which step runs next, waits for timers or signals, and branches on results Orchestration code only Its state is rebuilt from the persisted event history
Activity Performs one business operation, such as charging a payment method or sending a notification Code that touches external systems The operation is the unit that is retried or completed asynchronously, and the workflow waits for its result

Because replay re-runs workflow code to rebuild state, that code must make the same decisions every time it runs. Side effects such as sending an email or charging a card belong in activities, which run once per attempt and report their results back to the history.

How a workflow recovers after a worker crashes

The recovery sequence the documentation describes follows these steps:

  1. The service has persisted every decision and activity result as events in the workflow’s history.
  2. The worker running the workflow stops, for example because its host restarts.
  3. Another worker picks up the next workflow task for that execution.
  4. The new worker replays the recorded history to rebuild the workflow’s in-memory state, without repeating completed activities.
  5. Execution continues from the first step that has no recorded result.

The practical consequence is that the developer’s code does not contain a separate recovery path for each failure point. The trade-off is the replay constraint described above: workflow code has to be written with replay in mind.

Timers, signals, and waiting without polling

Many business processes spend most of their time waiting. A delivery may be scheduled for a later window, or a payment may depend on an external confirmation. Cadence’s documented features include durable timers, signals that deliver external events into a running workflow, child workflows for breaking large processes into parts, and asynchronous activity completion, where an activity finishes outside the worker that started it.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

These features let a workflow wait without a continuously running process or a hand-built polling loop that checks a database every few seconds. The wait is recorded in the event history, so it survives restarts. The documentation describes these capabilities as available features; it does not state that every Uber workflow uses each of them.

The 40% figure and the authoring argument

The Cadence 1.0 announcement reports that an internal 2021 Uber survey found teams wrote 40% less code to implement the same functionality with Cadence. The phrasing in the post is “40% less code to implement the same functionality.” Uber attributes the figure to its own survey. The inspected announcement does not give the survey’s sample size or method, so it should be read as Uber’s reported result rather than an independent measurement.

The announcement’s author, Ender Demirkaya, explains the design reasoning behind that result:

“However, simplicity should be on the workflow writing side instead of the orchestration; simply because the orchestration engine is built once, while a unique workflow needs to be written for each use case.”

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The argument is about where complexity should sit. The engine is written once and reused everywhere, so the cost of making it reliable is shared. Each workflow is different, so the cost of writing it is paid repeatedly, and the design aims to keep that part simple.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Comparing approaches

The sources for this article do not compare Cadence with other workflow systems, cloud-provider workflow services, message queues, or low-code business-process tools, and they contain no benchmark that does. Readers evaluating those options can use the following questions as a checklist. They are comparison axes, not a sourced verdict on any product:

  • Authoring model: Is the process written in general-purpose code, or in a domain-specific language or configuration file?
  • Ownership of state and retries: Does the platform persist and replay state, or does each application store its own status and retry logic?
  • Long waits: How are timers and external events handled, and do they survive restarts?
  • Visibility and recovery: What can operators see about a running execution, and how is a stuck or failed execution resumed?
  • Operational responsibility: Who runs the cluster and its persistence layer? Cadence’s documentation says partners offer managed deployments, but the sources do not name or assess any provider.
  • Language and runtime fit: Which languages have supported client libraries, and does the team already operate in them?

What the evidence does and does not establish

  • Cadence’s origin at Uber, the Cadence 1.0 date, and the Uber Eats example are established by Uber’s announcement and the Go package documentation.
  • The description of persisted history, replay, and separation of workflows from activities comes from the official Cadence documentation, last updated September 23, 2026.
  • The Cadence project’s “Vision & Goals” page, last updated August 28, 2026, states that Cadence joined the Cloud Native Computing Foundation as a Sandbox project in 2025. That is the project’s own status statement; check the current CNCF listing before citing it as a fixed fact, since project status can change.
  • No independently published comparative benchmark of Cadence’s productivity or performance was found in the sources used for this article.

For a team evaluating durable workflows, the most useful next step is to model one of its own multi-step processes using the workflow and activity split above and check which failure cases the platform handles and which remain the team’s responsibility.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Windows Errors? Fix Them Before They SpreadFree repair scan
Crashes, No Sound, or Screen Glitches?Free driver scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.