Good for simple stateless services (web servers, API endpoints, microservices) applications that fit the unikernel model - single-purpose, statically linked Running on one's own Xen hypervisor infrastructure.
Not "Starrust"? What a missed opportunity...
The project started with two questions:
- How small can a deployment unit be while still supporting real service workloads?
- What if distributed systems were built from components that can be deployed quickly or dynamically relocated across a network?
Instead of large virtual machines or container images, we turned to Unikernels; tiny, and easily deployable anywhere a hypervisor runs. If deployment becomes cheap, we can rethink system design: mobile agents, compute-near-data, ephemeral tasks, dynamic composition, and so on.
Stardust lets us explore that space, and both the C and Rust versions are stable.
Stateful services are possible with Unikernels, though library porting still takes work, and there’s plenty of room for innovation around hypervisor and tooling. WebAssembly is a promising direction as well, though it would require adapting Stardust to support an appropriate runtime. Some Unikernels have already gone down that path, and there’s definitely room for more experimentation.