Brussels / 3 & 4 February 2024


A Modular Approach to Effortless and Dependency-Aware Unikernel Building

One of the key aspects of Unikernels is modularity: each component can be considered a standalone library that users selectively incorporate into their Unikernel. This design flexibility empowers users to create minimal and specialized images tailored for individual applications. Despite the advantageous compartmentalization, the process of building a Unikernel remains monolithic. Users must download the Unikernel framework, along with any external dependencies, and engage in a build-from-scratch procedure, even with minimal code changes.

We propose Bunny, a novel build system that aims to simplify the process of building Unikernels. Bunny creates an alternative build process, making full use of the modular aspect of Unikernels. We structure Bunny using a layered approach, where each component represents a distinct layer. Users do not need to build each component from scratch; instead, each respective layer is fetched and can be used to produce the resulting Unikernel image. Moreover, Bunny keeps track of all the dependencies for each component, relieving users from the pain of manually identifying and building all the dependencies.


Photo of Charalampos Mainas Charalampos Mainas
Photo of Anastassios Nanos Anastassios Nanos