Docker is a hot topic this week. If you’re unfamiliar with what this technology is or what it means for your business, here’s a guide.
What is it?
Docker is both an open source project and the name of a startup that focuses on Linux Containers. Containers are the idea of running multiple applications on a single host. It’s similar to compute virtualization, but instead of virtualizing a server to create multiple operating systems, containers offer a more lightweight alternative by essentially virtualizing the operating system, allowing multiple workloads to run on a single host.
Why all the hype?
Docker the company has released the 1.0 version of its product this week (read more about the 1.0 release here), and in conjunction with doing so is hosting an event named DockerCon. Docker Founder and CTO Solomon Hykes said the open source Docker project has been downloaded (for free) more than 2.75 million times and more than 460 contributors helped create this version. Docker has built up partners to support its product and service providers are jumping on board to offer Docker services.
+MORE AT NETWORK WORLD: Six Docker services making serious waves +
Where did containers come from?
Containers, and specifically Linux containers, are not new. Tech giants such as Oracle, HP and IBM have been using containers for decades. In recent years, though, the open source project Docker has gained popularity as an alternative, or complement to virtualization. Recognizing a market opportunity to provide support around the open source project, a company named dotcloud was formed, but was renamed Docker. In January the company received a Series B funding round worth $15 million, led by Greylock Partners. Red Hat has committed a major investment in the company as well. (Read more about Red Hat’s work with Docker here.)
+ MORE FROM NETWORK WORLD: 12 cloud computing companies worth watching +
How do they work?
The open source project has two major aspects: cgroups, or Control Groups, which define the compute, memory and disk i/o that a workload needs; and namesakes, which isolate and separate each of the workloads.
Docker the commercial product has two major components as well: Docker Engine, which is the core software platform that enables users to create and use containers; and Docker Hub, a SaaS-based service for creating and sharing Docker services. With the release of the 1.0 version and Docker Hub, the company says it has more than 14,000 applications that can be used with its containers.
Are containers a VM killer?
Writes tech blogger Scott Lowe. “Containers, on the other hand, generally offer less isolation but lower overhead through sharing certain portions of the host kernel and operating system instance.” Containers are an attractive option for environments where there is only a single operating system, whereas virtual machines and hypervisors can be useful if there is a need to run multiple OSs in an environment. VMs are not going away, but containers could offer a better way to run certain applications instead of virtualization. (Read more about how containers can replace VMs here.)
What are they used for?
One of the major benefits of containers is portability. Containers can run on top of virtual machines, or bare metal servers. They can run on-premises or in the cloud. This has made one of the earliest popular use cases of containers be around software development. Coders can write applications, place it in a container, and then the application can be moved across various environments, as it is encapsulated inside the container.
How much does it cost?
Who else is involved?
With all the buzz around Docker, many tech companies are looking to get in on the action. Docker is building up its partnerships, too. The commercial version of Docker comes with support from the company, and integrations with a variety of other software platforms, including Linux distros from Red Hat, SuSE and Ubuntu, and other services like scheduling tools such as Puppet, Chef, Ansible and Jenkins.
Other service provider vendors are enabling Docker on their platforms. Rackspace CTO John Engates, for example, wrote a blog post this week saying that initially he and the cloud hosting company were not terribly impressed with Docker. But then after customers started using it and asking for Rackspace to support it, the company was “pulled” into the community, Engates says. Now, they’re converts; Engates calls containerization “next generation virtualization.”
Rackspace is using Docker to test and deploy new applications in various environments; it’s even using containers in networking, because it allows for multi-tenancy of software-based load balancers. The biggest impact though, he says, could be the way containers could usher in an era of portability of workloads across environments. “Docker could provide the abstraction that makes swapping workloads between clouds possible. They don’t have to be OpenStack clouds either. OS-level virtualization makes the application agnostic to the underlying infrastructure. Docker could enable spot markets for cloud computing and the ability for users to find a best-fit solution for their needs.”
He goes on to list some of the ways users can get involved in the Docker community if they’re interested.