Node.js creator ditches Deno to work on open source Cloudflare Workers

Node.js creator Ryan Dahl is sacrificing a battle to win the war … for server-side computing and allowing Node-replacement Deno to fall by the wayside.

Last week, Cloudflare announced that it had purchased Dahl’s company Deno, which was built around an open source server-side JavaScript runtime of the same name that he created, to compete with the Node.js runtime, which he also created. Nonetheless, Deno has no future at Cloudflare, which will maintain the runtime for another year before ending its development.

That’s OK with Dahl. 

"I am now of the opinion that if you're choosing Node.js for building servers, you’re doing it wrong," Dahl told . 

For Cloudflare, the Deno buy is an acquihire for Dahl and 12 of his Deno colleagues, who will work to build out Cloudflare’s Workers platform, expanding it for potential open-source use. He feels this approach is the way to go. 

“Right now, every other server is really operating at the Linux VM layer. That is not what Cloudflare Workers are," he said.

The unstoppable force of Node.js

Dahl’s Node.js, which he presented to the world in 2009, sparked a revolution in Web application architecture. He was fed up with the Apache web server hogging all the memory.  Using the Google V8 JavaScript engine, Node not only could execute JavaScript code on the server, but it could concurrently serve thousands of requests per second with a fraction of the memory required by the traditional choice of the time, Apache Web server. Today, Node powers about 30 million websites worldwide. With 130 million downloads, it probably runs a lot more internal operations as well.

The ever-fickle Dahl first debuted Deno in 2018 as a rewrite of Node. The name ‘Deno’ is an anagram of Node, and it was Dahl’s attempt to fix everything he felt he got wrong with Node – built-in fetch, a permission model, native TypeScript support et al.

Sequoia backed Dahl’s company for $21 million in 2022, and as of August, Deno amassed 400,000 monthly users. Nonetheless, Node’s gravity proved too heavy for Deno to achieve escape velocity. 

“What we found over years of working on Deno is that you can't really deviate from Node.js very much," Dahl told . "As we continued to try to get adoption for Deno, we found we had to essentially backpedal on some of the original promises and become more Node compatible over time, and that left us as a kind of an alternative Node.js implementation.”

Going forward, Cloudflare will supply Deno with bug fixes and security patches for the next year, while Dahl looks for a new home for the MIT-licensed open source project (the OpenJS Foundation perhaps?).

The new way: distributed micro-servers

In August, Dahl released an entirely new project, called celld, which was an open source implementation of Cloudflare’s Durable Objects. He was fascinated by the technology, originally created by Kenton Varda.

“A primitive this good deserves to run anywhere,” the celld page stated.

Durable Objects allow developers to build stateful, real-time distributed applications. Unlike Node or Deno, the resulting application doesn’t require a dedicated runtime environment. It runs on Cloudflare’s serverless Workers runtime, which executes code inside Google JavaScript V8 isolates — a lightweight sandbox running within a single OS process.   

Individual instances of the application can be spun up at an edge location closest to the user. Each Durable Object instance acts as a single-threaded micro-server with a unique global ID and its own co-located storage, where user data for the session is stored in its own dedicated copy of SQLite.

Durable Objects “is kind of the perfect distributed systems abstraction,” Dahl said. 

The drawback of Durable Objects for Dahl was that it was hard-wired into Cloudflare’s infrastructure. He created celld as an implementation that could be hosted anywhere, not just on Cloudflare.  

As it turns out, Cloudflare had similar aspirations. In 2022, the company had open-sourced a version of the Workers runtime, called workerd, but the release was more geared towards developer testing. The company never got around to making Workers fully self hosting, much less giving it the chops to maintain distributed state, a power Dahl gave to celld.

So the mission for Dahl's team is to merge the work of celld with workerd for a stand-alone JavaScript/WebAssembly runtime, while integrating it with Workers and Durable Objects as much as possible. (celld is also going bye-bye.)

Such a technology could be yet another revolutionary turn for server-side JavaScript, offering a runtime that would require only 300 KB of memory per instance, rather than the hundreds of megabytes now required for Node/Deno. Such savings could quickly add up for a cloud provider, especially one serving the voracious agentic market. 

But until we see the fruits of Dahl’s team, the market for independent runtimes will be squeezed, what with the absence of Deno and Anthropic’s recent acquisition (and rewriting) of Bun. Now, Dahl’s first creation, the mighty Node, will have to go it alone.®

Original source Node.js creator ditches Deno to work on open source Cloudflare Workers

Back to home