What Is Containerization, and How Is It Changing Virtualization?
The necessity for running applications on different platforms has long posed a challenge for IT developers, and this issue was initially addressed by the development of virtual machines (VMs) to enable multiple operating systems (OSs) on a single server.
VMs run upon the host hardware of a computer to create an emulation of a different computer or device. A “system virtual machine” provides full virtualization as a substitute for the physical machine, facilitating the operation of an entirely different OS with full functionality. The hypervisor, or virtual machine monitor, which allows the host computer to operate one or more virtual machines, may consist of computer software, firmware, or (more recently) utilize virtualization-specific hardware. Hypervisor-based virtualization abstracts the guest OS and its applications from the host hardware, in effect isolating the VM. The result allows greater mobility, an avoidance of the migration difficulties involved in reconfiguring a VM to another server. It also allows a developer working on a PC to test his applications against emulations of other types of devices such as a smartphone. The operating system in a VM can be different from the host OS because the hypervisor facilitates their integration.
However, there is an alternative to VMs that has been growing in popularity for the last few years, and that is “Container-Based Virtualization.” Containers are different from VMs in that they don't emulate hardware, but extend processes that are already running on the host system. Containers package only what is required to run an application, bundling the libraries and settings, but not the full OS, as in the case of as system virtual machine. Unlike VMs running on a hypervisor-based model, container virtualization utilizes the hardware of the host system. Since an application running in a container directly communicates with the host kernel, it must be compatible with the host CPU architecture. This compatibility combined with the freedom from booting up a completely new OS allows containers to start very quickly, often within a few milliseconds, and work with greater efficiency that VMs. This efficiency is desirable for those in search of faster, cheaper computing. The CPU of an older model x86 server used approximately 10-15 percent of its processing power, but virtualized servers can increase that to 50 or even 60 percent. Containers may yet push that higher.
VMs vs. Containers
Containers are also “lightweight,” meaning that hundreds of even thousands can be loaded onto the host machine, each container running an application with its own minimal OS resources. Running a similar number of applications on a single, “system virtual machine,” in the usual manner would require that they share compatibility with the same OS. An Information Week article contrasts aspects of Container Virtualization with VMs, saying:
“Both containers and virtual machines are highly portable, but in different ways. For virtual machines, the portability is between systems running the same hypervisor. Containers don't need a hypervisor, since they're bound to a certain version of an operating system. But an application in a container can move wherever there's a copy of that operating system available.”
Containers benefit by standardizing the way applications are formatted and placed inside it. This makes it easier for developers; they are able to use the same tools and methods regardless of the OS that is targeted for the container and application. Inside the container, each application runs on the network in the same manner, much as VMs do.
Ideally, containers make life easier for IT teams, and have been welcomed as a result. By lessening what has to be virtualized, containers require less “baggage” to move than VMs. With applications in containers, developers have less complexity to worry about and can develop software more easily. However, containers are a younger and less mature technology than VMs. Though their upside is remarkably high, their potential to become a security disaster may be even greater, and must be taken into consideration for get the full picture of this exciting technology.
Tame the Ever-Increasing Flow of Information
InfoDesk has created the world’s smartest platform for managing and sharing information. With our comprehensive solutions, you can bring all your information together, filter and select relevant content, and deliver the right intelligence to the right people. InfoDesk has been providing actionable intelligence to multinational corporations, government agencies and other organizations since 1999. InfoDesk is based in New York with offices in London, Washington, DC and India. Learn more about InfoDesk.