Back
Deno Team Joins Cloudflare to Merge celld with workerd for Self-Hosted Workers
SiTech AI Team2 min read

Deno Team Joins Cloudflare to Merge celld with workerd for Self-Hosted Workers

The Deno team is joining Cloudflare to merge celld with workerd, aiming to make self-hosting Workers and Durable Objects radically simpler for developers building distributed applications.

Deno Team Joins Cloudflare

The Deno team is joining Cloudflare to radically simplify self-hosting Workers and Durable Objects, allowing developers to use the same primitives in more places. Ryan Dahl, Senior Principal Engineer, and Kenton Varda, Distinguished Engineer, shared the story behind the move.

Dahl, the creator of Node.js, started Deno to find more powerful abstractions for writing JavaScript. While Deno improved the developer experience, he says the bigger problems lie around networked applications: distributing computation, coordinating state, data storage, and autoscaling to meet demand.

Why Durable Objects Mattered

The solution clicked into focus when Dahl read about Cloudflare's Durable Objects, which provide a distributed singleton with a SQLite database. Each Durable Object acts like a small, individually addressable server with its own relational database, single-threaded JavaScript execution, WebSocket support, and synchronous local SQLite access. Building a chat application with one Durable Object per channel shards data and WebSocket connections, making the application scalable.

On top of this abstraction, other services can be built, including Queues, KV, Durable Execution, and even Git storage. However, running this model outside Cloudflare remained difficult. Workerd is open source, but its Durable Objects support is limited to a single instance. Dahl wanted the distributed version, which led him to start celld, a single Rust binary with object storage as its only external dependency.

Cloudflare's Response

Kenton Varda addressed the common claim that Cloudflare designed Workers differently to create lock-in. He argued Workers is different because it is better, making it simple and cheap to run applications across hundreds of locations. He noted that workerd, the Cloudflare Workers Runtime, is open source and is the same code run in production, and that former customers have migrated away using it.

Varda admitted workerd has a gap in production readiness: Durable Objects only work in a single-instance way, good for local testing but unable to scale. The production routing implementation depends on external services operated by site reliability engineers, making it unsuitable for self-hosters. celld offered a fully compatible, self-hostable, and scalable implementation.

The Plan

Ryan Dahl and Bert Belder will lead a new effort to make workerd self-hosting a first-class supported way to build and run apps using the Workers programming model. The work involves merging code and ideas from celld back into workerd, with more announcements expected in the coming months. Developers can start self-hosting celld or workerd today.

Sources: Cloudflare

SSiTech

SiTech — AI-powered web development

We build fast, modern websites and bring AI into real business workflows. Have a project or a question? We'd love to help.