Skip to content
The Orange Cloud Report

Compute

Durable Objects review

Score: 2/10

Technically impressive, operationally terrifying. Should have stayed an internal primitive.

Reliability
2Pricing honesty
7Developer experience
4Trajectory
5

The breakdown explains the score. It is not an average. How to read these.

Last updated

Durable Objects give you single-threaded, strongly consistent compute and storage addressed by ID. It is an elegant answer to difficult coordination problems such as WebSocket rooms, counters, locks, and per-entity state. The programming model is beautiful from a computer science perspective, and it is easy to see why Cloudflare uses it internally.

Operations bring the score down to a 2. Each object lives on one machine at a time, so bad hardware can take a whole set of objects offline. If they coordinate something important, that layer is simply gone until placement recovers, and the customer has nothing useful to act on. There are plenty of traps: input/output gate deadlocks, storage growth that is hard to inspect, per-object throughput ceilings that appear in production, and observability that tells you too little about an unhealthy object. The length of Cloudflare’s own “Rules of Durable Objects” page says a lot about the product’s complexity.

The safe approach is to treat Durable Objects as a coordination cache you can afford to lose, never a system of record or a fleet’s single point of failure. I think they should have remained an internal primitive for Cloudflare rather than something customers build on. Their use beneath D1, Queues, Workflows, and Agents also makes me more cautious about those products.

Status page incidents

Published under Durable Objects, plus incidents whose title names it.

Compare with other products →
Last 3 years
101
10 from the title
Major or critical
7
Median time open
1.6 h
Since June 2023
117

Counts what Cloudflare published, not what broke: time open is how long the status entry stayed open, and nothing before June 2023 is tracked at all. Incidents Cloudflare tagged against nothing but named in the title are counted too. The caveats in full.

Consider instead

  • Workflows

    Use Workflows when the job is a durable sequence of steps rather than live per-entity coordination.

  • Queues

    Use Queues when the job is deferred work rather than per-entity coordination.

Decision guides