This is 100% open source and self-hostable.
https://github.com/cloudflare/cloudflare-os
It runs on top of our open source runtime.
This is 100% open source and self-hostable.
https://github.com/cloudflare/cloudflare-os
It runs on top of our open source runtime.
Does workerd have full feature-parity with Workers, including stuff like Durable Objects?
It's the same code. The only thing it doesn't include is the global scheduling and orchestration, but you don't actually want that locally. (And honestly... that stuff is a bit of a beast.)
Durable Objects are fully supported by workerd (and Cloudflare OS uses them extensively).
There is, however, one catch currently: Durable Objects don't scale out well without the global scheduling. For running Cloudflare OS for one user, this is actually no big deal, but a company-wide instance might not work well.
But I'm actually fixing that:
https://github.com/cloudflare/workerd/pull/6780
Unfortunately didn't get enough time to land it before this release, but it'll come soon.
With that I would expect a self-hosted Cloudflare OS on your own cluster to work quite well.
This is exciting! I've loved the idea of Durable Objects but I've disliked that there's no existing way to use them while scaling to multiple machines outside of Cloudflare.
It's cool that it's open-source, but how much effort and scale would it take to run it on non cloud flare infra?
ffs there is literally no pleasing some people. "Hosting an open source project is too difficult! They should provide a free SaaS solution instead on their own cost but also no lock-in!!"
I think it’s a legitimate question! Some companies operate at such a scale that if you tried to adopt their tools or services, it would be way too complex for the ROI.
Think Bazel or how K8s was for ~ever. For Google’s scale? Required. For a small team? A net-negative.
workerd stand-alone is designed to work well at small-medium scale.
If we open sourced Cloudflare's production scheduler, nobody would be able to use it because it is explicitly designed for HUGE, globe-spanning scale. Well, nobody except our direct competitors.
But the goal with workerd is actually that it should be pretty easy to run, about as easy as Node. Stateless workloads should scale trivially (just add more instances and load balance). For Durable Objects (statefull), currently it doesn't scale well at all, but I'm working on changes[0] so that it scales nicely across a cluster. I intentionally chose a design here that is operationally easy to set up. (Basically: just connect all the nodes to NFSv4.)
[0] https://github.com/cloudflare/workerd/pull/6780
High switching costs is a form of lock-in "open source" or not.. This is something people with real experience making real decisions are well aware of..
Can I host outside Cloudflare?
No it uses cloudflare primitives
Incorrect. You can host it on workerd on your own servers. No Cloudflare required.
Don’t the docs say running on wrangler is not for production use? Or am I missing something?
wrangler is a development tool. You wouldn't want to run dev mode in production.
But workerd can be used directly without wrangler, and is production-capable in that format.
Unfortunately we did not have time to put together example configs for this before launch (I wish we could have delayed, it was out of my hands), but we will be doing so soon.
Mentioned in the readme here:
https://github.com/cloudflare/cloudflare-os#deploy-to-your-o...
Appreciate the correction, thank you