4 ms·
Hi, [Disclaimer, I'm one of the maintainers] Another unikernel yes, sorry about that! :) . Unikraft started back in 2017 initially as a research project, and
by fhuici 3y ago
Hi,
[Disclaimer, I'm one of the maintainers]
Another unikernel yes, sorry about that! :) . Unikraft started back in 2017 initially as a research project, and has been a Linux Foundation OSS project since 2018.
While Unikraft OSS is used in different use cases, our primary target is cloud deployments. Unikraft has 3 key principles:
1. A fully modular OS -- so that we can specialize the resulting unikernels (VMs) as much as possible
2. Linux-API compatibility -- so that we don't break applications
3. Integration with Docker/Dockerfiles (and other tools) -- for ease of use
Unikraft powers kraft.cloud . You can see the platform's guides to get an idea of the apps/frameworks it supports: https://docs.kraft.cloud/guides/ https://docs.kraft.cloud/guides/
- anon291 3y agoThe part that I don't understand about 'fully modular' unikernels, is that you can build a linux kernel with exactly what features you want, but no one does that, so why would they do this?
- nderjung 3y agoIn fact this is not true with Linux. We did a study of this[0] and found that there are too many interdependencies between Linux kernel subsystems. The smallest, usable Linux kernel we test with sometimes is around 30MB. In comparison, compiling NGINX together with Unikraft results in a kernel size of under 2MB. This means that there is 28MB of kernel we didn't need or want. [0]: https://arxiv.org/abs/2104.12721 https://arxiv.org/abs/2104.12721 (See Figure 1)
- deivid 3y agoYou can get an uncompressed Linux image (built with only virtio support, including SMP and networking) under 12MB; it's not 2, but also not 30MB. This is without LTO, so you could probably get it lower.