Compare the three types of cloud storage: block, file, and object, along with the concepts of buckets, objects, metadata, and lifecycle policies with the hot, cool, cold, and archive storage tiers, complete with CLI command examples.

In episode 6, you ran a VM and learned how to choose and pay for compute. But a machine without storage is like an empty house — there's nowhere to keep anything. Episode 7 covers how data is stored in the cloud.
We'll break down the three storage types that are often confused: block, file, and object storage. Then we'll go deeper into object storage — buckets, objects, metadata, storage tiers, and lifecycle policies — because it's the foundation of modern architecture. At the end of the episode there's a comparison of the three providers along with CLI command examples.
These three types differ in how data is accessed and what they're designed for. The easiest analogy: three ways of storing items in an office.
| Type | AWS | GCP | Azure | Access method | Latency |
|---|---|---|---|---|---|
| Block | EBS | Persistent Disk | Managed Disks | Attached to one VM | Very low |
| File | EFS | Filestore | Azure Files | Many VMs via NFS/SMB | Low |
| Object | S3 | Cloud Storage | Blob Storage | HTTP API | Medium |
Block storage is the "disk" attached to a VM. On AWS it's called EBS, on GCP Persistent Disk, on Azure Managed Disks. A volume is created with a certain size, attached to the instance, then formatted and mounted like a regular hard drive.
The important patterns:
Tip
Separating data from compute is one of the cloud's biggest advantages. Because a block volume can be detached from one instance and attached to another, you can replace an instance (for example, upgrading its type) without losing data. Never store important data on an instance's ephemeral local disk — it disappears the moment the instance is stopped.
File storage answers the need for "several machines reading the same files". On AWS it's called EFS (Elastic File System), on GCP Filestore, on Azure Azure Files. It's exposed as an NFS or SMB mount point that can be attached to many VMs at once.
This is the right solution when several web servers need to share an upload directory, shared configuration, or static content generated by one process and read by others. Unlike block storage, which attaches to a single machine, file storage is shared — this difference is what determines when to use which.
Now for the star of this episode: object storage. On AWS it's called S3, on GCP Cloud Storage, on Azure Blob Storage. How it works is very different from the previous two types:
reports/januari.pdf is only part of the name (key), not a real folder.aws s3 cp or gsutil cp. No disk mount required.Important
Because a key is just a string, naming objects is a design decision. Don't put dates at the start of names for frequently accessed data — keys that resemble paths can be used to partition lookups. More importantly, enable versioning and bucket policies that restrict public access: a misconfigured bucket is a leading cause of data leaks in the cloud.
# AWS S3
aws s3 cp laporan-bulanan.pdf s3://backup-produksi/reports/
aws s3 ls s3://backup-produksi/reports/
# GCP Cloud Storage
gsutil cp laporan-bulanan.pdf gs://backup-produksi/reports/
gsutil ls gs://backup-produksi/reports/Notice the pattern: aws s3 cp and gsutil cp use the same URI — the bucket name followed by a key. The main difference is at the permission and SDK level, not the concept.
Not all data is equally "hot". Files accessed thousands of times a day deserve low-latency, expensive storage; archive files that may never be opened again can live on cheap, slow storage. Every provider offers storage tiers with a cost-versus-speed trade-off:
| Need | AWS | GCP | Azure |
|---|---|---|---|
| Frequently accessed (hot) | S3 Standard | Standard | Hot |
| Rarely, needs fast (cool) | S3 Standard-IA | Nearline | Cool |
| Cold architecture (cold) | S3 Glacier | Coldline | Cold |
| Years-long archives | S3 Glacier Deep Archive | Archive | Archive |
Managing tier transitions manually is tedious and error-prone. The solution: lifecycle policies — automatic rules that move objects between tiers based on age or the last access date.
{
"Rules": [
{
"Id": "ArchiveAfter90Days",
"Status": "Enabled",
"Filter": { "Prefix": "reports/" },
"Transitions": [
{ "Days": 30, "StorageClass": "STANDARD_IA" },
{ "Days": 90, "StorageClass": "GLACIER" }
],
"Expiration": { "Days": 365 }
}
]
}Read the rule above: all objects with the reports/ prefix that are 30 days old are moved to the STANDARD_IA tier, on day 90 to GLACIER, and on day 365 they're deleted. Without a single line of code, storage costs drop automatically as data ages.
Warning
Before moving data to an archive tier, think again about how quickly that data might be needed. Restoring from Glacier can take hours, and from Deep Archive days. Data that might be needed suddenly should stay in the hot or cool tier. Keep archive tiers strictly for compliance data and backups that truly won't be opened anytime soon.
Summarized in one map, the three storage types across the three providers look like this:
| Type | AWS | GCP | Azure | When to use |
|---|---|---|---|---|
| Block | EBS | Persistent Disk | Managed Disks | Databases and VM filesystems |
| File | EFS | Filestore | Azure Files | Sharing files between many VMs |
| Object | S3 | Cloud Storage | Blob Storage | Media, backups, data lakes, archives |
In this episode 7, you distinguished the three types of cloud storage: block for disks attached to one VM, file for sharing between VMs, and object for unlimited storage via an API. We also covered buckets, objects, metadata, the hot-to-archive storage tiers, and lifecycle policies that automate data movement to keep costs low.
The keys to take away:
Your architecture now has networking, machines, and storage. But one machine is still a single point of failure. In the next episode, episode 8, we'll discuss Cloud Load Balancing & Auto-Scaling — how to distribute traffic across many machines, avoid total failures, and make capacity follow load automatically.