Google has underlined its support for the newly emerging Docker container technology, releasing a number of new tools to help users make the most of the open-source virtualization software.
"We've discovered that running containers, instead of running on bare metal using traditional software management technologies, offers us some very strong advantages," said Craig McLuckie, Google product manager.
Google itself runs about 2 billion containers to manage all of its Internet services, ranging from Gmail to the company's core search service.
For Google, containers offer a very high level of "resource isolation," McLuckie said, which ensures that an application running on a server doesn't get slowed down by other applications running on that same server.
Because of this resource isolation, containers offer very high levels of predictability and quality of service. "Low-priority jobs won't interfere with high-priority jobs and high-priority jobs will always have enough resources to function," McLuckie said.
One of them is Kubernetes, an open-source container manager for running containers across multiple servers, allowing the applications within containers to communicate amongst themselves and with the outside world.
It has also released an open-source tool that captures fine-grain statistics on resource usage for containers. Called cAdvisor, it tracks metrics in real time and saves them as records.
The company is also expanding its own Docker cloud services. Last month, Google started offering managed instances of Docker, in preview mode, as a service from the Google Compute Engine, the Google infrastructure service. Organizations could spin up Docker images on Google and then fill them with their own applications.
Now, Google is also offering to run containers on the company's Google App Engine platform service. This lets developers create their own containers and fill them with their applications, and then upload them to Google to run.
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.