Docker is an open-source platform consisting of a portable, lightweight runtime engine and packaging tool that enables IT to quickly ship and run applications, unchanged, on developers' laptops--testing or production environments. As well described by Docker's founder and CEO, other than the obvious technical benefits, the real value of Docker is “getting people to agree on something”.
Earlier this month Docker released its highly anticipated, production ready, version 1.0, right on time for its first annual Dockercon conference in San Francisco. That milestone came 15 months after the first release and it means much more than just a number.
Cgroups , namespaces and process isolation have been around for years in Linux, and still, container technology never got enough traction to challenge Virtual Machine's place in the hearts and minds of developers and sysadmins. Docker, in a little over a year, was able to challenge the status quo, and put Linux containers in the spotlight as well as actually running at production level.
Google’s announcement during Dockercon that they will start supporting Docker images within Google App Engine comes as no surprise. A few months earlier, Google had embraced Docker support on its IaaS Cloud Engine offering, signalling the intent of the company to expand its expertise on efficient containerization of resources to the public, and, with that, differentiate itself from competing PaaS offerings.
The value proposition Google is trying to present to its Cloud Platform clients with Docker is heavily based on its own operational skills in dealing with resource allocation on its massive datacenters around the globe. In order to drive operational efficiency, Google has been using Linux lightweight containers for a long time to optimize resource utilization on its servers, and much of Google’s work on container technology has been contributed back to Docker.
Docker on App Engine allows developers to access a vast library of pre-built Docker images available on Docker’s Hub Service, or bring their custom images. Docker images will be available through Google’s Managed VMs functionality, which fixes the most common problem with PaaS: running applications that depend on services not natively supported by the platform.
Alongside with the Docker support, Google also released to the public an open-source container manager called Kubernetes, which sure looks a lot like a consumer version of their own internal Omega scheduler. Kubernetes enables containers to be easily deployed to maximize server utilization and moved around to provide resiliency to server failures. In the end cloud users benefit from lower monthly bills due to better resource utilization, leading to fewer instances being needed to carry on their businesses.
With the roll out of Docker Engine 1.0 and strong support from big names like Google, Amazon and Red Hat, Docker has rapidly grown beyond the experimental label and conquered the ready-for-production status that is important for many companies. Not convinced? Check this list of organization already using Docker in production:
It looks like I’m not the only one who's eager to test how Docker will behave on App Engine. The interest in the beta access was so overwhelming they had to close the sign-up form. You can still put your name on the waitlist here though.