NetApp Builds Up a Multi-Cloud Kubernetes-as-a-Service Platform

by Carlo GutierrezNovember 23, 2018
With NetApp Kubernetes Service (NKS), users can create a K8s cluster in three clicks, while getting a uniform experience across supported cloud platforms.

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.

NetApp’s stack (Image credit)

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

Ariel Jatib of NetApp (Image credit)

Despite only being available for a little over two months, NetApp claims that its customers using NKS have already experienced:

Josh Haley

  • 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.

Creating a Kubernetes cluster with NKS (Image credit)

 

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.

Storage is the biggest challenge with containers (Image credit)

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

Josh Haley at the meetup in Atlanta

 

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.

Trident’s architecture (Image credit)

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.

Persistent storage in DevOps (Image credit)

“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

  1. The evolution of data management (8’03”)
  2. Why use containers? (26’00”)
  3. What can Kubernetes do? (37’45”)
  4. What is the problem with containers? (40’03”)
  5. What is Trident? (40’57”)
  6. How containers work in the DevOps process (49’45”)
  7. What is NetApp Kubernetes Service? (51’43”)
  8. What are the benefits of using NetApp Kubernetes Service? (68’08”)

 

In this next video, Ariel Jatib demonstrates how to deploy a cluster using NKS.

 

Related slides

 

Further reading

 

About the experts

Josh Haley is Business Solutions Architect for NetApp in Atlanta, GA. In this role, he acts as an evangelist, consultant, as well as expert strategic and technical resource for NetApp. Josh has nearly 20 years in Fortune 500 information technology, where he has helped organizations embrace change, maximizing and optimizing technology investments to meet business demands. His current focus is on technology transformation and enablement of next-generation technologies to increase business agility, efficiency, and lower operational cost. Before joining NetApp, Josh held multiple expert technology roles focusing on data center infrastructure and application architectures.

 

Ariel Jatib is Technical Marketing Engineer at NetApp. He is a Cloud Native Computing Foundation Ambassador and helps to organize Kubernetes meetups around the world, having founded the 2,000+ member NYC group. A veteran of enterprise SaaS and the design industry, Ariel is an advocate for design systems, goal-driven software development, and iterative methodologies. In his spare time, he plays basketball.

 


The post is written by Carlo Gutierres, edited by Sophia Turol and Alex Khizhniak.