| ▲ | nyrikki 2 hours ago | |
Are you looking for highly ephemeral nodes, where you are writing automation that will use the API to orchestrate it? Or do you just want small microVMs that you launch and kill? Firecracker just has a ReSTful unix socket with a defined API and launches KVM vms with limited options. For custom SMB I still think libvirt is a lower entry cost and may have transferable use cases to longer lived VMs, so you can just launch a qemu microvm[0] and use virsh and/or libvirt xml to set up the networking. The ~400ms boot time of a qemu microvm vs ~120ms for firecracker may not be an issue for some loads, but qemu will also allow you a bit more density of placement than firecracker. qemu microvms will use a bit more memory individually, but they will also tend to use less real system memory with a larger number of microVMs. It is all tradeoffs, and kata containers are yet another option that may apply depending on your use case. You can run your own firecracker or qemu/kvm microvms on most instances that allow nested hypervisors, or on a local host. If cost containment is critical to you this is one possible way forward. Really it just depends on if you want/need ReSTful control, or need to support short lived serverless functions, or if CLIs fit better and you many want to support full VMs. They both are just Virtual Machine Monitors that targeted different use cases and decided on different tradeoffs. Just be careful about hosting traditional containers and microVMs on the same system, that config is going to be problematic do to fundamental reasons that are too complex to properly address here. [0] https://www.qemu.org/docs/master/system/i386/microvm.html | ||
| ▲ | ilaksh an hour ago | parent [-] | |
Thanks. I just looked into qemu microvms. Might be an option but I already have gvisor set up. | ||