About Nebula

Nebula is a full stack application meant to replicate the mechanics of a Functions-as-a-Service platform. The idea is that users "deploy" the functions they want to run as WebAssembly binaries onto the platform, and then call them with a input and receive an output.

This project is mainly used as a playground for experimenting with functions run as WebAssembly modules versus the same function (and code) wrapped in a docker image. In order to make a fair assessment, both versions are treated as standalone programs that I feed input as stdin and read the result as stdout. The results will be compiled into findings for my Master Thesis that is due this spring.

If you're curious about the code, you can find it on Github here.

I've also blogged some about the project, if you want to read a bit more about the project here.

The stack ✊

Backend: Rust, Axum, WasmTime (Wasm runtime), Docker & Askama. Running on Debian 12.

Frontend: htmx 🦀🔪, vanilla JS & TailwindCSS

Made by: