paper

Unikernels: Library Operating Systems for the Cloud

  • Authors:

📜 Abstract

This paper introduces the notion of a unikernel: a specialized, single-address-space machine image constructed by combining application code with a minimal set of operating system libraries. To exploit this concept, we describe a uniform programming model for building such systems that leads to competitive network services and complex application suites. We demonstrate through working prototypes (based on the Xen hypervisor and the OCaml language) useful for (amongst others) a key-value store, HTTP processing, DNS resolver, OpenFlow controller and a mail transport agent. The result is code size 1–2 orders of magnitude smaller, and with a correspondingly significant reduction in attack surface, to existing deployed solutions.

✨ Summary

This paper presents the concept of unikernels, which are specialized single-address-space images that bundle application code with minimal operating system components. The research demonstrates the development of unikernels using the OCaml language and the Xen hypervisor, resulting in compact, efficient systems that maintain security by minimizing attack surfaces. Practical implementations included key-value stores, HTTP services, and DNS resolvers among others.

The paper has significantly influenced the field of cloud computing and systems by proposing a lightweight solution for running applications. Unikernels are particularly relevant in scenarios that demand security and performance, as they reduce the complexity and resource footprint compared to traditional virtual machines.

Subsequent research has explored further optimizations and applications of the unikernel model, impacting areas like serverless computing and microservices architecture by providing performance improvements and security benefits. This paper has been referenced in later studies and initiatives aiming at optimizing cloud infrastructures and services. Notable references to this work can be seen in the following papers and projects:

  • Koller, R., & Williams, D. (2017). Will serverless computing become a reality?. Proceedings of the ACM Symposium on Cloud Computing, DOI: 10.1145/3127479.3131601
  • Boettiger, C. (2015). An introduction to Docker for reproducible research. ACM SIGOPS Operating Systems Review, 49(1), DOI: 10.1145/2723872.2723882