hocus-dev / hocus

🪄 Spin up ready-to-code, disposable dev environments on your own servers. Self-hosted alternative to Gitpod and Github Codespaces.
https://hocus.dev
Other
3.18k stars 79 forks source link

Have you tried Cloud Hypervisor? #118

Open sboeuf opened 11 months ago

sboeuf commented 11 months ago

❓ Questions/Help/Support

I've just read your blogpost about the move from Firecracker to QEMU and the reasons why Firecracker wasn't fitting your needs. Have you ever considered using Cloud Hypervisor? It's been designed for the use cases you describe, and doesn't have any of the limitation that made you move away from Firecracker. And in comparison with QEMU, the codebase is much smaller and written in Rust. It actually relies on multiple Rust-VMM crates which are used from Firecracker as well.

hugodutka commented 11 months ago

Hi Sebastian, we did consider it. Here's a short writeup that we did about why we can't use it yet: https://github.com/hocus-dev/hocus/blob/main/rfd/0002-workspace-runtime.md. Is there any specific reason why you're asking?

sboeuf commented 11 months ago

Hi! I've been working on Cloud Hypervisor for several years and it looked like a great fit for your use case. Ok I see the only blocker was the discard feature for storage, right? I assume you're using a block device, which means the only thing that's missing is to implement the VIRTIO_BLK_F_DISCARD feature for the virtio-block device. I'm not actively working on the project, but that's definitely something you could ask the community to implement for you (unless you want to do it).

hugodutka commented 11 months ago

Yes, the main problem was the lack of the discard feature. However, we've already integrated with QEMU and it works great, so it's not a pressing issue for us right now. We wouldn't see any immediate benefits from switching to Cloud Hypervisor at this time.