NetApp Builds Up a Multi-Cloud Kubernetes-as-a-Service Platform
Multi-cloud orchestration
On September 18, 2018, NetApp revealed that it had acquired StackPointCloud. According to the announcement, this acquisition enabled NetApp to gain “an advanced Kubernetes-as-a-Service platform that directly supports the application orchestration capabilities” of the company’s Data Fabric. As a result, NetApp Kubernetes Service (NKS) emerged, a K8s platform for multi-cloud deployments, possessing “a complete cloud-based stack for Azure, Google Cloud, AWS, and NetApp HCI.”
NetApp Kubernetes Service provides a uniform control plane for creating and managing Kubernetes clusters. The service integrates with NetApp Cloud Volumes—a fully managed cloud storage solution for AWS and Google Cloud—and Trident, an open-source storage provisioner and orchestrator from the company. This combination of technologies enables NKS to provide multi-cloud orchestration with persistent storage.
With these things in mind, NKS users can deploy Kubernetes clusters in just three clicks, enjoying сentralized management of the clusters, access controls, and simplified K8s upgrades.
According to Ariel Jatib, one of the founders of StackPointCloud and now Technical Marketing Engineer at NetApp, NKS enables users to easily customize deployments from node size to cluster workspace mapping and adding SSH keys.
“We make three versions of Kubernetes available to you,” says Ariel. “Normally, we release new versions of Kubernetes in about five days.”
“One of the advantages of using NKS is that we provide a uniform experience across cloud providers. If I deploy a cluster on Amazon Web Services, that experience is similar to the one where I deploy on Amazon Elastic Container Service for Kubernetes.” —Ariel Jatib, NetApp
Despite only being available for a little over two months, NetApp claims that its customers using NKS have already experienced:
- 60% faster softer development
- 90% reduction in time-consuming tasks (such as patching)
- 90% less time spent deploying and maintaining Kubernetes clusters
“It’s a really interesting architecture that allows you to go out and deploy Kubernetes clusters in five minutes,” said Josh Haley, Business Solutions Architect at NetApp, during a recent Kubernetes meetup in Atlanta. “It’s not just about deploying it, it’s about being able to deploy multiple varied Kubernetes clusters, and do it all from a single management point.”
NKS works on Amazon Web Services, Azure, Google Cloud, and bare metal. Cloud-native solutions supported include Linkerd, Prometheus, Helm, Fabric8, Autoscaler, Calico, Istio, Sysdig, GitLab, and Trident. At the Atlanta meetup, Josh Haley elaborated more on using Trident for Kubernetes.
The stateless container limitation
Organizations using containerization have increased over the years. Conducted by Portworx, a survey of 491 IT professionals across various industries indicated that 32% of companies are spending $500,000 or more annually on containers.
One of the reasons for this increase in popularity is that containers are easy to deploy and dispose of. This makes them ideal for quick development cycles. Containers, however, are stateless meaning once a container is disposed of, none of the data is kept. This poses a challenge to enterprises as losing all data when containers are disposed of is not always an option.
Containers are also often used in cloud deployments and in these scenarios, management is simple when organizations only deal with a single environment. This is no longer the case with multi-cloud deployments as different environments will have varying methods of container orchestration.
During the meetup, Josh noted these issues with containers, as well as the solution NetApp has to offer.
“A lot of people like the idea of being able to deploy the same way on-prem as rapidly as popping in some code, deploying it into the cloud or multiple clouds, and have that exact same experience. The problem is they don’t have a way to persistently manage storage and keep the data with the containers.” —Josh Haley, NetApp
A persistent storage for Kubernetes
In December 2016, NetApp released Trident, an open-source storage provisioner and orchestrator that integrates natively with Kubernetes and its Persistent Volume framework. Trident orchestrates the provisioning of storage requests via the NetApp Docker Volume Plugin (nDVP), which provides functions for creating and deleting storage.
“You can have developers simply make a call for a persistent volume claim. Give me a claim against this service, receive storage, and map it into the architecture. It’s really simple—one API call to persistently match storage that can go with the containers. It can automatically map it into the cluster of containers, as well.” —Josh Haley, NetApp
Trident enables applications, provisioned and managed with Kubernetes, to consume storage resources on demand. This is achieved through a REST interface of the Kubernetes dynamic storage provisioning system.
Additionally, Trident also makes use of Kubernetes Storage Classes API, allowing administrators to create meta-classes of storage. Through these meta-classes, Trident can automatically orchestrate the consumption of storage resources.
“The point of Trident is that we’re actually going to make it easy for you if you’re using NetApp resources in the cloud to manage that data persistence problem, so that you can deploy different kinds of applications that previously weren’t eligible for containerization.”
—Josh Haley, NetApp
During his presentation, Josh detailed a scenario where persistent storage could be useful for DevOps by “being able to take a single container, map it, and clone the data set.” In this case, a single production or development instance can be cloned for various purposes from simply having a backup to having multiple development teams their own copies to work with.
“If the data has value to you, we can do things like protecting the data. If you need it replicated for disaster recovery, we do all that, as well. One of the easy use cases is letting developers provision their own storage to facilitate the software development life cycle.”
—Josh Haley, NetApp
Though open-source, Trident natively integrates with NetApp’s storage platforms and services, which includes the recently launched NKS. It also supports both Kubernetes and Docker. The development of Trident can be tracked in its GitHub repo. You can also check out the official documentation.
While the number of enterprises that have adopted containers are increasing, some will hesitate at the idea of being stateless. Solutions that enable persistent storage, such as Trident, allow these organizations to containerize their applications and also keep their data. With NKS, operating multi-cloud Kubernetes deployments can be significatly simplified.
Want details? Watch the videos!
Table of contents
|
In this next video, Ariel Jatib demonstrates how to deploy a cluster using NKS.
Related slides
Further reading
- Kubernetes Cluster Ops: Options for Configuration Management
- Managing Multi-Cluster Workloads with Google Kubernetes Engine
- Improving Security for Kubernetes Deployments at Scale
About the experts