Virtualization solutions based on hypervisors or containers are enabling technologies
for scalable, flexible, and cost-effective resource sharing. As the fundamental
limitations of each technology are yet to be understood, they need to be regularly
reevaluated to better understand the trade-off provided by latest technological advances.
This paper presents an in-depth quantitative analysis of virtualization
overheads in these two groups of systems and their gaps relative to native environments
based on a diverse set of workloads that stress CPU, memory, storage,
and networking resources. KVM and XEN are used to represent hypervisor-based
virtualization, and LXC and Docker for container-based platforms. The systems
were evaluated with respect to several cloud resource management dimensions including
performance, isolation, resource usage, energy efficiency, start-up time,
and density. Our study is useful both to practitioners to understand the current
state of the technology in order to make the right decision in the selection, operation
and/or design of platforms and to scholars to illustrate how these technologies
evolved over time.