The hottest topic in the land of open source these days is the emergence of lightweight containers running on Linux as an alternative to virtual machines.
Containers essentially split operating systems into two components. The lower level manages traditional operating system functions such as systems resources. The upper level provides a portable set of run-time engines where application images are managed.
Because containers wind up consuming fewer system resources than a virtual machine running a guest operating system, interest in containers among cloud service providers is especially high.
With the formal release this week of the Docker 1.0 open source container technology running on Red Hat Enterprise Linux (RHEL) 7 that debate is about to get pretty heated.
While containers allow IT service provider to increase server utilization, they only run on Linux. But if a cloud service providers don’t have much use for Windows, it turns out that many of them can lower their costs and - if they so choose - pricing, as much as 50 percent using containers instead of virtual machines.
To make it easier to deploy and manage containers Docker, Inc., the commercial entity that developed Docker containers, has unfurled Docker Hub, a cloud service for storing container-based workflow and other related content, in addition to unveiling a Docker Enterprise Support program.
Scott Johnston, senior vice president of product at Docker, says the decision to use containers versus virtual machines can be highly nuanced. If the application is stateless it generally lends itself better to a container. Stateful applications running on a database would generally be better suited to run on a virtual machine.
However, Johnston notes that it is possible to run containers on top of a guest operating system that would be running on top of a virtual machine to achieve the best of both. In fact, Docker plans to bring containers to Windows and Macintosh environment by inserting a micro kernel of an instance on Linux that would then allow containers to run on those platforms in addition to Linux.
Meanwhile, Red Hat is providing support for containers running on RHEL 7. Generally available this week, Red Hat has been beta testing Docker containers with hundreds of customers for months.
Mark Coggin, senior director of product marketing, says containers are ideally suited for lightweight applications that have a short life span, but may need to suddenly scale out. In contrast, Coggin says virtual machines based on, for example, the Kernel-based Virtual Machine (KVM) software from Red Hat, are better suited for larger applications that are going to be consistently running.
From an IT service provider perspective both Docker and KVM provide a free alternative to commercial virtual machine that can be very expensive to deploy at scale.
Containers, of course, have been around for quite some time. But with the rise of LXC application programming interfaces they’ve become a lot easier to manage and control.
Naturally, proponents of virtual machines are hard at work developing lighter-weight versions of virtual machines. It’s not likely that containers will completely replace virtual machines. But the one thing that is for certain is that IT service providers are about to see a lot more of them.