I wasn't at the session where this started (because I was speaking on a
panel at the same time about edge computing, containers/VMs, and hybrid
approaches), but several people pointed me at this list, because I'm
currently working on a lightweight hypervisor written in Rust (on top of
KVM), as PhD research at the University of Cambridge.
I'm interested in getting more details on what features of QEMU are used
by Kata Containers. Specifically, what image formats and devices do you
need? This information would be equally valuable to a stripped-down
QEMU, so it wouldn't be a distraction from that work, just a side
benefit of informing other approaches to lightweight hypervisors.
The fundamental concept of my work is building a "library hypervisor",
somewhat analogous to the way unikernels are a "library operating
system". So, instead of a monolithic body of code, it is a collection of
Rust libraries that provide devices, support for various image formats,
an interface to KVM, etc. A final compiled hypervisor imports a minimal
set of libraries to get the minimal set of features that it needs.
I had considered Kata Containers as a possible example target, though I
was prioritizing it behind libvirt, minikube, LinuxKit, and a few other
potential targets. I wouldn't mind bumping Kata Containers up to a
higher priority, if people here would be interested in a prototype to try.