Why start with a map
Asking someone to "just put it in GCS" is like going into a hardware shop and asking for "a fixing". You might need a nail, a wall plug or a bolt. Google Cloud sells more than a dozen storage services, and many have changed names over the years. Old blog posts, Terraform modules and Stack Overflow answers still use those old names. This level gives you one page that sorts every service into a group, lists its old names next to its current ones, and flags which services are restricted for new customers. Then you'll run a short gcloud inventory so you know what a project already has before you choose anything new.
The one-page map
| Group | Service (current name) | Former or legacy names | What it is, briefly |
|---|---|---|---|
| Object | Cloud Storage: Standard, Nearline, Coldline, Archive classes, plus Autoclass | Legacy classes Multi-Regional, Regional, Durable Reduced Availability (DRA) | Buckets of objects over HTTP/gRPC; regional, dual-region or multi-region |
| Object (performance) | Rapid Bucket (zonal buckets in the Rapid storage class) and Rapid Cache | Rapid Cache was Anywhere Cache | Zonal, low-latency object storage and an SSD read cache that sits beside your compute |
| Block | Persistent Disk (pd-standard, pd-balanced, pd-ssd, pd-extreme) | — | The original network block disks for VMs |
| Block | Hyperdisk: Balanced, Balanced High Availability, Extreme, Throughput, ML | — | Newer block storage where you provision performance separately from capacity |
| Block (ephemeral) | Local SSD | — | Physically attached scratch disk; the data does not survive certain VM events |
| File | Filestore: Zonal, Regional, Enterprise; legacy Basic HDD, Basic SSD | Basic HDD was Standard, Basic SSD was Premium, Zonal replaced High Scale SSD | Managed NFS |
| File | Google Cloud NetApp Volumes: Flex, Standard, Premium, Extreme service levels | — | NetApp ONTAP-based NFS/SMB, and with Flex Unified also iSCSI/NVMe-TCP block |
| High-performance file | Google Cloud Managed Lustre | — | Managed parallel file system (Lustre, built with DDN) for HPC and AI |
| High-performance file | Parallelstore | — | DAOS-based parallel scratch file system, restricted (see below) |
| Archive | Cloud Storage Coldline and Archive classes | — | No separate "Glacier" product: archive storage is a storage class |
| Data transfer | Storage Transfer Service, Transfer Appliance | — | Online transfer jobs, and a physical device shipped to you |
| Backup | Backup and DR Service | Built on the Actifio GO product Google bought with Actifio in December 2020 | Centralised backup vaults and policies for VMs, databases and more |
Two things in this table surprise people:
- Archive is a storage class, not a product. If you come from AWS, you'll be looking for a separate archive service. On Google Cloud you set
--default-storage-class=ARCHIVEon a bucket and use the same API. - Filestore Enterprise now appears on the tiers page positioned for GKE multishares. Basic HDD and Basic SSD are listed as legacy tiers, kept for backward compatibility.
Gotcha: renames break searches. If a 2024 runbook says "enable Anywhere Cache", the console now calls it Rapid Cache. The API resource is still
anywhereCaches, so code keeps working while the UI labels change. Search the docs for both names.
Services that are restricted for new customers
Parallelstore is the one to watch. It is generally available only with an allowlist: you contact Google sales to get a project enabled. Google is steering new customers to Managed Lustre, which has been open to all customers since mid-2025. The Terraform Google provider has an open issue to remove google_parallelstore_instance in a future major version, and it tells new users to use google_lustre_instance instead.
The legacy Cloud Storage classes (Multi-Regional, Regional, DRA) can't be chosen in the console. Google's guidance is to use Standard unless you already have them.
Best practice: availability changes faster than course material does. Before you put a service in a design, open its release notes page (for example
docs.cloud.google.com/parallelstore/docs/release-notes) and the product overview, and look for words like allowlist, deprecated or not available to new customers. Write the date you checked into your decision record.
Walkthrough: a first inventory with gcloud
Before choosing anything new, find out what already exists. Each service has its own list command. Run them in Cloud Shell, or anywhere you're signed in with roles/viewer on the project.
# Point gcloud at the project you're auditing
gcloud config set project my-proj
# OBJECT: every bucket, with its location and default class
gcloud storage buckets list \
--format="table(name, location, default_storage_class)"
# NAME LOCATION DEFAULT_STORAGE_CLASS
# my-proj-logs US STANDARD
# my-proj-archive EU ARCHIVE
# BLOCK: Persistent Disk and Hyperdisk both show up as 'disks'
gcloud compute disks list \
--format="table(name, zone.basename(), type.basename(), sizeGb)"
# NAME ZONE TYPE SIZE_GB
# web-boot us-central1-a pd-balanced 20
# db-data us-central1-a hyperdisk-balanced 500
# LOCAL SSD: not a 'disk' resource. It shows on the VM as a SCRATCH disk
gcloud compute instances list --filter="disks.type:SCRATCH" \
--format="table(name, zone.basename())"
# FILE
gcloud filestore instances list
gcloud netapp volumes list --location=us-central1 # repeat per region you use
# HIGH-PERFORMANCE FILE ('-' means all locations)
gcloud lustre instances list --location=-
gcloud parallelstore instances list --location=us-central1-a # errors if the API isn't enabled
# TRANSFER and BACKUP
gcloud transfer jobs list
gcloud backup-dr backup-vaults list # all locations by default
How to read the results:
- An error like "API has not been used in project … or it is disabled" is useful information: the project has never used that service. Write "none (API disabled)". Don't enable APIs just to check.
hyperdisk-*andpd-*types both appear undercompute disks. Use thetypecolumn to tell them apart.- Some commands are regional or zonal. The "empty" result you got may be for the wrong location. Use
--location=-where the command supports it.
Trade-off: you can also run
gcloud asset search-all-resources --scope=projects/my-proj(Cloud Asset Inventory) to see everything in one call. It's quicker for large estates, but it needs the Cloud Asset API and returns less detail per resource. Per-service commands are slower but show what matters for storage: class, type and size.
Paste the output into a spreadsheet with one row per resource and these columns: group, service, name, location, type or class, size. The rest of this course builds on that sheet.
Key takeaways
- Google Cloud storage falls into seven groups: object, block, file, high-performance file, archive, data transfer and backup. Archive is a set of Cloud Storage classes, not a separate product.
- Know the old names: Anywhere Cache → Rapid Cache; Filestore Standard/Premium/High Scale SSD → Basic HDD/Basic SSD/Zonal; Actifio GO → Backup and DR Service; legacy Multi-Regional, Regional and DRA classes → Standard.
- Parallelstore needs allowlisting, and Google is pointing new customers to Managed Lustre. Check release notes and record the date before you rely on any service's availability.
- Persistent Disk and Hyperdisk both list under
gcloud compute disks list. Local SSD appears only as a SCRATCH disk on instances. - A "service disabled" error during inventory is a finding, not a failure.