Skip to content

business

Cloudflare takes in the team that cloned its Workers

Promtime

When Deno shipped celld in August, an open-source clone of Cloudflare Workers and Durable Objects, Cloudflare was delighted rather than alarmed, Kenton Varda writes in Cloudflare's announcement. Now the whole Deno team, Node.js creator Ryan Dahl included, is joining Cloudflare on terms that were not disclosed.

At a glance

  • Ryan Dahl and Bert Belder, who co-founded Deno, will lead a Cloudflare effort to make self-hosting workerd, the open-source Workers runtime, a first-class supported way to run Workers-style apps.
  • The plan is to merge celld's code and ideas into workerd, whose Durable Objects currently run as a single instance, good enough for local testing but unable to scale.
  • According to The New Stack, Deno users carry the cost: Deno Deploy closes in six months with migration help for paying customers, and the runtime gets monthly maintenance and security updates for one more year.

If you missed the earlier episodes, these two companies have a long history. Cloudflare unveiled Workers in 2017. According to Wikipedia, Dahl announced Deno at JSConf EU in June 2018, and Deno Deploy, "inspired by Cloudflare Workers", launched on June 23, 2021. That same year, The New Stack recalls, Cloudflare mistakenly blocked Deno's website and module registry after misreading TypeScript files as video, and Deno moved its infrastructure elsewhere.

Cloudflare admits workerd has run Durable Objects on a single instance since its first release

Varda is unusually frank about the gap. workerd is open source and is the same code Cloudflare runs in production, not a parallel implementation. Durable Objects, however, only work there as a single instance, and TODO comments about fixing that date back to the original release.

The obstacle, he writes, is that Cloudflare's production routing for Durable Objects is a beast. It was built for hundreds of locations and depends on many external services run by a team of site reliability engineers. No self-hoster would want it. Varda says he tried to build a simpler version last spring and, embarrassingly, it did not work.

He is just as blunt about the tooling. Cloudflare released workerd and hoped the community would adapt it to every possible environment, which never happened. A few teams run it in production, but not many, and most people do not seem to know it is even possible. In his words:

"Frankly, we haven't done a great job of building out the ecosystem of adjacent services and tooling to make it really work."

Cloudflare says customers such as Shopify asked for an open-source runtime in 2022

Much of the post answers a popular theory: Cloudflare supposedly built Workers to work differently so that customers get locked in. Durable Objects are meant to be the deepest trap, because apps using them are architected differently. Under that theory, celld, which lets Workers apps move to other providers, should have been a threat. Varda calls the theory wrong.

Here is his account. When Cloudflare pitched Workers for Platforms to customers such as Shopify in 2022, they said they could not build on it unless the runtime was open source, so Cloudflare open-sourced it. Some former customers have since left by switching to workerd. Varda says that is fine, because many more have stayed, and an escape hatch turns out to be good business.

He argues that Workers is different because it is better. Its architecture makes running an app in hundreds of locations simple and cheap, with the savings passed on in pricing. Bindings, Workers' live environment design, make access to external resources easier and more secure at once, and Durable Objects make real-time collaboration easy where a classic three-tier architecture struggles.

Deno's hosting service and standalone runtime are being wound down

The New Stack reports that Deno Deploy and the standalone Deno runtime will be wound down, and that Deno's engineers will move to Workers. Paying Deploy customers get migration help before the six-month shutdown. Deno had raised around $26 million across two funding rounds, according to the same report.

The admiration runs both ways. The celld website openly credits Varda, a Cloudflare distinguished engineer, and the Workers team for the design, and calls the project a tribute to their work. Its own summary reads:

"Celld is a love letter to their idea; a primitive this good deserves to run anywhere."

Varda returns the compliment. He credits Dahl with inventing JavaScript on the server, which TheWebSolvers dates to Node.js in 2009. He also says the Deno team knows how to build a good developer experience around a self-hosted runtime, something Cloudflare never quite cracked with workerd.

A Durable Object needs a router that always finds its one instance

In plain terms, a Durable Object is a small stateful program with a name. Every request for that name has to reach the same single instance, which is what makes real-time collaboration simple. On one machine that is trivial. Across many machines, something has to know where each object lives and send traffic there.

Think of mail for hotel guests. With one hotel, the front desk holds every letter. With a chain, someone has to know which building each guest is in. workerd today is the single hotel, Cloudflare's production system is the chain with a full-time staff, and celld was designed to stay compatible with Workers while being self-hostable and scalable.

Plenty is left out. The price is undisclosed, there is no date for a scalable self-hosted workerd, and Varda's own attempt at simpler Durable Objects routing last spring did not work. In our view, the timing is awkward: according to The New Stack, Deploy closes within six months, while the supported self-hosting path is still a plan built on absorbing celld, which appears to be the most finished piece today.

When self-hosted workerd ships

Cloudflare says more announcements about the workerd effort will come in the coming months, but it gives no release date and no timeline for merging celld's code. Whether celld continues as a separate project afterwards is not stated. For anyone who cannot wait, Varda says you can self-host celld or workerd today, and he plans to run an instance of Cloudflare OS at home on the new setup.

Related stories

  1. Hugging Face sale talks put the price at $13 billion
  2. Instant Cloud shuts down in 2027 as team joins OpenAI
  3. Each coding session gets its own EC2 box
  4. OpenRouter sells to Stripe for more than $7 billion
  5. Grok Build and Grok Bot get the Cursor team
  6. River AI raises $1.1 billion to build "personal AI"

Comments

No comments yet. Be the first.

Join the conversation

Sign in with Google to leave a comment. Your name and avatar come from your Google profile, and the comment appears after moderation.

We only use your name and avatar from Google. We never store your email address.