The H2020 UNICORE project (EC GA no. 825377) is developing tools to enable lightweight VM development to be as easy as compiling an app for an existing OS, thus unleashing the use of next generation of cloud computing services and technologies. With UNICORE toolchains for unikernels, software developers will be able to easily build and quickly deploy lightweight virtual machines starting from existing applications.
Unikernels are the smallest lightweight VMs one can create: they are VMs where there is no traditional operating system running underneath the application; instead, the application is compiled against bits of OS functionality that it needs, resulting in a very small app+OS bundle. Many unikernels have been developed already such as ClickOS, MiniCache, Mirage, Minipython, Solo5, OSv, Erlang on Xen, HalVM; they all offer great performance and low memory footprint for their chosen task.
Despite their advantages, developing applications with unikernels is a manual process today requiring significant expert resources, which prevents them from being widely used by the software industry. We plan to enable standard developers and dev-ops engineers to create, maintain and deploy unikernels with ease by developing an open-source toolchain that will enable secure and portable unikernel development.