Google is throwing its weight behind containers, an increasingly popular virtualization technology that can ease the process of spinning up applications in the cloud.
On Thursday, Google previewed a virtual machine for its Google Cloud service based on a popular open-source container technology called Docker. Docker provides a container for an application and its supporting libraries and programs, so that the application can be moved easily from server to server.
Google also added a new Linux distribution, CoreOS, to its roster of Compute Engine VMs. CoreOS is a lightweight Linux distribution designed for running Docker containers in distributed settings.
While containers aren’t new, their use as virtual machines (VMs) is. Google software engineer Joe Beda introduced the concept of container VMs at the GlueCon developer conference this week in Denver.
Like a virtual machine, a Docker container can hold an application, freeing the developer from worrying about writing to the underlying system software. Unlike full virtual machines, though, a Docker container does not include a full OS, but rather shares the OS of its host—in Docker’s case, Linux.
As a result, Docker containers can be faster and less resource-heavy than virtual machines, as long as the user is willing to stick to Linux. A full virtual machine may take several minutes to create and launch, whereas a container can be initiated in seconds. Containers also offer superior performance for the applications they contain, compared to running the application within a virtual machine, which incurs the overhead of running through a hypervisor.
Google itself already runs more than 2 billion containers a week, according to a slide from Beda’s presentation.
Docker, the company named after its technology, has estimated that an application running in a container can go twice as fast as one in a virtual machine. Also, more containers can be packed onto a single server, because the OS is not duplicated for each application.
Though Docker can be run in any virtual Linux environment, Google is among the first major vendors to discuss plans to offer Docker-based VMs as a cloud service. Last month, Amazon Web Services started offering the ability to upload Docker images through its Elastic Beanstalk application hosting service.
In March, Google reinvigorated its marketing efforts around its IaaS (infrastructure-as-a-service) and PaaS (platform-as-a-service) offerings. The container VMs give the company a unique offering in the marketplace, at least for now.
In addition to previewing the container VMs, Google is working to add more supporting infrastructure to the technology. It released as open source the agent that launches and manages the containers. It has also released a suggested format for manifests for the agents that would describe how a set of containers can be run, and is seeking input from other parties for expanding the format for work beyond the Google Cloud Platform.