4 ms·
The main reason I've found is that very few people/organizations have focused on making it a first class citizen. A weekend hacker or two might work for a new w
by eyberg 7y ago
The main reason I've found is that very few people/organizations have focused on making it a first class citizen. A weekend hacker or two might work for a new web framework but unikernels involve entire operating system development. To compare - linux has been around for ~ 30 years.
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)