Ask HN: Why unikernels are not more popular?
I wondering what are the pros and cons? How does they relate to micro kernels?
I wondering what are the pros and cons? How does they relate to micro kernels?
This is something we are focused on at NanoVMs. (yes, I work there).
As for the other questions - unikernels descend from the microkernel family tree and some implementations (ours included) blur that line considerably. Andrew Tanenbaum was right. :)
Pros:
* many are much faster than comparable linux applications for boot and runtime (NEC can boot theirs in 5ms - fork takes ~3ms, docker containers boot in ~200ms)
* many are dramatically more secure (ours has the same aslr/page protections as linux does yet also doesn't have the notion of a shell, users or the ability to run other processes)
* if you have your own infrastructure you can massively consolidate your vms (this is a big benefit but you won't get this on public cloud)
Cons:
* in the past you had to manually port your application (this was too much to ask a user for) -- this is changing in many different implementations
* there are some hard constraints (eg: single process) for a lot of implementations (for instance postgres would need to be re-written)
The Unikernel idea is one of the better ones. I've thought a lot about what an async-first operating system would look like and it is hard to picture, particularly when virtual memory is a fundamentally blocking abstraction.
https://nanovms.com/blog/common-unikernel-debugging-myths-de...
https://www.nccgroup.trust/us/about-us/newsroom-and-events/b...
https://www.linux.com/blog/event/xen-summit/2017/9/uniprof-t...
https://github.com/rumpkernel/wiki/wiki/Howto:-Debugging-Rum...