Storage class

On this page 7

A storage class in cloud storage is a service tier assigned to each stored object that determines its price per gigabyte, retrieval cost and latency, availability target and minimum storage duration. Object storage services such as S3, Azure Blob Storage and Google Cloud Storage let the same bucket hold objects in different classes, so data can be placed in the tier that matches how often it is read.

The underlying trade-off is simple: cheaper storage means more expensive or slower access. Frequently used data belongs in a standard class, while backups and records kept for compliance belong in cold or archive classes. In object storage, the term should not be confused with a Kubernetes StorageClass, which describes how persistent volumes are provisioned.

How a storage class shapes cost and access

A storage class combines several pricing and service dimensions into one choice. Providers charge monthly for stored capacity, per request for reads and writes, and in colder classes also per gigabyte retrieved. The class also fixes the availability design, for example whether data is spread across several availability zones or kept in one.

Colder classes add two commitments that often surprise new users. A minimum storage duration means an object deleted or moved early is still billed for the full period, and a minimum billable object size means very small objects are charged as if they were larger. Both rules exist because colder tiers are priced on the assumption that data stays put.

The table below summarizes the dimensions that change between classes and why they matter.

DimensionWarmer classesColder classes
Capacity priceHighest per gigabyteLowest per gigabyte
Retrieval feeNone or minimalCharged per gigabyte read
First-byte latencyMillisecondsMilliseconds to many hours
Minimum storage durationNoneTypically 30 to 365 days
Request priceLower per operationHigher per operation
Availability targetHighestSame or lower
Dimensions that differ between storage classes

Storage classes at major providers

Each provider names its tiers differently, but they map onto the same hot, cool, cold and archive pattern. Durability in the standard multi-zone classes is generally designed at eleven nines or similar, so the choice is about cost and access rather than data safety.

Access patternS3Azure Blob StorageGoogle Cloud Storage
Frequent accessS3 StandardHot tierStandard
Infrequent, about monthlyStandard-IA, 30-day minimumCool tier, 30-day minimumNearline, 30-day minimum
Rare, quarterlyGlacier Instant Retrieval, 90-day minimumCold tier, 90-day minimumColdline, 90-day minimum
ArchiveGlacier Flexible Retrieval or Deep ArchiveArchive tier, 180-day minimumArchive, 365-day minimum
Unknown or changingIntelligent-TieringLifecycle rules between tiersAutoclass
Representative storage classes by provider

A notable difference concerns archive retrieval. In Google Cloud Storage the archive class remains readable in milliseconds at a high retrieval price, while S3 Glacier Flexible Retrieval, S3 Glacier Deep Archive and the Azure archive tier require a restore or rehydration step that takes from minutes to many hours before the object can be read.

A storage class is one of several settings that govern where and how objects live. It works together with lifecycle policies, redundancy options and bucket location, and is often confused with them.

ConceptWhat it controlsRelationship to storage class
Storage lifecycle policyAutomatic transitions and deletionsMoves objects between classes over time
Data durabilityProbability of losing an objectMostly similar across classes
Redundancy or location typeSingle zone, multi-zone or multi-regionSometimes part of the class, sometimes separate
Object versioningRetention of earlier versionsOld versions can sit in colder classes
Cold storageGeneral idea of rarely accessed dataImplemented through cold and archive classes
Storage class and neighboring concepts

Choosing and changing a storage class

Choosing a class starts with measured access patterns, not assumptions. Storage analytics or access logs show how often objects of a given prefix or age are read. A useful rule is to compare the monthly savings on capacity with the expected retrieval and request fees and with the minimum duration charge.

  • Set the class at upload when the access pattern is known, for example backups written directly to an infrequent or archive class.
  • Use lifecycle rules to move objects by age, such as to an infrequent class after 30 days and to archive after 180 days.
  • Use automatic tiering when access is unpredictable, accepting a small monitoring fee per object.
  • Aggregate small files into larger archives before moving them to cold classes, because per-object fees and minimum sizes dominate.
  • Test restore times for archive data before an incident, not during one.

Common mistakes with storage classes

Most storage class problems are billing surprises, not technical failures. They appear when data moves to a cold tier and is then read or deleted more often than expected.

MistakeConsequencePrevention
Archiving data that analytics still readsHigh retrieval and request billsCheck access logs before transitions
Deleting cold objects earlyEarly deletion chargesRespect minimum storage duration
Moving millions of tiny objectsTransition fees exceed savingsBundle files first
Assuming instant archive accessRecovery delayed by hoursPlan and rehearse restores
Ignoring old object versionsHidden capacity growthLifecycle rules for noncurrent versions
Typical mistakes and how to avoid them

In everyday language

A storage class is like choosing where to keep things in a home. Everyday items sit on the kitchen counter, where they are easy to grab. Seasonal clothes go in a closet. Old tax records go into boxes in the attic.

The attic is cheap space, but fetching something from it takes time and effort. Cloud storage works the same way: the less often you need something, the cheaper it is to keep, but the more it costs to get it back.

Seen in the real world

A video production company stores about 400 terabytes of raw footage in object storage. Editors use material from the current and previous month constantly, but older projects are opened only when a client requests a re-edit, which happens a few times per year.

The storage team sets a lifecycle policy: new footage stays in the standard class, moves to an infrequent access class after 60 days and to an archive class after one year. Project files are bundled into large archives before the last transition to avoid per-object fees. Clients are told that re-edits of projects older than a year need a day to restore the footage.

Monthly storage costs fall substantially because most of the data now sits in the colder tiers, while active projects keep millisecond access in the standard class.