Kubernetes 1.3, the latest major revision of Google's container cluster management system, debuts today. It's available as an open source project on GitHub and in Google Cloud Platform's Container Engine service.
The new features speak to some of the latest issues involving containers today and Google's long-term plans for a hybrid cloud built with their services.
The united states of Kubernetes
On the face of it, Google can use most of the new features in Kubernetes 1.3 to further boost containers as a service on Google Cloud Platform. According to a draft copy of the blog discussing Kubernetes 1.3, most of the additions were driven by requests from businesses using Kubernetes in production. Among them is a higher number of nodes available in a cluster (it's now a maximum of 2,000); the ability to deploy services across availability zones, both on-prem and off; and easier support for stateful applications out of the box.
The container world has been looking more toward stateful application support as its fundamentals become established. Containers are immutable by default, but applications within containers depend on state to be useful, and data volume containers aren't a complete solution.
Projects like CoreOS's Torus and now Kubernetes and its PetSet methodology attempt to elegantly handle state. Kubernetes' functionality in this vein is still early stage, butthe long-term plan is to offer more robust handling of stateful services than competing projects like Apache Zookeeper.
Another key addition of growing importance in the container world is alpha-level support for systems with Nvidia GPUs. Apps, especially big data or numerical analysis apps, leverage GPU acceleration more readily now, and support for GPU-enabled apps in containers is getting a lift thanks to Nvidiaproviding a Docker plugin.
Deploying across availability zones, also described in the Kubernetes blog as "cross-cluster federation," means that services on Kubernetes can be run in clusters that live on machines hosted in more than one physical location -- in other words, a hybrid cloud.
This is another indirect nod by Google (or, at least, Kubernetes) toward creating a hybrid cloud that's built almost entirely out of open components. If an organization uses Kubernetes to organize its clusters, then it could in theory use Google Cloud Platform's support to have its public cloud cluster nodes hosted on GCP while keeping as many others in-house as needed.
This stands in contrast to Red Hat's vision of an open source hybrid cloud. In Red Hat's world, you run a single unifying PaaS with native container support -- such as OpenShift -- both locally and remotely. Technologies like Kubernetes ride on top of OpenShift and are partly abstracted away.
Red Hat and Google might end competing most fiercely over deployment, not technology. Both sell managed versions of their respective platforms, with Google making Kubernetes consumable by way of Google Cloud Platform and Red Hat offering OpenShift in multiple public cloud incarnations.
Sign up for CIO Asia eNewsletters.