As a Google Certified Cloud Architect, I often get asked, “what is Kubernetes anyway?” Well, for starters we need to discuss what is a container. A container provides process and file system separation in much the same way as a virtual machine, but with considerable improvements in server efficiency. That efficiency allows a much greater density of containers to be co-located on the same host. And when you cluster together groups of hosts running Linux containers, Kubernetes helps you easily and efficiently manage those clusters.
In my book Paradigm Shift published in 2003, I wrote about container technology. The point is, containers have been part of Unix-like operating systems for a long, long time. It was only with the advent of Docker that containers really came into the mainstream. Docker, however, can only be used to execute a container on a single host machine. And that’s where Kubernetes comes in.
Kubernetes was created by Google after over a decade of using container orchestration internally to operate their cloud services. Today, Google generates more than 2 billion container deployments a week! This is all powered by the Google internal platform called Borg which was the predecessor to Kubernetes. All the lessons learned from developing Borg over the years became the primary influence behind much of the Kubernetes technology. Google donated the Kubernetes project to the newly formed Cloud Native Computing Foundation in 2015.
The ability to manage applications independently of infrastructure using Kubernetes holds great value for cloud deployments. We can build out a cluster of machines in the cloud that provides the compute and storage resources for all our applications, and then let Kubernetes ensure we get the best resource utilization. Kubernetes can also be configured to automatically scale the cluster up and down in response to changes in demand.
Now Enter NetApp Trident. NetApp Trident provides a level of storage management that is badly missing in the Kubernetes. It connects the capabilities of Cloud Volumes ONTAP to Kubernetes by acting as a dynamic storage provisioner that allocates and makes available cloud storage in response to persistent volume claims by Kubernetes Pods.
This alleviates the need for administrators to manually deploy and manage storage, as well as providing a very sophisticated data management functionality that is badly missing in the cloud.
Trident orchestrates the consumption of storage resources across public storage clouds that match criteria specified by the ‘StorageClass.’ This means that the Trident administrator can create meta-classes of storage, such as Gold, Silver, and Bronze, which span multiple storage providers to seamlessly and transparently provide homogenized storage features and capabilities regardless of the layout of the backing storage systems.
And that, my friends, is the tip of the spear (for Trident). Stay tuned for more solutions for cloud native workloads and data gravity challenges.