Published January 3, 2025
| Version v1
Working paper
Open
Building a Rust-based Web Server as a Unikernel with OPS: A Practical Guide
Description
Unikernels are lightweight, single-purpose virtual machine images that package an application together with only the operating system components it actually needs. They significantly reduce the attack surface, improve performance, and minimize resource usage. In this paper, we explore how to leverage the OPS toolchain to build a Rust based web server as a unikernel. We walk through the concept of unikernels, the Rust application code, and the steps required to convert this application into a bootable image using OPS. Finally, we demonstrate running the resulting unikernel using QEMU on Ubuntu inside Windows Subsystem for Linux
(WSL).
Files
Building a Rust based Web Server as a Unikernel.pdf
Files
(349.2 kB)
| Name | Size | Download all |
|---|---|---|
|
md5:f5434416abc0ec72d988a55933bc8723
|
349.2 kB | Preview Download |
Additional details
References
- [1] OPS GitHub. https://github.com/nanovms/ops
- [2] Rust Language. https://www.rust-lang.org/
- [3] sysinfo Crate. https://crates.io/crates/sysinfo
- [4] Madhavapeddy, A., & Scott, D. (2013). Unikernels: Library operating systems for the cloud. In Proceedings of the 18th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS).