Cloud Volumes Service expedites the deployment of various cloud-based applications through the rapid provisioning of shared file services and a rich set of storage management features. The primary use cases include file services, analytics, DevOps, and databases.
File services
Cloud Volumes Service is a fault-tolerant, scalable storage platform for creating a cloud-based file system that you can access with the standard NFS or SMB protocol. As a result of NetApp's long experience delivering enterprise, on-premises, network-attached storage solutions, Cloud Volumes Service comes with a complete range of supporting features:
- Read-only and read-write client access control
- Connections over both NFSv3 and NFSv4.1 protocols
- Active Directory (AD) integration and SMB connections
You can use these file services as you migrate workloads or create new applications on Google Cloud. For example, you can use an SMB share to support individual user or group file sharing across Windows clients, or use it to support file and profile sharing for virtual desktops. Alternatively, you can use NFS or SMB volumes to share files between your applications, or as a backup destination.
The range of Cloud Volumes Service features helps you to migrate existing workloads to Google Cloud and provides you with a platform to develop and maintain a file storage solution in the cloud. Doing so can save you time and money by reducing spending on hardware, maintenance, power, cooling, and physical space.
Enterprise apps
You can easily rehost your traditional apps, which are currently deployed on-premises, to Cloud Volumes Service. This includes a subset of enterprise apps that typically don't require refactoring, but you want to preserve their core functionality for unstructured data storage workflows.
By using Cloud Volumes Service, you can create NFS shares for Linux-based apps and SMB shares for Windows-based apps in seconds. These shares are fully managed. You can scale them up or down for capacity and performance without impacting your workflows or users.
You can preserve app service delivery lifecycles with quick snapshots and copies for development, testing, and staging environments. This capability further accelerates production releases and minimizes the lead time in a true no-ops fashion.
Persistent storage for stateful Kubernetes applications
Kubernetes and Google Kubernetes Engine—fully managed Kubernetes service on Google Cloud—enables you to build, deploy, manage, and run containerized applications. Kubernetes offers application teams a declarative, self-healing, auto-scaling platform accelerating application development and deployment of highly portable applications.
Most containerized enterprise applications have state, data, and configuration. Such applications are called stateful. Stateful applications running on Kubernetes—including AI/ML pipelines, CI/CD pipelines, databases (relational, NoSQL, and time series), messaging, and media processing—have state and configuration data that need to be backed by persistent storage. Persistent storage allows application state and data to remain accessible as containers are created and destroyed rapidly during various application execution sequences like upgrades, scaling, and rollbacks.
Cloud Volumes Service provides fast, reliable, and persistent storage for your stateful applications running on Kubernetes. Persistent storage served from Cloud Volumes Service is dynamically allocated and managed using NetApp's Trident technology, which provides a Container Storage Interface (CSI) driver for accessing storage. Cloud Volumes Service enables read-write-many (RWX) access to persistent volumes, allowing multiple Kubernetes applications to share access to storage at the same time.
Specific use cases for Cloud Volumes Service:
- Provide persistent storage for your Kubernetes applications with read-write-many (RWX) access mode or shared access to storage. The RWX access mode allows the persistent volumes to be mounted as read-write by many nodes at once.
- Expand an existing persistent volume after creation.
- Use dynamically and statically provisioned persistent volumes.
- Create snapshots of persistent volumes at the Kubernetes layer. These snapshots can be used to maintain point-in-time copies of volumes that have been created by Trident and can also be used to schedule the creation of additional volumes (clones).
- Label storage volumes for better identification and management in multi-cluster environments.
- Support access to persistent storage via NFSv3 and NFSv4.1 using a Container Storage Interface (CSI) driver.
- Support access to persistent storage via SMB using an SMB Container Storage Interface (CSI) driver. For more information, see Using SMB CSI driver to access SMB volume on Windows Server nodes.
For more information about how to use Cloud Volumes Service with your Kubernetes applications, see the Trident documentation.
Databases
Open source and enterprise databases are often at the heart of online transaction processing, which can include banking, retail sales, and online purchases. Slow response times often send your customers looking elsewhere. Most of your customers won't wait for your app or web pages to load. High-performance storage is where Cloud Volumes Service can help. Whether you're accessing the primary database or a snapshot copy, you can expect excellent, consistent performance from Cloud Volumes Service.
Cloud Volumes Service supports different levels of performance for each file system. Because database administrators can allocate individual storage pools for hot or cold data, they have fine-grained control over the use of high-performance storage or more cost-effective, high-capacity storage. Cloud Volumes Service helps ensure that file systems are available and resilient against system failures, which simplifies the setup for reliable database services in the cloud.
Network-attached storage
Cloud Volumes Service shares file systems (volumes), with network-attached storage (NAS) clients. NAS clients are most commonly virtual machines (VMs) running Windows or Linux operating systems that use industry-standard Network File System (NFS) and Server Message Block (SMB) protocols.
Both NFS and SMB use a client-server model in which a client sends requests to a server to act on the file system. These requests include operations such as creating or deleting files or folders, modifying files, and browsing and reading files.
Many Cloud Volumes Service clients can share volumes. Windows, Linux, and UNIX operating systems include built-in SMB and NFS client software.
NFS uses user IDs (UIDs) and group IDs (GIDs) or Kerberos principals for Kerberized NFSv4. SMB uses security identifiers (SIDs) for Windows for Windows. Kerberos and SMB require access to Active Directory to look up names and SIDs.
You can attach access permissions to any file system object. Each object has a UID or an SID. You can use these identifiers to determine who or what owns each object. For NFS, standard UNIX-style user and group permissions apply. NFSv4 also offers NFSv4 access control lists (ACLs) as an alternate method of managing access. SMB uses NTFS permissions.
For more information about how NFS and SMB protocols work, see Basics of NAS protocols.
VMware vSphere storage
Google Cloud supports native VMware vSphere workloads with Google Cloud VMware Engine. Private clouds built with Google Cloud VMware Engine often need additional storage. This additional storage is used for either direct attachment to a single VM, or as datastores for multiple VMs with large storage requirements.
Cloud Volumes Service volumes may be attached to a VM's guest operating system using either SMB or NFS protocols. These volumes can be used for file sharing across different applications running in either Compute Engine or Google Cloud VMware Engine. They may also be used for user and group file sharing in virtual desktop environments.
When you need large amounts of storage, you can use Cloud Volumes Service volumes as datastores with Google Cloud VMware Engine hosts. Using Cloud Volumes Service volumes as datastores can be more cost-effective than adding Google Cloud VMware Engine nodes, saving up to 30% of the overall solution cost.
Cloud Volumes Service NFSv3 volumes are the first VMware-certified external datastores supported with Google Cloud VMware Engine. Cloud Volumes Service NFSv3 volumes let you support more storage in a cost-efficient manner and come with Cloud Volumes Service's rich set of data management features to protect your data such as snapshot copies, volume replication, and integrated backup.
For more information, see Use NFS volumes hosted by Cloud Volumes Service as vSphere datastores.
What's next
Learn about the Cloud Volumes Service architecture.