Container technology has taken the cloud market by force, as providers continue to embrace Docker, CoreOS and others that enter the mix. But before including containers in your cloud strategy, it's essential to understand how the technology works and if it meets your organization's needs.
Containers offer an alternative approach to server virtualization. To deploy containers, first install a host operating system (OS), rather than a hypervisor. Then, install a virtualization layer as an application that runs on the underlying operating system. The virtualization layer creates isolated guest virtual machines (VMs), called containers. Each container can run its own application -- or copies of the same application -- but all containers share the same single OS kernel.
Dependence on a single OS can make container-based virtualization less versatile than conventional hypervisor-based virtualization. For example, because containers must move to servers with compatible OS kernels, migrating containers requires more thought and planning. On the other hand, traditional VMs can migrate almost anywhere with a suitable hypervisor, regardless of the OS.
However, because containers share a single OS kernel, they can lower OS licensing costs, boost performance and remove the memory and processor resources needed to run multiple OS versions.
Container technology can benefit cloud environments in a variety of ways. Compared to heavyweight VMs, containers are lightweight componentized environments that allow applications to move between clouds without needing major rework. Containers accommodate platform differences, rather than the applications running in them, which benefits DevOps and software developers.
In addition, containers reduce the redundant resources each virtual instance needs, allowing the same server to host more containers than comparable VMs -- which significantly improves cloud scalability and performance.
So, are containers right for your organization and cloud strategy? Containers are ideal for environments that demand scale and share key components. For example, if you need to spin up and deploy 100 copies of the same workload and OS, it's far more efficient and cost-effective to use containers than traditional hypervisor-based VMs.
Data centers that demand optimum workload versatility and independence will remain with hypervisor-based VMs. However, the two approaches are not mutually exclusive. Both approaches can coexist to fill specific business computing needs. Container technology is certainly worth enterprise consideration.
Stephen J. Bigelow is the senior technology editor of the Data Center and Virtualization Media Group. He can be reached at firstname.lastname@example.org.
Getting to know container-based virtualization
Wading through AWS and Docker containers hoopla
Red Hat's Linux containers go beyond Docker
Inherent security problems with containers