Skip to Main content Skip to Navigation
Journal articles

Virtualization Costs: Benchmarking Containers and Virtual Machines Against Bare-Metal

Abstract : DevOps advocates the usage of Virtualization Technologies (VT), such as Virtual Machines and Containers. However, it is complex to predict how the usage of a given VT will impact on the performance of an application. In this paper, we present a collection of reference benchmarks that developers can use to orient when looking for the best-performing VT w.r.t their application profile. To gather our benchmarks in a resource-wise comprehensive and comparable way, we introduce VTmark: a semi-automatic open-source suite that assembles off-the-shelf tools for benchmarking the different resources used by applications (CPU, RAM, etc.). After performing a survey of VTs in the market, we use VTmark to report the benchmarks of 6 of the most widely adopted and popular ones, namely Docker, KVM, Podman, VMWare Workstation, VirtualBox, and Xen. To validate the accuracy of our reference benchmarks, we show how they correlate with the profile performance of a production-grade application ported and deployed on the considered VTs. Beyond our immediate results, VTmark let us shed light on some contradicting findings in the related literature and, by releasing VTmark , we provide DevOps with an open-source, extendable tool to assess the (resource-wise) costs of VTs.
Document type :
Journal articles
Complete list of metadata
Contributor : Saverio Giallorenzo Connect in order to contact the contributor
Submitted on : Wednesday, September 8, 2021 - 12:11:29 PM
Last modification on : Friday, July 8, 2022 - 10:04:28 AM
Long-term archiving on: : Friday, December 10, 2021 - 9:54:15 AM


Files produced by the author(s)




Saverio Giallorenzo, Jacopo Mauro, Martin Gyde Poulsen, Filip Siroky. Virtualization Costs: Benchmarking Containers and Virtual Machines Against Bare-Metal. SN Computer Science, Springer, 2021, 2, ⟨10.1007/s42979-021-00781-8⟩. ⟨hal-03337920⟩



Record views


Files downloads