Cloud Native / Data / Kubernetes

NetApp Astra Brings a Data-First Approach to Kubernetes Deployments

11 Mar 2021 10:30am, by

Storage giant NetApp has released the production version of its Astra Kubernetes-based data plane, offering it as a way for DevOps teams to deploy and manage data and applications in Kubernetes environments through a single interface.

In consideration of such challenges as how to move applications on Kubernetes between different clusters and cloud environments or automate reliable storage, Astra was designed, in particular, to help DevOps teams struggling with the inherent complexities associated with managing stateful application and data on Kubernetes.

“Stateful applications in Kubernetes can be complex, involve many piecemeal steps, and the lack of a clear voice that addresses how stateful workloads should be approached can make it feel more daunting for practitioners. Customers struggle as they move stateful workloads into production and may therefore feel hesitant to run them in Kubernetes,” Eric Han, vice president of product management for NetApp’s Cloud Data Services, told The New Stack. “Astra offers stateful Kubernetes workloads a rich set of storage and application-aware data management services powered by NetApp’s data-protection technology.”

Indeed, to date, tooling “has not holistically solved data management that enterprises want for their business-critical applications,” Han said. “Moving applications from one Kubernetes namespace to another cluster involves multiple layers of the stack from app platform to the infrastructure, making it difficult to automate,” Han said.

Han communicated the specific benefits that the platform offers:

  • The management, protection and migration of Kubernetes applications “easily and quickly” within and across multi-hybrid clouds.
  • Data protection, disaster recovery (DR), audit and migration requirements for “business-critical applications.”
  • The visualization in real-time of the protection status of applications.
  • APIs to implement backups,  DR and migration workflows, regardless of “where your Kubernetes clusters are hosted.” Han offered the following example of a “before Astra” and “after Astra” scenario for developers managing stateful Kubernetes applications:

Before Astra

With Astra

  • Install and configure a CSI provider in each cluster you want to benefit from app data management.

  • Create or configure a backup target to store data outside the cluster.

  • Write YAML/scripts to manage snapshots and backups OR setup and configure a 3rd party tool.

  • Redeploy your app in another cluster.

  • Transfer your data.

  • Stitch your Kubernetes config and data back together.

  • Create Service Account at Cloud Provider

  • Register Clusters

    • Select compatible clusters from an automatically populated list to easily register them.

    • CSI (Trident) is automatically installed and configured.

      • An Object Storage bucket is created.

    • Install Apps (This happens outside of Astra.)

  • Astra automatically discovers the applications

    • Register an app w/Astra based on a namespace or labels.

    • Immediately create Snapshots, Backups, and a Data Protection schedule from a friendly UI.

      • Clone your data inside the same cluster or to another one.

Typically, a DevOps team will create Kubernetes clusters in a cloud environment and rely on a service mesh to manage the applications and a number of other supports, including CI/CD platforms, to support an application production pipeline for uploads to the cloud environment and security tools.

Astra, once implemented, automates the process of integrating Kubernetes clusters with the data plane. It does this through a set of operators for the discovery process before the beginning of application lifecycle management including, of course, the integration of storage systems with the different Kubernetes clusters that may, or may not be, dispersed across different cloud environments from various providers.

For specific customer needs for stateful data management, Han described the following use cases:

  • Data protection with snapshots. By being able to take snapshots for local data protection, applications and associated data can be revered to a previously recorded snapshot within the same Kubernetes cluster,  in the event data is accidentally deleted or corrupted,  Han said.
  • Disaster recovery with remote backup. “With Astra you can take a full application-aware backup of your application and state, which can be used to restore your application with its data to a different Kubernetes cluster in the same or a different region addressing your DR use-cases,” Han said.
  • Application portability for cloud bursting and migration with instant active clones. “You can move an entire application along with its data from one Kubernetes cluster to another, no matter where the clusters are located,” Han said.

As a cloud service, the idea is for users to begin taking advantage of the Astra data plane for Kubernetes management without “the toil of assembling it themselves as a kit,” Han said.

“The first generation of Kubernetes [deployments and management] was powerful in the sense of being able to put workloads in containers, and they started with what they felt like were easy ways to experience and learn,” Han said. “There is nothing wrong with that, but as we go into the second generation, it’s no longer about just getting a persistent storage volume, but how do I have a seamless experience.”

Feature image by Rudy and Peter Skitterians on Pixabay.