Time Provisioning Evaluation of KVM, Docker and Unikernels in a Cloud Platform

Unikernels are a promising alternative for application deployment in cloud platforms. They comprise a very small footprint, providing better deployment agility and portability among virtualization platforms. Similar to Linux containers, they are a lightweight alternative for deploying distributed applications based on microservices. However, the comparison of unikernels with other virtualization options regarding the concurrent provisioning of instances, as in the case of microservices-based applications, is still lacking. This paper provides an evaluation of KVM (Virtual Machines), Docker (Containers), and OSv (Unikernel), when provisioning multiple instances concurrently in an OpenStack cloud platform. We confirmed that OSv outperforms the other options and also identified opportunities for optimization.

[1]  Toshio Nakatani,et al.  Performance variations of two open-source cloud platforms , 2010, IEEE International Symposium on Workload Characterization (IISWC'10).

[2]  Don Marti,et al.  OSv - Optimizing the Operating System for Virtual Machines , 2014, USENIX Annual Technical Conference.

[3]  Gerald J. Popek,et al.  Formal requirements for virtualizable third generation architectures , 1974, SOSP '73.

[4]  Stefania Costache,et al.  Scaling VM Deployment in an Open Source Cloud Stack , 2015, ScienceCloud@HPDC.

[5]  Jon Crowcroft,et al.  Unikernels: library operating systems for the cloud , 2013, ASPLOS '13.

[6]  Stefano Avallone,et al.  On the Evaluation of VM Provisioning Time in Cloud Platforms for Mission-Critical Infrastructures , 2014, 2014 14th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing.

[7]  Stavros Passas,et al.  Copy On Write Based File Systems Performance Analysis And Implementation , 2010 .

[8]  Ming Mao,et al.  A Performance Study on the VM Startup Time in the Cloud , 2012, 2012 IEEE Fifth International Conference on Cloud Computing.