Rawpixel - Fotolia
Docker container technology has taken the cloud and application development world by storm since it was open-sourced a little over a year ago, offering a low-overhead way to package and deploy applications across a variety of Linux instances. VMware took notice, announcing at VMworld 2014 its partnership with Docker, Google and Pivotal to integrate containers and virtualization. But enterprise IT, where traditional server virtualization is pervasive and entrenched, has little use for the technology. Or does it?
Proponents of the technology maintain that Docker and its underlying Linux Containers (LXC) technology suffer from much less CPU and storage overhead than traditional hypervisors, therefore providing better performance and greater consolidation. Boden Russell, an advisory software engineer with IBM Global Services, benchmarked OpenStack running on KVM against Docker and LXC and found that Docker either outperformed KVM by a wide margin, or was at least comparable.
That led him to conclude that "traditional VMs will become the 'edge case' moving forward."
While some enterprises could replace existing virtualization technology with Docker, a more likely scenario is that they will use it to augment what they already have, said Scott Johnston, Docker's senior vice president of products. They could run Docker alongside a VMware environment, for example, or deploy Docker containers within a VMware VM, to maintain management consistency.
"Enterprises are interested in the agility aspects of Docker, but they're really interested in compressing their data center footprint and reduced licensing," he said. Tests like Russell's suggest that it's possible to run 10 Linux containers in a single VM. "Where you had 10 VMs before, you could have 100 containers."
But the strength of Docker -- and containers in general -- is its weakness, especially in heterogeneous enterprise environments. Docker's low overhead and reduced storage footprint comes from not having to include a copy of the operating system for each containerized application. In turn, that limits Docker to Linux instances that support LXC. In other words, if you want to use Docker to containerize a Windows application, you're out of luck.
There are other compelling use cases for traditional virtualization, Russell writes, such as instances where LXC is not supported on the host and cases where "the VM requires a unique kernel setup which is not applicable to other VMs on the host." So while Docker is fast, easy to use and largely free, it's not right for everyone.
Software engineer reflects on her experience with Docker
Docker container performance and security a hot topic