saved
Durable Objects are Made for Agents
gist
Calvin French-Owen argues Cloudflare Durable Objects are a near-perfect primitive for agents: a keyed V8 isolate, paired SQLite, and request routing so each agent is an event-driven object instead of a service talking to a database. Idle DOs cost only storage, so his multi-agent infra ran about ten dollars a month versus far more on AWS, and wrangler local SQLite keeps coding agents off Docker and Postgres. The catch is single-threaded gates that stall subscribers, TypeScript-first APIs, wake-time migrations you can never drop, and no BYO-cloud.
ideas
- DOs are keyed isolate plus SQLite. Each ID is a V8 isolate with attached storage and routed requests, so you model agents as objects, not services-plus-database.
- Per-agent workloads are cheap when idle. Storage-only pricing while paused let his multi-agent infra run about $10/mo versus 10–50x on AWS; preview environments are nearly free.
- Wrangler plus SQLite is agent-friendly. Local wrangler avoids Docker/Postgres, production drift is small, and the small TypeScript surface is token-efficient for coding agents.
- Single-threaded gates can stall the world. Readable/writable gates hang subscribers if an LLM call happens before a storage write; agent-generated code blocked reads for tens of seconds.
- Migrations and BYO-cloud bite later. Schema changes live in wake-time migrations you cannot drop unless every DO is woken; customers who need BYO-cloud are a non-starter.
quotes
“They are basically the perfect primitive for 'per-agent' workloads.”
“All of my infra for running a decently sized multi-agent workload was something like $10/mo”
“some part of your function may end up sampling from an LLM before writing to storage; and that hangs all your subscribers!”
“I find working with Cloudflare infra to be extremely token efficient.”