Containers are ephemeral, making storage a challenge since data processed by the application is discarded as soon as the container exits. To overcome this, various frameworks and products have been built to enable the dynamic provisioning of volumes for stateful applications in Kubernetes.
OpenEBS and NetApp Cloud Volumes ONTAP are two popular choices for deploying Kubernetes persistent volumes. This article compares both and describes how each product enables storage orchestration for Kubernetes clusters.
Read on below as we cover:
OpenEBS simplifies storage orchestration in Kubernetes using the container-attached storage (CAS) pattern. CAS enables durable, reliable, and scalable persistent storage, allowing applications to access data via containers. OpenEBS is currently a Cloud Native Computing Foundation (CNCF) sandbox project and the leading choice for NVMe-based (non-volatile memory express) storage networks. OpenEBS abstracts all storage systems to provide dynamic Kubernetes storage for both local and replicated volumes to be used by stateful workloads.
OpenEBS is native to Kubernetes and is deployed using custom resource definitions (CRDs), making the installation simple and straightforward. The storage service runs entirely within the Kubernetes userspace, which streamlines updates and maintenance. The service is composed of a control plane and data engines.
Some OpenEBS features include:
Kubernetes-native storage
OpenEBS containerizes volumes to be provisioned within the Kubernetes cluster. The control plane assigns a storage controller to each volume so that stateful applications can achieve granularity and agility in storage operations. The CAS controllers can run on any Kubernetes deployment, allowing SREs, DevOps, and cloud teams to provision storage using cloud volumes, bare-metal infrastructure, or legacy network-attached storage (NAS) devices.
Improved productivity
OpenEBS instruments volumes with metrics such as data patterns, throughput, latency, and IOPS. By observing these metrics, cloud teams can tune stateful applications for better storage performance.
Thin provisioning
OpenEBS features thin provisioning capabilities so that cloud teams can pool storage devices and then grow data volumes with an increase in demand by stateful applications. Storage capacity can, therefore, be adjusted without having to change the volumes that are being used by the applications. This prevents overprovisioning, thereby reducing the total cost of ownership (TCO) for Kubernetes storage by up to 50%.
Free and open source
OpenEBS was originally developed by MayaData but is now an open-source project incubated by the Cloud Native Computing Foundation (CNCF). The project is developed and run by a large community of developers, SREs, and DevOps professionals, who cover most of the use-cases for Kubernetes stateful workloads. The service is designed as loosely-coupled, which helps achieve the normal benefits of cloud-native architectures such as platform-agnosticism, granular workload management, high availability, etc.
Some primary benefits of OpenEBS include:
Synchronous replication
OpenEBS allows cloud administrators to replicate volumes for high availability. Storage teams can synchronously replicate volumes across Kubernetes availability zones, which helps in building highly available stateful applications across cloud providers and regions.
Incremental snapshots and clones
OpenEBS data engines instantaneously create snapshots, making data easily portable across Kubernetes clusters and availability zones. Snapshots and cloning operations are performed using the kubectl CLI tool, enabling Kubernetes-native storage operations such as backups and troubleshooting.
Vendor agnostic
The decoupling of the data operations layer and the control plane enables storage abstraction and facilitates seamless movement of data across Kubernetes deployments. Organizations can, therefore, provision storage for their applications using devices across multiple clouds, traditional storage networks, and bare-metal infrastructure.
NetApp’s Cloud Volumes ONTAP provides a consistent interface for organizations looking to run stateful workloads across different cloud, multicloud, and hybrid cloud environments. Cloud Volumes ONTAP is operated through the NetApp Cloud Manager platform, which enables the deployment and management of both Cloud Volumes ONTAP and on-premises ONTAP volumes for storage orchestration in multiple Kubernetes environments.
Cloud Manager provides an easy and intuitive Web UI with a unified dashboard that visualizes all data management jobs, including replication, cloning, snapshots, and more. All of Cloud Manager’s functions can be carried out using RESTful API calls, allowing your Kubernetes storage to be treated as infrastructure-as-code.
Cloud Volumes ONTAP leverages Astra Trident, a dynamic Container Storage Interface (CSI) plugin to handle Kubernetes Persistent Volume Claims (PVCs) on storage disks. Trident enforces the dynamic provisioning of storage volumes across different deployment environments.
Both OpenEBS and Cloud Volumes ONTAP (Cloud Volumes ONTAP) enable the abstraction of storage devices for stateful applications running on different flavors of Kubernetes. This section compares how each of these tools implements Kubernetes storage management features.
Feature |
OpenEBS |
NetApp Cloud Volumes ONTAP |
Declarative provisioning |
Container Attached Storage through CSI drivers. |
Dynamic provisioning using the Astral Trident CSI plugin. |
Data mobility |
• Stored data is run within distributed containers • Optional synchronous replication for cross-AZ availability |
• Vendor-agnostic with innate hybrid and multicloud support • SnapMirror® enables incremental replication of storage at block-level, enabling data sharing across environments |
Backup and restore |
Offers plugins to enable backup and restoration of volumes using third-party solutions. |
Instantly creates space-efficient, application-aware snapshots that can instantaneously get restored on-the-fly to the source volume. |
High Availability |
Though OpenEBS does not offer HA benefits out of the box, organizations can increase availability by making appropriate configuration changes. This typically requires the storage controller to be rescheduled by Kubernetes in case of a node failure. As a result, Kubernetes relies on one or more replicas of the underlying data to keep workloads running to lower the blast radius. |
Offers a multi-AZ, dual node HA solution by default. To achieve this, Cloud Volumes ONTAP sets up a pair of active-active nodes that replicate synchronously across availability zones, achieving the lowest possible RPO=0 and RTO<60. |
Storage Efficiencies |
Offers thin provisioning options to create virtual disks within a storage pool. |
Offers automatic data compression, deduplication, and compaction. It also enables dynamic thin provisioning, ensuring volumes are provisioned only when needed and storage tiering between block and object storage based on usage. These features can reduce storage TCO by up to 70%. |
Open-Source vs. Enterprise Offering |
Being open-source, the platform lacks enterprise support and custom-fit solutions. As a result, organizations remain dependent on community support while deploying and self-managing storage volumes. |
Offers enterprise-grade support of storage services for all major cloud providers with a clear roadmap of future upgrades and enhancements. |
Comprehensive Platform Management |
Lacks offerings on comprehensive storage management out-of-the-box. |
Through Cloud Manager, Cloud Volumes ONTAP offers end-to-end automation, monitoring, and optimization capabilities for efficient management of both block and file storage volumes. The platform also benefits from additional service integrations with Cloud Backup, Cloud Tiering, and Cloud Data Sense for extending object storage, reliable backups, automated controls, and reporting. |
Some benefits of choosing Cloud Volumes ONTAP for stateful Kubernetes applications include:
Data Protection
Cloud Volumes ONTAP uses NetApp Snapshot™ technology as the fundamental backbone for its backup and disaster recovery capabilities. Cloud Backup fully managed service offers granular block-level data backup and restores. Other security features include ransomware protection, embedded encryption, RBAC, multi-factor authentication, and WORM capabilities to protect data from unwanted external access.
Data mobility
Cloud Volumes ONTAP offers data mobility thanks to SnapMirror® data replication, which is operated through Cloud Manager’s GUI. With a simple drag and drop, storage volumes can be moved seamlessly across multiple cloud and on-premises platforms.
Built-in storage tiering
Cloud Volumes ONTAP allows data to be tiered between block and object storage in the cloud, as usage demands. It automatically identifies infrequently used or “cold” data and moves it to object-based storage services on AWS, Azure, and Google Cloud. When the data is needed again, Cloud Volumes ONTAP automatically tiers it back up to block storage for immediate use. This helps optimize cloud storage costs and consumption trends since unused data can become highly expensive to store on highly performant block storage.
Built-in IaC capabilities
Cloud Manager’s Terraform Provider, Ansible URI modules, and APIs enable development teams to provision and manage storage devices using Infrastructure-as-Code (IaC) declarations. The developers can, therefore, perform cloud management tasks on Cloud Volumes ONTAP volumes programmatically.
Enterprise vs. community support
NetApp Cloud Volumes ONTAP offers enterprise-grade storage as a managed cloud service, with full support to help minimize storage costs while keeping workloads secure. The service is offered as a cloud-based license with three pricing options: Free, Professional, and Essentials. These offerings enjoy the full set of ONTAP features, with variations in the level of support offered and storage features.
Cloning
NetApp’s FlexClone® data cloning feature effectively reduces the effort and cost of cloning datasets of any size for dev/test environments. FlexClone creates instantaneous, zero-capacity, writable clone volumes without affecting the source volume in production. The clones are also storage efficient as they only consume storage space for changes made to the copies.
Optimized file caching
Cloud Volumes ONTAP volumes use FlexCache technology which helps distribute writable and persistent volume replicas. The caching mechanism brings files closer to the user without having to replicate whole data sets, allowing for a faster throughput with a minimal footprint.
Kubernetes storage orchestration requires the provisioning of volumes and plugins that ensure data persists beyond a pod's lifetime. OpenEBS and Cloud Volumes ONTAP leverage different approaches for abstracting storage systems to make storage available for stateful Kubernetes applications.
Cloud Volumes ONTAP uses the Astra Trident dynamic CSI provisioner to deploy and manage volumes for applications running on any Kubernetes distribution. Cloud Volumes ONTAP is a leading choice for companies that prefer a managed service, with the NetApp support team ensuring volumes are functional so developers can only focus on core business.
Read more about Kubernetes Dynamic Provisioning with Cloud Volumes ONTAP and learn how Cloud Volumes ONTAP helps customers meet storage challenges on Kubernetes.