Design an optimal storage strategy for your cloud workload (original) (raw)

Last reviewed 2025-05-09 UTC

This guide helps you assess the storage requirements of your cloud workload, understand the available storage options in Google Cloud, and design a storage strategy that provides optimal business value.

For a visual summary of the main design recommendations, see thedecision tree diagram.

For information about selecting storage services for AI and ML workloads, seeDesign storage for AI and ML workloads in Google Cloud.

Overview of the design process

As a cloud architect, when you plan storage for a cloud workload, you need to first consider the functional characteristics of the workload, security constraints, resilience requirements, performance expectations, and cost goals. Next, you need to review the available storage services and features in Google Cloud. Then, based on your requirements and the available options, you select the storage services and features that you need. The following diagram shows this three-phase design process:

Phased approach to designing storage for cloud workloads.

Define your requirements

Use the questionnaires in this section to define the key storage requirements of the workload that you want to deploy in Google Cloud.

Guidelines for defining storage requirements

When answering the questionnaires, consider the following guidelines:

Questionnaires

The questionnaires that follow are not exhaustive checklists for planning. Use them as a starting point to systematically analyze all the storage requirements of the workload that you want to deploy to Google Cloud.

Assess your workload's characteristics

Identify security constraints

Define data-resilience requirements

Set performance expectations

Review the storage options

Google Cloud offers storage services for all the key storage formats: block, file, and object. Review and evaluate the features, design options, and relative advantages of the services available for each storage format.

Overview

Block storage

The data that you store in block storage is divided into chunks, each stored as a separate block with a unique address. Applications access data by referencing the appropriate block addresses. Block storage is optimized for high-IOPS workloads, such as transaction processing. It's similar to on-premises storage area network (SAN) and directly attached storage (DAS) systems.

The block storage options in Google Cloud are a part of the Compute Engine service.

Option Overview
Persistent Disk Dedicated hard-disk drives (HDD) and solid-state drives (SSD) for enterprise and database applications deployed to Compute Engine VMs and Google Kubernetes Engine (GKE) clusters.
Google Cloud Hyperdisk Fast and redundant network storage for Compute Engine VMs and GKE clusters, with configurable performance and volumes that can be dynamically resized.
Local SSD Ephemeral, locally attached block storage for high-performance applications.

File storage

Data is organized and represented in a hierarchy of files that are stored in folders, similar to on-premises network-attached storage (NAS). File systems can be mounted on clients using protocols such as NFS and Server Message Block (SMB). Applications access data using the relevant filename and directory path.

Google Cloud provides a range of fully managed and third-party solutions for file storage.

Solution Overview
Filestore File-based storage using NFS file servers for Compute Engine VMs and Google Kubernetes Engine clusters. You can choose a service tier (Basic, Zonal, or Regional) that suits your use case.
Google Cloud Managed Lustre Low-latency parallel file system for AI, high performance computing (HPC), and data-intensive applications.
NetApp Volumes File-based storage using NFS or SMB. You can choose a service level (Flex, Standard, Premium, or Extreme) that suits your use case.
More options See Summary of file server options.

Object storage

Data is stored as objects in a flat hierarchy of buckets. Each object is assigned a globally unique ID. Objects can have system-assigned and user-defined metadata, to help you organize and manage the data. Applications access data by referencing the object IDs, using REST APIs or client libraries.

Cloud Storage provides low-cost, highly durable, no-limit object storage for diverse data types. The data you store in Cloud Storage can be accessed from anywhere, within and outside Google Cloud. Optional redundancy across regions provides maximum reliability. You can select a storage class that suits your data-retention and access-frequency requirements.

Comparative analysis

The following table lists the key capabilities of the storage services in Google Cloud.

