Comment by kentonv

11 hours ago

Sandstorm's use of containers was just a means to an end. The real innovation was the fine-grained instances -- each document in its own container. No other container platform did that.

But honestly, it didn't work well, because of cold start times and memory usage. It's bad enough when a server takes seconds to start, but if every document you open has a long startup time and uses hundreds of MB of RAM, it's really painful.

Cloudflare OS doesn't use containers. It uses Dynamic Workers, which are 100x more efficient: https://blog.cloudflare.com/dynamic-workers/

So the stuff I have been building in Workers for the past 9 years turns out to be the thing that Sandstorm needed all along. What a coincidence. :)

dumb question: is this javascript/typescript only? can you use webassembly based languages instead?

  • In theory Wasm could be supported, but generally JS/TS is much more efficient when running inside isolates (our lightweight sandboxes) since you don't have to bundle a language runtime into the app. CFOS at present only exposes JS (with TS coming soon).

    • Please add Wasm support :)

      I'm making a whole new language to get around the problem you're talking about: it brings no runtime at all. One of my targets is a Sandstorm like system I've been slowly working on, but I'd love for it to be a fit for the actual Sandstorm successor.

This is far too Cloudflare flavored to be interesting to me.

It's using Workers (capital W) and the core Cloudflare primitives.

I don't feel safe building on this or touching this.

I'd be happier if a startup or neutral party built this in a more agnostic way.

  • I'm sorry but Workers is the technology that makes this all possible. I don't think I could have built this without Workers as a foundation. (I tried once, with Sandstorm, and like I said, it didn't work well.)

    Sometimes you just can't advance the state of the art while also maintaining broad compatibility.

    It's all open source, though. You can run the whole stack on your own machine.

    • For what it's worth, we also ran workerd inside a Sandstorm grain and not only did it work, it performed well. In the same way some people run Docker to run a single thing inside a VM solely for that thing... you can probably use workerd just to run a single Workers-based thing inside something else... and it'll probably work just swell.

    • Workers is a product and you're paid to develop and sell it as an employee.

      I 100% understand the hustle. I do the same thing. I just don't trust a giant like Cloudflare that has done several things to weaken the open web and establish a position that is all too powerful. I don't want to give them an iota of support. Even using open source buys into their mindshare, distribution, ecosystem, and eventual supremacy and lock-in.

      I'd buy this from a smaller company for sure. Just not from Google, AWS, Cloudflare.

      If this was a YC startup I'd have given you my credit card info already.

      I don't know what your stock in Cloudflare is like, but your upside would be way bigger building this externally. You'd probably raise an extremely large seed round.

      Consider launching your own startup. Don't give Cloudflare all the upside.

      Edit: I didn't realize you'd already responded. Was clarifying my position and wishes for this to not be something made by Cloudflare.

      4 replies →

  • My approach has been an interpreted Lisp running on a web server backend and it basically does everything described here