A Performance and Storage Evaluation of Lightweight Containerization with NixOS
Current solutions for software deployment in cloud computing and high performance computing (HPC) incur a significant amount of storage overhead in order to allow scalability while guaranteeing reproducibility. Containerization, the most popular approach in industry, duplicates components of the operating system, while unikernels, a more recent approach for deploying microservices, duplicate the kernel. This thesis presents a performance evaluation of NixOS containerization, a lightweight containerization option which uses dependency graphs to eliminate duplication of libraries. NixOS containers matched or exceeded the performance of traditional containers and unikernels while reducing container size by up to 90%.