The concept of container virtualization isn't new, but it's getting attention lately with companies like Red Hat throwing their support behind newcomer Docker and causing some to wonder whether a lightweight container approach may make traditional virtual machines obsolete.
Docker uses the Linux Container utility to package applications into portable, hardware-isolated containers, and will be the primary supported container format for Red Hat Enterprise Linux 7. This week, Amazon Web Services said it would add support for Docker containers to Elastic Beanstalk.
Docker has seen explosive growth since debuting as an open source project last year. Part of the appeal of Docker containers is that they offer a standard to enable application portability across platforms. With traditional Linux Container technology, a container created on one Linux machine may not run as expected on another because the application's configuration is tied to the original platform. Docker's approach packages applications and their dependencies into containers that can be easily moved among different platforms or Linux distributions -- from a developer's laptop to a test environment, for example.
Despite the fact that Docker still doesn't have a 1.0 product approved for production, several companies, including PayPal, Spotify and Rackspace, are experimenting with the software.
"We knew that we were answering a specific need, but the adoption has been totally crazy," said Julien Barbier, senior director of marketing and community at Docker. "Big companies usually tend to wait a long time before using a new technology in production, but since we're the only one solving this problem and the problem is so big, people are adopting us. … That was not expected."
Can the VM be improved?
While a large part of Docker's appeal has been helping developers get their applications from concept to production, the lightweight nature of containers could also appeal to virtualization administrators and cloud providers looking to maximize consolidation. Virtual machines (VMs) ushered in an age of consolidation where servers were better able to utilize computing power. Unlike VMs, containers do not need to run a full version of an operating system, opening the door for a new level of consolidation.
The concept of a VM -- an emulation of a physical server complete with an operating system -- is not the most efficient approach for delivering an application, according to Simon Crosby, CTO of Bromium.
Keith TownsendIT management consultant
"In 10 years, there will still be a puddle of VMs sitting in the enterprise data center, but the prevailing notion of a VM being an operating system and an application will not be there anymore," Crosby said. "What we will see is hardware multi-tenancy for applications."
It's that hardware multi-tenancy that virtualization is really after, Crosby said. A container-based approach, in which applications can run in isolation and without relying on a separate operating system, could save huge amounts of hardware resources.
"Instead of having 100 VMs per server, what if I can give you thousands of hardware-isolated applications?" Crosby said. "And, it's not just about efficiency. I don't want to have to boot an instance of Windows or Linux every time I want a new application. That's just a total waste of time."
Today the VM is a ubiquitous part of most enterprise data centers, but container-based virtualization may make the VM obsolete before too long, Crosby said. Bromium offers a similar container-based approach for desktops that it calls micro-virtualization, but Crosby said his company doesn't have plans to develop a similar product for servers because displacing established hypervisor vendors would be extremely difficult.
While Docker has been garnering most of the attention when it comes to container virtualization, the open source market may be the first step for what could become the data center's next transformative technology, Crosby said. A yet-to-be-developed proprietary container approach might be more likely to make its way into enterprise data centers, where VMware and Microsoft rule. However, cloud providers will likely be the driving force behind a resurgence of containers. A lightweight container approach would be especially appealing to cloud providers because even small efficiency improvements can make a difference in their ability to provide aggressive pricing to customers.
"If one of them does this before the others, that would really translate the odds in their favor," Crosby said. "That said, I still think it will take a while."
More consolidation, more problems
Others are a bit more skeptical on the effect container virtualization will have in the average data center. Consolidation had its advantages -- allowing companies to improve efficiency and save money on hardware -- but it also brought new management challenges. The higher degree of consolidation that containers would enable might help some organizations save money, but could bring problems, said Brian Kirsch, IT architect and instructor at Milwaukee Area Technical College.
"I see container nightmares coming because of the chance of a shared back-end failure causing widespread outages," Kirsch said. "One of the biggest things when you look at the benefits of container-based virtualization is its ability to squeeze more and more things onto a single piece of hardware for cost savings. While that is good for budgets, it is excessively horrible when things go bad. If the idea of doing this was really that solid, Citrix would be the top company in virtualization."
There are still technical limitations to container virtualization. Containers cannot provide a virtual instance of Windows on a Linux server, for example. That's just one of the barriers to an expanded container approach, said Keith Townsend, an IT management consultant.
"There's very little cost driver to get rid of the VM operating system right now. Microsoft is essentially giving away Windows when you buy their data center products," Townsend said. "If it hasn't caught on in past years, I just don't see it happening quickly unless someone creates a simple wrapper, a container platform to rely on. All of the things VMware has done with VMs will have to be replicated."
Rather than entirely replacing VMs, containers are likely to live alongside VMs in many environments. "To say VMs will go away, I think it's too far," Townsend said. "But the reliance on the VM-only approach will go away."
Get an introduction to the world of microservices and container technologies in this essential guide.