More about Kubernetes Storage
- Kubernetes StorageClass: Concepts and Common Operations
- Kubernetes Data Mobility with Cloud Volumes ONTAP
- Scaling Kubernetes Persistent Volumes with Cloud Volumes ONTAP
- What's New in K8S 1.23?
- Kubernetes Topology-Aware Volumes and How to Set Them Up
- How to Use NetApp Cloud Manager for Provisioning Persistent Volumes in Kubernetes
- Kubernetes vs. Nomad: Understanding the Tradeoffs
- How to Set Up MySQL Kubernetes Deployments with Cloud Volumes ONTAP
- Kubernetes Volume Cloning with Cloud Volumes ONTAP
- Container Storage Interface: The Foundation of K8s Storage
- Kubernetes Deployment vs StatefulSet: Which is Right for You?
- Kubernetes for Developers: Overview, Insights, and Tips
- Kubernetes StatefulSet: A Practical Guide
- Kubernetes CSI: Basics of CSI Volumes and How to Build a CSI Driver
- Kubernetes Management and Orchestration Services: An Interview with Michael Shaul
- Kubernetes Database: How to Deploy and Manage Databases on Kubernetes
- Kubernetes and Persistent Apps: An Interview with Michael Shaul
- Kubernetes: Dynamic Provisioning with Cloud Volumes ONTAP and Astra Trident
- Kubernetes Cloud Storage Efficiency with Cloud Volumes ONTAP
- Data Protection for Persistent Data Storage in Kubernetes Workloads
- Managing Stateful Applications in Kubernetes
- Kubernetes: Provisioning Persistent Volumes
- An Introduction to Kubernetes
- Google Kubernetes Engine: Ultimate Quick Start Guide
- Azure Kubernetes Service Tutorial: How to Integrate AKS with Azure Container Instances
- Kubernetes Workloads with Cloud Volumes ONTAP: Success Stories
- Container Management in the Cloud Age: New Insights from 451 Research
- Kubernetes Storage: An In-Depth Look
- Monolith vs. Microservices: How Are You Running Your Applications?
- Kubernetes Shared Storage: The Basics and a Quick Tutorial
- Kubernetes NFS Provisioning with Cloud Volumes ONTAP and Trident
- Azure Kubernetes Service How-To: Configure Persistent Volumes for Containers in AKS
- Kubernetes NFS: Quick Tutorials
- NetApp Trident and Docker Volume Tutorial
Kubernetes adoption continues to grow. Those who have started their containerization journeys on premises may be looking for options to move to the cloud. At the same time, those who are already in the cloud are looking to expand to multiple platforms to get the best that each platform offers. However, in both cases moving data between different Kubernetes storage environments is often a huge challenge.
What can be done to improve Kubernetes data mobility? In this post we’ll look at the challenges involved in data mobility and show how the ingrained capabilities in Cloud Volumes ONTAP can help.
Use the links below to jump down to the sections on:
- Kubernetes Data Mobility Use Cases
- What Are the Challenges with Kubernetes Data Mobility?
- Kubernetes Data Mobility with NetApp Cloud Volumes ONTAP
- Data Mobility Is Just the Beginning
Kubernetes Data Mobility Use Cases
As more and more organizations are adopting microservices-based architectures, data mobility for containerized applications in Kubernetes clusters has become a key design consideration.
Let’s explore some of the scenarios where data mobility comes into the picture.
- Cloud migration: Kubernetes helps organizations deploy containerized applications at scale, something which is easier done in the cloud than on-prem. This makes Kubernetes usage one of the prime business drivers for cloud migration. Cloud migration also enables organizations to integrate containers with PaaS offerings that deliver advanced services, such as analytics and AI capabilities.
But before you can begin to gain all those benefits of the cloud, you have to get the data there first. Data mobility is a key part of migrating on-prem Kubernetes containers and their associated data to the cloud.
- Data sharing: Certain containerized applications need access to shared data storage, including microservices that share user-generated data, log files, and databases. As containers are ephemeral, this data needs to exist in a shared persistent volume. No matter which kind of environment your Kubernetes clusters are deployed in, ensuring the data mobility of these shared volumes is an important part to enabling data sharing.
- Data collaboration: With the prevalence of hybrid architectures, microservices hosted in heterogeneous environments might need access to shared data volumes, sometimes even between Kubernetes clusters and non-Kubernetes environments. Data volumes might also need to be moved from one environment to another based on application roadmaps.
- Backup: Data associated with containerized applications in Kubernetes should also be protected from unexpected data loss and corruption. That requires a robust backup solution. In addition to recovery, a backup solution can also help with data mobility, as the persistent volumes can be restored and attached to a cluster in a different environment.
Organizations aligned with a 3-2-1 backup strategy often prefer to use cloud storage as an offsite location because of the economics of the cloud and the infinite scalability.
- DR: When failing over a Kubernetes cluster, the cluster configuration, container images, and the data associated with the containers should all be available in the DR site to enable a full recovery.
During a digital transformation, the first step taken by most organizations is to use the cloud as the DR target. Whether it is a failover from on-premises to the cloud or between different cloud platforms, failover and failback processes depend on data mobility. Ensuring data mobility between these different platforms becomes key for a successful DR strategy for Kubernetes workloads.
What Are the Challenges with Kubernetes Data Mobility?
Kubernetes uses standard deployment constructs. These constructs make it possible for users to move containerized applications between different environments seamlessly and avoid vendor lock-in. However, there could be some challenges associated when it comes to the data mobility of persistent volumes at scale.
Challenging factors to Kubernetes data mobility include:
- Hybrid environments: In a hybrid architecture, containerized workloads can be deployed across Kubernetes clusters on-prem and the cloud. For example, dev/QA environments could reside on-prem with production environments hosted in the cloud. While application deployment and cluster configuration can be fairly straightforward, data mobility for persistent volumes can be challenging especially for applications with larger data sets, such as databases.
- Cloud bursting: Instead of fully fledged cloud deployments, some organizations use cloud bursting to meet peak demands. That could mean extending the microservices to the cloud by leveraging the managed Kubernetes services offered by cloud service providers through the use of a centralized control provided by a service mesh.
For this kind of cloud bursting to be effective in stateful containers, the data associated with the containers should also be made available in the cloud in a quick and efficient manner. The pace of data mobility should match the pace of cloud bursting and can be a bottleneck in this scenario.
- Multicloud environments: Kubernetes deployments could span across multicloud environments, as many customers don't want to be restricted to one specific cloud provider. Moving data between different cloud platforms can always be a challenge as it involves hopping between different cloud consoles, managing different cloud native configurations, and the usage of native tools for each platform.
- Cross-region copies: Copying data across regions within cloud platforms is not as straightforward as copying data within the same region. For example, if the cloud network is bound to a region, data mobility to a different region needs additional network peering or VPN access, which adds to the configuration overhead. There are also additional costs for cross-regional data transfers, no matter which cloud you’re in
- Data synchronization: Data mobility also becomes a challenge if you need to keep data synchronized between multiple heterogeneous environments involving Kubernetes deployments across on-premises and more than one cloud. Data mobility in these situations requires configuring environment-specific tools and services, all of which is going to come with increased efforts and costs.
- Cross-Kubernetes clusters: Workloads in cross-Kubernetes clusters span across cloud boundaries such as cloud zones and regions to attain better agility and high availability, all while ensuring that customers are able to access the services consistently. However, these kinds of architectures demand the same level of agility from the underlying data layer. For cross-Kubernetes clusters to work, data mobility across the constructs of cloud zones and regions is a must.
In all these cases, NetApp Cloud Volumes ONTAP can help.
Kubernetes Data Mobility with NetApp Cloud Volumes ONTAP
Cloud Volumes ONTAP provides an enterprise-class storage management platform that provides agile, secure, and proven storage services across all the leading cloud service providers—AWS, Azure, and Google Cloud.
In addition to regular workloads like VMs, databases, and applications, Cloud Volumes ONTAP can also be used to meet the persistent storage requirements of containerized workloads deployed across multi and hybrid and multicloud environments. Leveraging Astra Trident, the container storage interface (CSI) implementation from NetApp for Kubernetes, users can dynamically provision persistent volumes via Cloud Volumes ONTAP and integrate with its storage management capabilities for their persistent storage.
Powered by proprietary ONTAP capabilities, it is uniquely positioned to address the data mobility challenges associated with Kubernetes workloads.
- Cloud Manager: NetApp Cloud Manager is the SaaS platform that can be used to manage Cloud Volumes ONTAP storage volumes across on-prem and cloud platforms. It provides single-pane-of-glass visibility and lifecycle management options through an easy-to-use graphical interface.
With Cloud Manager, you can easily attach Cloud Volumes ONTAP persistent volumes to Kubernetes clusters in different environments with minimal configuration overhead, helping to address the data mobility challenges associated with hybrid and multicloud environments.
- SnapMirror® data replication: Using SnapMirror data replication technology, Cloud Volumes ONTAP can enable data mobility for multicloud and hybrid cloud deployments. SnapMirror can be used to create replication relationships between data volumes in these heterogeneous environments.
This data replication helps in moving data between your Kubernetes clusters, all easily done from the Cloud Manager console with a single drag-and-drop operation. In addition to enabling data mobility in cross-region clusters, SnapMirror also helps by keeping copies of data readily available on target environments, should the need arise for cloud bursting.
- FlexClone® data cloning: In quickly changing, DevOps-enabled environments, there’s often a need to quickly clone persistent volumes for test/dev environments. FlexClone technology helps Cloud Volumes ONTAP users create instant, space-efficient clones of data volumes to be used by Kubernetes clusters.
With Cloud Volumes ONTAP, users have the flexibility to create clones of data from one Kubernetes cluster and attach it to a completely different Kubernetes cluster in a different environment. This enables data mobility without additional storage overhead.
- FlexCache® file caching: Cloud Volumes ONTAP supports FlexCache technology that can be used to create a sparsely populated copy of data volumes for caching actively-read data in a location closer to users. It provides access to original data without the need for copying an entire data volume. This provides an efficient way for collaboration across different Kubernetes clusters, all the while ensuring fast access to the data.
- Backup: NetApp Cloud Backup is an add-on service for Cloud Volumes ONTAP that provides out-of-the-box backup support for Kubernetes storage. Delivered in a backup-as-a-service (BaaS) model, Cloud Backup can be used for taking block-level, incremental forever backup of Kubernetes data volumes in object storage in AWS, Azure, and Google Cloud, or on-prem.
The data backup and restore across environments can be centrally managed from Cloud Manager, enabling data mobility between Kubernetes clusters. It also helps in meeting the BC/DR requirements for your Kubernetes workloads.
Data Mobility Is Just the Beginning
Data mobility is just one of the benefits provided by Cloud Volumes ONTAP for Kubernetes workloads. As an enterprise storage management solution, it packs in a punch with additional features that enhance the efficiency, security and agility of the underlying storage layer.
Cloud Volumes ONTAP gives Kubernetes deployments a higher level of data resiliency through its dual-node high-availability configuration. Data in persistent storage can also be protected through the built-in snapshot copy feature. Data in the volumes are encrypted and protected from external tampering. Last but not least, it also helps bring down storage costs by as much as 70% through proprietary NetApp’s storage efficiency features, such as thin provisioning, deduplication, and compression.
With the data management and mobility capabilities offered by Cloud Volumes ONTAP, it can be the one-stop solution for persistent volume requirements of Kubernetes workloads across diverse environments.