3 ms·
Hey so how is are the virtual machines different from KVM? I still don't know when I should consider using firecrackervm in my homelab or my business.
by unixhero 5y ago
Hey so how is are the virtual machines different from KVM? I still don't know when I should consider using firecrackervm in my homelab or my business.
- zamadatix 5y agoUnless your homelab and/or business is about providing (not consuming) serverless infrastructure efficiently at scale then firecracker isn't really worth considering IMO. That doesn't mean you can't use it in other use cases if you really want but that's what it was designed for/to do well with.
- ciprian_craciun 5y agoThe main feature Firecracker (and `crosvm`) is that they offer very trimmed-down VM's: you get disk, network, and serial (and KVM of course); that's it. Thus if you don't need the emulation (and other extra features) from QEMU, it can be simpler to configure and certainly more secure to run. For example I intend to run development VM's on Firecracker instead of QEMU.
- petree 5y agoFirecracker uses KVM, but KVM is only part of the equation. KVM exposes some very basis functionality (vcpus, memory) that an application like Firecracker or rust-vmm (or more commonly QEMU) use to create a Virtual Machine. The Virtual Machine usually needs additional components that are outside of the scope of KVM, such as serial ports, disks, network interfaces, BIOS which the VMM emulates. In the case of Firecracker, the emulation layer is much simplified and doesn't necessarily aim to replicate a real machine (QEMU sort of does), but one that has the bare minimum to function. This is done so that it's faster to boot and uses less resources overall. I'm not sure this answers your questions exactly, there are good reasons to sometimes use a more faithful emulation of a real machine, but it's also sort of legacy for many of the cloud use cases like multi-tenant architectures, where VMs are mainly used to keep hard boundaries between customers.