Rump provides kernel-quality drivers for a variety of use-cases from filesystem to PCI device drivers. Because of this, they can be integrated into existing systems or can be run as standalone unikernels on hypervisors.
Since C and C++ (with which Rumprun is built) have no language level isolation, Rumprun doesn't have process isolation either. Because of this, sensitive components have to be split into different nodes, isolated by either different virtual machines or different computers.
Letting developers work closer to the metal also makes them lose a lot of the useful abstractions a normal OS has which are not built for no reason. Considering this, it may not be a good idea to always use MirageOS for deploying an application.
What MirageOS does in simple terms is to provide only the minimal needed for an app to run. It provides only the required network and hardware drivers needed to execute.
Using this approach it minimizes the attack surface for potential hackers since they don't have any shell to log into or any other insecure cruft that other deployment methods, such as full operating systems have.
OSv can run applications written in multiple programming languages and that run on multiple different platforms. Such as Java, C, Ruby, Node and Scala. With support for other languages on the way.
Benchmarks have shown that ClickOS has great performance. It boots quickly (averages at about 20milliseconds) and has very little delay (about 45 microseconds).
Since C and C++ (with which ClickOS is built) have no language level isolation, ClickOS doesn't have process isolation either. Because of this, sensitive components have to be split into different nodes, isolated by either different virtual machines or different computers.
IncludeOS is a very lightweight piece of software, even for Linux standards. It includes a bootloader, OS components and a complete C++ library and it's just 693K when optimized for use. It's even less than 1MB.
Since C and C++ (with which IncludeOS is built) have no language level isolation, IncludeOS doesn't have process isolation either. Because of this, sensitive components have to be split into different nodes, isolated by either different virtual machines or different computers.
What HaLVM does in simple terms is to provide only the minimal needed for an app to run. It provides only the required network and hardware drivers needed to execute.
Using this approach it minimizes the attack surface for potential hackers since they don't have any shell to log into or any other insecure cruft that other deployment methods, such as full operating systems have.
Usually with cutting-edge software the compilation process never really goes as expected. Same is with HaLVM as well.
You may need to install additional libraries that are probably missing or even tweak configurations here and there. So it would be best to avoid this process if you don't feel comfortable enough with compiling from source. So you have to stick with the package manager of choice (if it's available for the particular Linux distro you are using).
LING is highly compatible with Erlang and is able to easily understand .beam files. Developers can write programs in Erlang and easily deploy it to LING unikernels.