https://github.com/fourlexboehm/faasta
I was surprised there isn't yet an open/source and standards compliant way to host wasi-http functions in a way that takes advantages of WASM, a multi tenanted application.
If you're not familiar with wasi, Compared to something like AWS Lambda, this approach is much more efficient as a single process can serve 1000s of function invocations concurrently and asynchronously, instead requiring an entire VM.
This is still early days for the project, but feel free to download the cli utility with cargo install cargo-faasta.
Feel free to test deploying functions on my hosted instance at https://website.faasta.xyz.
The service is free to use and currently supports deployments via GitHub OAuth, with a limit of 10 functions per GitHub account.
mrmagoo17•9mo ago
alexboehm•9mo ago
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.
sshine•9mo ago
syrusakbary•9mo ago
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, ...) :)
alexboehm•9mo ago
syrusakbary•9mo ago
ebcase•9mo ago
https://www.fastly.com/documentation/guides/compute/
(I work there)
alexboehm•9mo ago
Imustaskforhelp•9mo ago
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.
Imustaskforhelp•9mo ago
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.
phickey•9mo ago
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.
sitkack•9mo ago