Chapter Two
Storage
Object storage, block storage, and shared file systems — three fundamentally different models. Choosing incorrectly between them is one of the most avoidable and consequential infrastructure mistakes.
Three Storage Models
The three storage services in this chapter serve different purposes and are not interchangeable:
WebAppCLI
bucketAny authorized client, anywhere reaches an object by key over HTTP/API — access gated by IAM, not a network mount. No filesystem, no mounting. Best for media, backups, and data-lake files.
VM
diskUsually one VM per disk. Mounted as a block device with a real filesystem, normally read-write on a single VM — multi-writer mode is the exception. One VM can mount several disks. Best for OS volumes and self-managed databases on Compute Engine (managed databases use Cloud SQL/Spanner instead).
VMVMVM
/sharedMany VMs, one share. A managed NFS file share mounted read-write by many VMs at once, with POSIX semantics, inside the VPC. Best for shared workspaces, render farms, and lift-and-shift apps.
| Model | Service | Access pattern | POSIX? | Shared access? |
|---|---|---|---|---|
| Object storage | Cloud Storage | Key-based HTTP GET/PUT | No | Yes, globally |
| Block storage | Persistent Disk | Mounted as device; filesystem I/O | Yes | Limited (read-only multi-attach) |
| Shared file system | Filestore | NFS mount; full filesystem I/O | Yes | Yes, within VPC |
Services in This Chapter
Service 06
Cloud Storage
Object storage for files, blobs, backups, and data lake workloads. Globally accessible, 11-nines durability, no capacity planning.
Service 07
Persistent Disk
Network-attached block storage for Compute Engine VMs and GKE nodes. Multiple disk types from HDD to high-performance SSD.
Service 08
Filestore
Managed NFS file system. Shared POSIX-compliant storage mountable across multiple VMs simultaneously.