top | item 30170377

(no title)

petree | 4 years ago

Firecracker 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.

discuss

order

No comments yet.