I haven't tried with wasm personally because well, it has a limit of 25 mb and I am not sure but last time I read somewhere in their forums about some guy wishing to run golang, it had the issue that wasm could only be 1-2mb and golang's most basic example had it taken 1-2mb so they can't cook anything good.
Of course I can be wrong & I am just too lazy to search that article to remember the facts again.
And also one key thing to note is you should probably not keep the domain itself in cloudflare if you are thaat paranoid and write something in hono if you really want portability (maybe its overkill??) and if you really get messed up like the gambling blog guy then you can easily switch away...
Still ITS way too unlikely to happen I guess.
This platform is also based on wasmtime and wasmtime's wasi-http implementation, which I authored, so I'm really proud to see it reused here!
One more plug: I've been working on https://github.com/yoshuawuyts/wstd/ with Yosh and Dan Gohman (creator of WASI) as a nice way to write wasi-http guests in Rust.
https://www.fastly.com/documentation/guides/compute/
(I work there)
The Bytecode alliance is taking their time stabilizing wasi. wasip2 which is needed for the wasi-http realm this relies on has only really existed for a few months as a stable Rust target, and still misses a lot of the really cool features that will come with wasip3 like full async support.
I suspect Cloud providers will adopt wasi after 1.0, but that is likely years away. I don't think wasi-http will change much before then so now is the time to start building with it.
You may be surprised by how much WASIX is being adopted by the ecosystem! Aiming it to be full POSIX compliant has proven incredibly powerful, as there's no need for waiting for other entities to reinvent what already works in the POSIX (macOS, Linux, ...) :)
How might this project differentiate itself from Bun as it grows? Because Bun aims to be compact and fast (fast being the priority in their case).
Also I am still not sure how you are thinking that this project is similar to Bun.
Bun is for javascript, somebody runs wasm in js and that on bun...
Faasta runs wasm directly and you would need to use javy to actually run js in Faasta https://github.com/bytecodealliance/javy
Its sort of like a->b or b->a and faasta is way more leaner and better... Though bun is good if you are all Typescript.
Still I am sure I am not able to explain myself clearly, so do ask me something if you think I haven't explained quite properly and I am obviously sorry about that!
(Side note: but my main gripe with deno is that I have to specify all of these permissions and its still not a 1:1 equivalent to nodejs , like its very close still though so I still used bun and I actually used just today bun to install pnpm and then install wrangler and then remove pnpm and install via bun because for some reason wrangler doesn't recognize bun as package manager but whatever right)
The lambdas should be able to be accessible via http(s) e.g.
https://square.faasta.xyz/3 => 9
https://faasta.xyz/square/3 => 9
Great idea if done right!
> I originally supported path prefix and subdomains
please bring them back!I plan to also support multiple custom domain certs on a multi tenanted instance like faasta.xyz. For now I'd recommend a reverse proxy though.
The point of serverless is you don't have to think about hosting, and ideally it's cheaper.
The problem is if the hosting provider goes away you're screwed. In the case of Faasta, it's a single static binary with minimal configuration so if that happens, you can host it your self or move to another provider.