Storage
Cloud providers offer three primary storage abstractions: object storage, block storage, and network file storage. Because each model exposes a fundamentally different interface, consistency model, and performance profile, choosing the appropriate storage architecture is one of the most critical decisions for application performance and infrastructure cost.
Selecting the right storage tier requires evaluating how application software interacts with data: whether systems need low-latency random access to raw disk sectors, shared concurrent filesystem mounts across multiple servers, or distributed, web-native file retrieval over HTTP.
Object storage
Object storagefiles stored whole in a flat namespace and read over HTTP, with no machine attached. It is the cheapest and most durable of the three kinds, and it cannot change part of a file.Full glossary entryIntroduced in Storage manages unstructured data as distinct files—called objects—within a flat, non-hierarchical namespace called a Bucketthe container that holds objects and carries their access rules. Private by default. Making one public takes a deliberate act, and it stays public for every object added later.Full glossary entryIntroduced in Storage. Rather than relying on traditional POSIX directory trees, each object is assigned a unique alphanumeric key that can mimic a file path (such as media/2026/report.pdf). Objects are read, written, and deleted in their entirety through standard RESTful HTTP/HTTPS requests.
Because object storage decouples data persistence from running compute instances, storage capacity scales virtually without limits. Providers split data across multiple independent storage nodes and availability zones using advanced erasure coding, achieving eleven nines (99.999999999%) of annual durability by default. Object storage is the most cost-effective storage tier per gigabyte, making it the ideal home for user-uploaded media, application log archives, database backups, analytics data lakes, and static website hosting.
The defining architectural constraint of object storage is immutability: objects cannot be modified in place. Updating a single byte requires overwriting and uploading the entire object. Consequently, object storage cannot host active database transaction logs or random-access filesystems, though it serves as the ultimate destination for point-in-time database backups.
Block storage
Block storagea network-attached volume that behaves as a local disk and outlives the machine it is attached to. One machine, one zone, at a time.Full glossary entryIntroduced in Virtual machines exposes raw, unformatted storage volumes across a dedicated storage network to a single virtual machine instance. To the guest operating system, a block volume behaves indistinguishably from a physical hard drive or solid-state disk: the kernel formats the volume with a native filesystem (such as ext4, XFS, or NTFS) and performs granular, sector-level reads and writes.
Because block storage delivers predictable, single-digit millisecond latency and high provisioned IOPS, it provides the storage foundation for operating system boot drives and relational or NoSQL database clusters. Unlike object stores, block volumes are provisioned for a fixed capacity and performance tier, accruing charges for the entire reserved size regardless of how much data is written.
Block volumes are inherently zonal: a volume resides in one specific availability zone and can only attach to instances within that same zone. Long-term durability and disaster recovery rely on Snapshota point-in-time copy of a block volume or a database, stored in object storage, and the source of a block volume's resilience.Full glossary entryIntroduced in Storage—point-in-time, incremental block-level copies that the provider automatically captures and stores in multi-zone object storage.
In addition to network-attached block volumes, many virtual machine types offer ephemeral local NVMe drives. While these local disks maximize read/write throughput and minimize latency by bypassing the storage network, their data is lost when an instance stops or undergoes hardware maintenance. Ephemeral disks are ideal for buffer pools, compilation caches, and scratch files, but should never store non-replicated primary state.
File storage
File storagea shared filesystem many machines mount at once over the network, for software that expects a folder several servers can see.Full glossary entryIntroduced in Storage provides managed network filesystems that hundreds of compute instances and container pods can mount simultaneously over standard protocols like NFS or SMB. This model preserves familiar POSIX directory hierarchies, file permissions, and file-locking mechanics across distributed fleets.
Network file storage is indispensable for applications requiring concurrent filesystem access: enterprise content management systems, shared application code repositories, and legacy monoliths designed around shared network directories. However, managed file storage carries a significant cost premium per gigabyte compared to object storage and exhibits higher latency on small-file operations than direct block volumes. For modern greenfield applications, designing components to communicate directly with object storage via signed HTTP links is generally preferable to maintaining shared network filesystems.
| Characteristic | Object Storage | Block Storage | Network File Storage |
|---|---|---|---|
| Interface protocol | RESTful HTTP/HTTPS API (GET, PUT, DELETE) | Block-level storage protocol (NVMe, iSCSI) | Network filesystem protocol (NFSv4, SMB) |
| Attachment model | Detached; globally accessible via network API | Attached to a single virtual machine instance | Mounted concurrently by multiple instances |
| In-place byte modification | No; modifications require full object overwrite | Yes; granular random read and write access to sectors | Yes; file-level random byte manipulation and POSIX locks |
| Default fault tolerance | Multi-zone redundancy (typically 99.999999999% durability) | Zonal; protected against single hardware failure | Tier-dependent (zonal or regional replication) |
| Primary workloads | Unstructured media, database backups, logs, static web assets | Operating system boot drives, relational database storage | Content management systems, shared directories, legacy applications |
Tiers and lifecycle
Object storage providers offer multiple storage classes tailored to data access frequency. Hot storage tiers charge standard rates for data retention while providing low-latency retrieval at minimal per-request cost. In contrast, cool and archive tiers drastically reduce monthly per-gigabyte storage rates while imposing higher access fees, minimum retention periods, and potential retrieval delays ranging from minutes to hours.
To prevent unconstrained data growth, organizations implement automated Lifecycle rulea schedule on a bucket that moves objects to a colder tier or deletes them by age.Full glossary entryIntroduced in Storage configurations. A lifecycle policy transitions objects between storage tiers based on age or access patterns—for example, moving application logs to an infrequent-access tier after 30 days, shifting them to an immutable archive tier after 90 days, and permanently expiring them after one year. Without lifecycle policies, storage accounts steadily expand over time, accumulating significant unnecessary costs for unread historical data.
Access
Storage buckets are private by default across all major cloud platforms; exposing data publicly requires an explicit administrative override. Misconfigured bucket policies remain one of the most frequent vectors for accidental data exposure in cloud environments.
Preserve private bucket permissions by generating temporary presigned URLs for external access.
- Maintain default private access controls and enable public access blocking on the object bucket.
- Generate a cryptographically signed URL with a short, specific expiration time for the requested object.
- Transmit the presigned URL directly to the authorized recipient or client application.
- Allow the signed URL to expire naturally without loosening underlying bucket policies.
Presigned URLs contain cryptographic signatures derived from your IAM credentials, allowing client browsers or third-party services to perform secure, direct uploads or downloads against private buckets without routing data through intermediary application servers.
Terms introduced
- Object storage: files stored whole in a flat namespace and read over HTTP, with no machine attached.
- Bucket: the container that holds objects and carries the access rules.
- Snapshot: a point-in-time copy of a block volume, stored in object storage.
- File storage: a shared filesystem many machines mount at once.
- Lifecycle rule: a schedule that moves objects to a colder tier or deletes them by age.
How providers do it
Core storage primitives—object storage, block storage, and network file systems—operate under similar design patterns across the major clouds. However, providers diverge in resource hierarchy models, access control scoping, and automated tiering mechanisms.
| Concept | AWS | Azure | Google Cloud |
|---|---|---|---|
| Object storage | Amazon S3 | Azure Blob Storage | Google Cloud Storage |
| Object container | Bucket | Container (inside a Storage Account) | Bucket |
| Persistent block storage | Elastic Block Store (EBS) | Azure Managed Disks | Persistent Disk, Hyperdisk |
| Ephemeral local disk | EC2 Instance Store | Temporary Disk | Local SSD |
| Managed network file storage | Amazon EFS; Amazon FSx | Azure Files | Google Cloud Filestore |
| Archival cold tiers | Standard-IA, Glacier Flexible/Deep Archive | Cool, Cold, Archive access tiers | Nearline, Coldline, Archive storage classes |
| Automated access-pattern tiering | S3 Intelligent-Tiering | Lifecycle management policies based on last-access | Cloud Storage Autoclass |
| Automated lifecycle policies | S3 Lifecycle Rules | Azure Blob Lifecycle Management | Object Lifecycle Management |
| Time-limited signed URLs | S3 Presigned URL | Shared Access Signature (SAS) token | Cloud Storage Signed URL |
| Persistent disk snapshot | Amazon EBS snapshot | Azure Disk snapshot | Persistent Disk snapshot |
| Global public access blocking | S3 Block Public Access | Disable anonymous access on Storage Account | Public Access Prevention |
Every product name and technical mapping above is confirmed against provider documentation. Specific data retrieval fees and minimum retention durations are detailed in the provider tabs below.
A vital governance distinction exists in Azure's storage hierarchy:
- In AWS S3 and Google Cloud Storage, buckets are top-level resources where access controls, public blocking policies, and replication settings are configured independently per bucket.
- In Azure Blob Storage, blobs reside inside containers, which reside inside an Azure Storage Account. Critical security and infrastructure configurations—including geographic redundancy and public anonymous access restrictions—are enforced at the parent storage account level. Hosting multiple disparate workloads in a single storage account forces all containers to share the same security posture.
- AWS
- Azure
- Google Cloud
What this maps to: Amazon S3 for object storage. EBS for block storage and Amazon EFS for file storage. S3 is the oldest AWS service, and most of the others read from it or write to it.
| Concept | On AWS | Status |
|---|---|---|
| Object storage | S3. Bucket names are globally unique across all accounts | confirmed |
| Tiers | S3 Standard, Standard-IA (infrequent access), Glacier Instant Retrieval, Glacier Flexible Retrieval, Glacier Deep Archive. Intelligent-Tiering moves objects between tiers by access pattern for a monitoring fee | confirmed |
| Lifecycle rule | S3 Lifecycle configuration on the bucket, by prefix or tag | confirmed |
| Signed link | A presigned URL, valid for a period you set when signing | confirmed |
| Keeping buckets private | S3 Block Public Access, on by default for new buckets and settable at the account level | confirmed |
| Block storage | EBS volumes, one instance, one AZ | confirmed |
| Snapshot | EBS snapshot, stored in S3, incremental after the first | confirmed |
| File storage | EFS, mounted by NFS from many instances across AZs. FSx for Windows, Lustre, NetApp ONTAP, and OpenZFS filesystems | confirmed |
| Durability | S3 stores objects across at least three AZs in the region by default, except the One Zone classes | confirmed |
Their vocabulary
| Standard term | Their term |
|---|---|
| Object key | Key |
| Colder tier | Storage class |
| Signed link | Presigned URL |
Where to look
S3 Storage Lens reports size and cost by bucket and class. To check whether Block Public Access is on, open the bucket's Permissions tab.
Last verified: never.
What this maps to: Azure Blob Storage for object storage, managed disks for block storage, and Azure Files for file storage. Blobs, files, queues, and tables all live inside a storage account. The account is the unit that carries the settings.
| Concept | On Azure | Status |
|---|---|---|
| Object storage | Blob Storage. A storage account holds containers, which hold blobs. Account names are globally unique | confirmed |
| Bucket | A container, in the Blob sense; the storage account's settings apply to all of them | confirmed |
| Tiers | Access tiers: Hot, Cool, Cold, and Archive, settable per blob or as the account default. Archive must be rehydrated before it can be read | confirmed |
| Lifecycle rule | Lifecycle management policy on the storage account | confirmed |
| Signed link | A shared access signature (SAS), scoped to a blob, container, or account, with an expiry | confirmed |
| Keeping buckets private | Allow Blob anonymous access on the storage account, off by default for new accounts | confirmed |
| Redundancy | Chosen per account: LRS (one zone), ZRS (three zones), GRS and GZRS (a second region), with read-access variants | confirmed |
| Block storage | Managed disks, one VM, one zone; zone-redundant disks on some tiers | confirmed |
| Snapshot | Disk snapshot, full or incremental | confirmed |
| File storage | Azure Files, over SMB or NFS, with Azure File Sync to a Windows file server | confirmed |
Their vocabulary
| Standard term | Their term |
|---|---|
| Bucket | Container |
| Object | Blob |
| Colder tier | Access tier |
| Signed link | SAS URL |
| Survives a zone | ZRS |
Where to look
The storage account's Overview shows redundancy and the anonymous access setting. Storage insights in Azure Monitor shows capacity and transactions by tier.
Last verified: never.
What this maps to: Cloud Storage for object storage, Persistent Disk and Hyperdisk for block, Filestore for file.
| Concept | On Google Cloud | Status |
|---|---|---|
| Object storage | Cloud Storage. Bucket names are globally unique. A bucket's location is a region, a dual-region, or a multi-region | confirmed |
| Tiers | Storage classes: Standard, Nearline, Coldline, Archive. Each colder class has a minimum storage duration and a higher retrieval charge. Autoclass moves objects between classes by access | confirmed |
| Lifecycle rule | Object Lifecycle Management on the bucket | confirmed |
| Signed link | A signed URL, made with a service account's key or by having the service sign it | confirmed |
| Keeping buckets private | Public access prevention, settable on the bucket or as an organization policy | confirmed |
| Access model | Uniform bucket-level access applies IAM to the whole bucket and is the recommended setting; per-object ACLs are the legacy alternative | confirmed |
| Block storage | Persistent Disk (zonal or regional) and Hyperdisk with tunable throughput and IOPS | confirmed |
| Snapshot | Disk snapshot, incremental, stored in Cloud Storage | confirmed |
| File storage | Filestore, NFS, in tiers from basic to enterprise | confirmed |
Their vocabulary
| Standard term | Their term |
|---|---|
| Colder tier | Storage class |
| Signed link | Signed URL |
| Survives a region | Dual-region or multi-region bucket |
Where to look
The bucket's Configuration tab shows location, class, public access prevention, and lifecycle rules. Billing reports break down Cloud Storage by class and operation.
Last verified: never.