The Xen Project today announced the formation of an incubation project called Unikraft. The project is focusing on making it easier to build unikernels, which are compilers that only include the code required for functionality needed by application logic in an operating system.
“Unikernels provide a tremendous opportunity for those who are looking to ship workloads quickly and efficiently with isolation to eliminate security risk, but the complexity of building unikernels have stymied this technology’s time-to-market,” said Felipe Huici, chief researcher of the systems and machine learning group at NEC Laboratories Europe. “Unikraft is on a mission to bring unikernels to market faster through an unified code that is customizable to meet the needs of a wide range of applications, and even runtime-specific unikernels, like MirageOS.”
There are two basic components that aim to make the process of building unikernels with Unikraft more fluid: library pool and a build tool. The library pools acts as building blocks and include architecture libraries, platform libraries, core libraries, and external libraries. Architecture libraries are those that are specific to a specific architecture. Platform libraries allow users to select platforms such as Xen, KVM, bare metal and user-space Linux. Core libraries include components such as drivers, filesystems, memory allocators, schedulers, network stack, runtimes, and debugging and profiling tools. External libraries are ports or standard libs, such as libc and openssl, to the Unikraft system.
The build tool is based on the Linux kconfig system and it is made up of a set of Makefiles that allow users to select and configure libraries and receive warnings whenever library dependencies are not met. Using Unikraft, developers do not have to target a specific platform when they are developing.
“We are seeing a growing trend and interest around unikernels from inside and outside the Xen Project community with commits growing daily from a range of vendors in the embedded, automotive, enterprise application space, and more,” said Lars Kurth, chairperson of the Xen Project. “We look forward to helping incubate this project and furthering collaboration within the unikernel community.”