Container Virtualization versus Hypervisor Virtualization

By: Morpheus Data

The goal: combine the speed and small footprint of containers with the proven track record of hypervisor VMs.

TL;DR: Containers are taking the virtualization world by storm, but most analysts see the technology complementing and integrating with the traditional hypervisor virtual machine model rather than replacing it. The first steps are already being taken to merge the performance benefits of containers with the manageability and security of hypervisor VMs.

With the possible exception of Hollywood, there’s no hype like tech hype. And lately much of the tech hype has centered on containers, which many pundits and press types praise as the cure for everything from server overload to psoriasis.

Eventually all the hot air surrounding container technology will blow away and IT will be left with an innovative approach to server virtualization that blends with rather than replaces existing methods. Even though containers have been around since before the 2011 introduction of the open-source Docker technology (now seen as a milestone in the industry), containers’ impact on cloud services in particular is expected to continue to rise at a steep trajectory.

Where does that leave hypervisor-based virtual machines? As evident by VMWare’s recent release of VSphere 6.0, the more traditional virtualization architecture still has plenty to offer. Silicon Angle’s Maria Deutscher reports in a February 10, 2015, article that the new version’s long-distance migration option allows managers to relocate instances thousands of miles away without having to take them offline.

In addition, VSphere’s cloning function reduces the amount of data that needs to travel across the network. Launch times are cut from minutes to seconds because fewer duplicate files are required to initialize. That’s especially important because a big edge for containers over hypervisor VMs is that containers are faster and require much less overhead.

As Linux Journal‘s David Strauss explains in an article from June 2013, each VM requires its own operating system image in the hypervisor model, while multiple containers run within a single OS, in addition to sharing other binary and library resources. With hypervisor VMs, you often need more memory and disk space for the OS than you do for the application it’s hosting.

Containers (the model at right) reduce virtualization overhead compared to hypervisors (shown on the left) by sharing OS, binaries, and libraries among instances. Source: Linux Journal

Container performance improvements come with caveats

Containers’ smaller server footprint can more than double the number of instances each server can run. However, as TechTarget’s Jim O’Reilly points out in a February 2015 article, doubling the number of instances also doubles the server’s I/O load. O’Reilly cites a study conducted by IBM Research that found containers outperform hypervisors 2:1 in LINPACK benchmarks, including random disk reads and writes, and SQL performance with local solid state drives.

While hypervisor VMs allow provisioning without any hardware deployment, containers eliminate the need for OS deployment and boot-up. Source: Linux Journal

Despite containers’ performance advantages over hypervisor VMs, some analysts caution that VMs remain the best choice in public-cloud, multi-tenant environments. Tom Nolle states in a December 2014 TechTarget article that the VM boundary makes it more difficult for hackers to attack adjacent applications than with separate containers. Also, it’s more difficult to prevent one container from hogging resourced needed by neighboring containers.

Nolle envisions containers running inside VMs, which is the goal of the recent alliance between Docker and VMWare, as reported by Datamation’s James Maguire in an August 28, 2014, article. Nolle anticipates that both technologies will benefit from such a symbiotic relationship.

One way to ensure peak performance for your databases is by using the new Morpheus Virtual Appliance. With the Morpheus database-as-a-service (DBaaS) you can provision, deploy, and monitor your MongoDB, Redis, MySQL, and ElasticSearch databases from a single point-and-click console. Morpheus lets you work with SQL, NoSQL, and in-memory databases across hybrid clouds in just minutes. Each database instance you create includes a free full replica set for built-in fault tolerance and fail over.

In addition, the service allows you to migrate existing databases from a private cloud to the public cloud, or from public to private. A new instance of the same database type is created in the other cloud, and real-time replication keeps the two databases in sync.Visit the Morpheus site for pricing information and to create a free account.