Mainstreaming Unikernels

Unikernel Systems was founded in 2015 to explore commercial exploitation of MirageOS and related unikernel software; its acquisition by Docker was announced in January 2016.

Research on MirageOS began with funding from Horizon [1] in 2009, a collaboration between the Systems Research Group at the Cambridge University Computer Lab, and the Horizon Digital Economy Research Institute at The University of Nottingham. The mission was to build a portable, lightweight and secure runtime to underpin the original concept of the individually owned Personal Data Store, capable of running everywhere from the cloud to your smartphone. The original ideas are detailed in the USENIX HotCloud’10 publication “Turning Down the LAMP: Software Specialisation for the Cloud” (paper, presentation).

Latterly, it has found use in a wide range of projects from personal information management systems to platforms for middleboxes, and ongoing development of MirageOS has been further supported through the Trilogy2 [2], User Centric Networking [3], and the Networks-as-a-Service [4] projects, as well as finding funding from commercial sponsors.

By 2015, the technology developed through this research had matured to the point that the next logical step was to found a company to explore commercial exploitation. As a result, a core group of those then working on MirageOS together with like minded people working on Rumpkernel and Rumprun formed Unikernel Systems. The mission was “rethink cloud infrastructure”.

With the pace of development accelerating and the unikernel community more broadly experiencing explosive growth, interest began to grow in more mainstream areas of the industry. When Docker approached, the team unanimously felt that working in partnership with Docker was the most effective way to realise the enormous potential of unikernels, and to further accelerate their uptake.

We wish them all the best for the future…

monolithic_versus_unikernel (1)

[1]: RCUK Horizon Digital Economy Research Hub Grant, EP/G065802/1

[2]: EU Framework Programme FP7/2007-2013, grant agreement 317756

[3]: EU Framework Programme FP7/2007-2013, grant agreement 611001

[4]: EPSRC Networks-as-a-Service, EP/K031724/2