Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I've been using unikraft (https://unikraft.org/) unikernels for a while and the startup times are quite impressive (easily sub-second for our Rust application).


What drove you to choose that over something like containers?


Yeah, boot time, isolation (proper VM vs containers), and ease of use on a larger Hetzner box.


Did you notice a substantial difference in those factors between more traditional micro VMs that use OCI images (like Firecracker) and unikernels?


shorter cold-boot times.


If we’re talking about cold boot times, wouldn’t the relevant metric for unikernels be the hypervisor’s boot time?


How would that compare with containers running on Firecracker or other virtio-based μVM's?


A unikernel on Firecracker is probably going to start faster than a container on Linux on Firecracker.


I assume they meant using an OCI image for the rootfs of a firecracker VM, not running a container inside a firecracker VM.

Still difficult to see how the unikernel could be slower, but I doubt the difference would be huge? Don't have anything to back that up though.


Fast boot up means nothing if your agent/app is slow at runtime (due to virtualization tax or QEMU emulation). Fast boot up is a PR term, which can easily be optimized for compared to designed a better virtualization layer that performs near-bare-metal.


Wouldn't faster boot times mean that scale-out can be done on-demand? Whether this is preferable or not over poorer runtime performance is up to the domain, no?


When scaling out, edge latency will overshadow kernel boot-up times: speeding up boot-up from 1.5s to 150ms will not have any perceived impact on app performance when scaling on edge to meet the demand.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: