This content is part of the Essential Guide: An essential guide to software container usability and management

It's containers vs. VMs, but enterprises don't always have to choose

Hardcore advocates for application containers may trumpet the advantages of using containers over VMs. But more often than not, reality requires a combination of the two.

There have been numerous debates concerning the value of using application container software such as Docker over virtual machines. But does this mean that the goal of containers is to wipe out VMs?

Not necessarily so. Docker representatives have stated that the company does not wish to directly compete with virtualization vendors and does not have any public plans to do so. And even though enterprises are using containers to achieve what they have traditionally tried to do with virtual machines -- that is, carve up server hardware into smaller pieces and increase efficiency of application deployment -- the existing relationship between containers and VMs in the enterprise should not necessarily be a hostile one, but a changing one.

But how exactly does that relationship play out in reality among enterprise users? Jay Lyman, a principal analyst at 451 Research, sees a bit of diversity in how enterprises are answering the containers vs. VMs debate. And many of those companies are still finding out what type of container to VM ratio works best for them.

"There are a lot of people figuring out how containers fit with VMs," Lyman said. "You have some people saying that containers are going to wipe out VMs and they will be no more. People like me say that VMs … aren't going to go away quickly or easily -- we still have a case where VMs have a lot of utility, and, in fact, set the bar for containers."

Multi-tenant security and data persistence issues

We still have a case where VMs have a lot of utility, and, in fact, set the bar for containers.
Jay Lymanprincipal analyst, 451 Research

According to Lyman, there are still a couple critical issues that may lean positively toward VMs in the containers vs. VMs debate: data persistence and multi-tenant security. He said he gets a lot of questions from users asking about how containers compare to VMs when it comes to multi-tenant security. His answer is not necessarily positive, but hopeful.

"It's sort of like the data persistence question -- it's not quite there yet, but there are a lot of folks working on it," Lyman said. "There will be data persistence for container applications. And the same thing for multi-tenant security -- there are a number of startups focused on solving that problem."

However, Lyman was quick to note that the data persistence and multi-tenant security issues surrounding containers is not a flaw with the application container technology itself. Rather, he said, it is a result of the fact that containers simply haven't had tenancy in the enterprise long enough for the tooling and the containers themselves to mature in terms of those data and security needs.

Containers in VMs: A common enterprise reality

One thing Lyman said commonly occurs in the enterprise is the practice of running containers on top of or alongside VMs. He admitted this may seem to run counter to the philosophy of implementing containers, but it allows organizations the freedom to leverage containers while still keeping things like security and critical processes in place.

"That sounds sort of counterintuitive to the new, cool kids touting containers, but that's sort of the enterprise realty," Lyman said. "They get some of the simplicity, some of the speed, some of the efficiency benefits of containers, and they also get some of this tried-and-true VM process that they're accustomed to."

A simplified breakdown of containers vs. VMs

Lyman said he expects the trend of running containers on top of or alongside containers to continue in a strong way.

The impetus for containers in lieu of VMs

But despite concerns over data persistence and multi-tenant security, Lyman said he still sees plenty of instances where organizations are running containers in place of VMs. This, he said, comes from an organizational impetus driven by the sheer number of containers that can be supported on top of a server as opposed to the number of VMs that can be deployed on those same servers.

"I'm hearing in the enterprise that organizations are putting about a dozen, to maybe a maximum of around three dozen, container applications on a virtual machine," Lyman said. "And if you think about how many containers you could put on top of a [bare metal] server … you could put hundreds, maybe thousands of containers."

Because of this, Lyman predicted that there will be a steady increase in the number of organizations running containers in place of VMs.

Containers vs. VMs: The bottom line

Despite the fact that containers are, theoretically, closer than ever to replacing VMs, Lyman believes that organizations will continue to run containers alongside VMs for a long time. There are still plenty of critical applications, he said, that will require the support of a VM rather than a container due to their complexity as well as data and security requirements.

"There are going to be operations that are more conducive to containers, but there are still going to be some applications … that are still going to best for and run on VMs without containers," Lyman said. "Just as we still have physical servers next to our VMs in the enterprise today, we will still have VMs next to containers in the future."

Next Steps

More on the debate: Docker bare metal vs. VM

Docker use cases trend towards new apps, but what about legacy support?

A brief look at Docker's overnight success

Learn about using containers for legacy migration

Dig Deeper on Application development and management