This document discusses unikernels and provides an overview of the topic. It begins by defining unikernels as single-process applications built with only the necessary OS components, making them small, fast-booting, and potentially more secure. It then explores why unikernels are needed as an alternative to bulky general-purpose OSes. The document outlines several domains where unikernels may be useful, including cloud computing, NFV, IoT, and HPC. It also summarizes the main unikernel implementations like MirageOS, OSv, and Rumprun, as well as related tooling projects. Finally, it speculates on the relationship between unikernels and containers