Persistent Disk Hyperdisk Local SSD Filestore Managed Lustre NetApp Volumes Cloud Storage
Capacity 10 GiB to 64 TiB per disk Up to 257 TiB per VM 4 GiB to 64 TiB per disk Up to 512 TiB per VM 10 TiB to 1 PiB per storage pool 375 GiB per disk Up to 12 TiB per VM Titanium SSD is a higher capacity local SSD option. 1-100 TiB per instance 18 TiB to 80 PiB Depending onperformance tier. 1 TiB to 10 PiB per storage pool 1 GiB to 1 PiB per volume No lower or upper limit
Scaling Scale up Add and remove disks Autoscale Scale up Not scalable Basic: scale up Zonal and Regional: scale up and down Scalable Scale up and down Scales automatically based on usage
Sharing Supported Supported Not shareable Mountable on multiple Compute Engine VMs, remote clients, and GKE clusters Mountable on multiple Compute Engine VMs and GKE clusters. Mountable on multiple Compute Engine VMs and GKE clusters Read/write from anywhere Integrates with Cloud CDN and third-party CDNs
Encryption key options Google-owned and Google-managed encryption keys Customer-managed Customer-supplied Google-owned and Google-managed encryption keys Customer-managed Customer-supplied Google-owned and Google-managed encryption keys Google-owned and Google-managed encryption keys Customer-managed (Zonal and Regional tiers) Google-owned and Google-managed encryption keys Google-owned and Google-managed encryption keys Customer-managed Google-owned and Google-managed encryption keys Customer-managed Customer-supplied
Persistence Lifetime of the disk Lifetime of the disk Ephemeral (data is lost when the VM is stopped or deleted) Lifetime of the Filestore instance Lifetime of the Managed Lustre instance Lifetime of the volume Lifetime of the bucket
Availability Zonal Cross-zone replication Snapshots (manual or scheduled) Disk cloning Zonal Disk cloning Cross-zone replication Zonal Regional or zonal based on tier Snapshots for Zonal and Regional tiers Backups Replication Zonal Regional (Flex) or zonal (all levels) Backups Snapshots Cross-region replication Data redundant across zones Options for redundancy across regions
Performance Linear scaling with disk size and CPU count Dynamic scaling persistent storage High-performance scratch storage Basic: consistent performance Zonal and Regional:dynamic scaling Linear scaling with provisioned capacity based onperformance tier. Scalable performance Expectations depend on the service level Autoscaling read-write rates and dynamic load redistribution Rapid Cache
Management Manually format and mount Manually format and mount Manually format, stripe, and mount Fully managed Fully managed Fully managed Fully managed

The following table lists the workload types that each Google Cloud storage option is appropriate for:

Storage option Workload types
Persistent Disk IOPS-intensive or latency-sensitive applications Databases Shared read-only storage Rapid, durable VM backups
Hyperdisk IOPS-intensive or latency-sensitive applications Databases Shared read-only storage Rapid, durable VM backups Scale-out analytics
Local SSD Flash-optimized databases Hot-caching for analytics Scratch disk
Filestore Lift-and-shift on-premises file systems Shared configuration files Common tooling and utilities Centralized logs
Managed Lustre AI and ML workloads HPC
NetApp Volumes Lift-and-shift on-premises file systems Shared configuration files Common tooling and utilities Centralized logs Windows workloads Electronic design automation (EDA) workloads
Cloud Storage AI and ML workloads Streaming videos Media asset libraries High-throughput data lakes Backups and archives Long-tail content

Choose a storage option

There are two parts to selecting a storage option:

Persistent Disk

Hyperdisk

Filestore

NetApp Volumes

Cloud Storage

Storage recommendations

Use the following recommendations as a starting point to choose the storage services and features that meet your requirements. For guidance that's specific to AI and ML workloads, seeDesign storage for AI and ML workloads in Google Cloud.

General storage recommendations are also presented as adecision treelater in this document.

Data transfer options

After you choose appropriate Google Cloud storage services, to deploy and run workloads, you need to transfer your data to Google Cloud. The data that you need to transfer might exist on-premises or on other cloud platforms.

You can use the following methods to transfer data to Google Cloud:

When you choose a data transfer method, consider factors like the data size, time constraints, bandwidth availability, cost goals, and security and compliance requirements. For information about planning and implementing data transfers to Google Cloud, see Migrate to Google Cloud: Transfer your large datasets.

Storage options decision tree

The following decision tree diagram guides you through the Google Cloud storage recommendations discussed earlier. For guidance that's specific to AI and ML workloads, seeDesign storage for AI and ML workloads in Google Cloud.

View a larger image

Decision tree to select a storage strategy.

What's next

Contributors

Author: Kumar Dhanagopal | Cross-Product Solution Developer

Other contributors: