Azure Storage Overview: Blobs, Files, Queues, and Tables

Azure Storage is Microsoft’s managed cloud storage platform. It covers four distinct services — Blob, Files, Queues, and Tables — each designed for a different data shape. Understanding which service handles which job is the first step to building anything in Azure.

What Azure Storage actually is

When most people say “Azure Storage,” they mean a single Azure Storage account. A storage account is a container (in the Azure resource sense, not a Docker container) that holds your data and gives it a globally unique URL. That account can host any combination of the four storage services.

Every storage account gets endpoints in this pattern:

  • Blob: https://<account>.blob.core.windows.net
  • Files: https://<account>.file.core.windows.net
  • Queues: https://<account>.queue.core.windows.net
  • Tables: https://<account>.table.core.windows.net

All four services live under one account name, one billing entity, and one set of access controls. You pay for what you use in each service independently.

The four storage services

Blob Storage

Blob stands for Binary Large Object. It stores files as objects — any file, any size, no folder structure required (though you can simulate folders with path-style names). This is the most commonly used Azure Storage service.

Use Blob Storage for images, video, audio, documents, backups, log files, static website files, and any other unstructured data. Files are stored inside logical groupings called containers (not to be confused with Docker containers).

Azure Files

Azure Files provides managed file shares you can mount just like a network drive. It uses the Server Message Block (SMB) protocol on Windows and NFS on Linux. If your application was written expecting a file system path like /mnt/share/reports, Azure Files can replace an on-premises NFS or Windows file server without changing your application code.

Azure Files also supports Azure File Sync, which replicates a cloud share to on-premises Windows servers — useful for hybrid scenarios where some offices need local speed and others need cloud access.

Azure Queue Storage

Queue Storage is a simple message queue. Your applications put text messages into a queue (up to 64 KB each), and other applications read and delete them. It’s designed to decouple producers from consumers: a web server drops a job request into the queue, and a worker process picks it up whenever it’s free.

Queue Storage is not a full messaging system. It doesn’t support topics, subscriptions, or dead-letter handling. For those features, look at Azure Service Bus. But if you need a dead-simple queue with high durability and no infrastructure to manage, Queue Storage does the job at very low cost.

Azure Table Storage

Table Storage is a NoSQL key-value store. Each table contains entities (rows) with a partition key, a row key, and up to 252 custom properties. Queries must include the partition key to perform well; full-table scans are slow and expensive.

Table Storage is a good fit for device telemetry, event logs, or any data where you know your access patterns in advance. If you need global distribution, secondary indexes, or complex queries, upgrade to Cosmos DB — which has a Table-compatible API so you can migrate without rewriting your code.

Storage account types

When you create a storage account, you choose a type. The type determines which services are available and what performance tier you get.

Account typeServices includedBest for
Standard general-purpose v2 (GPv2)Blobs, Files, Queues, TablesMost workloads — the default choice
Premium block blobsBlobs onlyHigh-throughput blob workloads (AI training, analytics)
Premium file sharesFiles onlyLow-latency file shares for databases and apps
Premium page blobsPage blobs onlyVirtual machine disks (Azure Managed Disks)

For most learners and most applications, Standard GPv2 is the right choice. It gives you all four services, supports hot/cool/cold/archive access tiers, and costs the least per gigabyte for typical workloads.

Redundancy options

Azure Storage always keeps multiple copies of your data. You choose how many copies and where they go.

OptionCopiesLocation
LRS (Locally Redundant)3Same datacenter
ZRS (Zone Redundant)33 availability zones in same region
GRS (Geo-Redundant)63 local + 3 in a paired region
GZRS (Geo-Zone Redundant)63 zones locally + 3 in a paired region

LRS is the cheapest and fine for development. For production data you can’t afford to lose, use ZRS at minimum. For disaster recovery scenarios, GRS or GZRS ensure your data survives a regional outage.

Creating a storage account with Azure CLI

Here’s how to create a Standard GPv2 storage account with zone redundancy in the East US region:

# Create a resource group first
az group create \
  --name my-storage-rg \
  --location eastus

# Create the storage account
az storage account create \
  --name mystorageaccount123 \
  --resource-group my-storage-rg \
  --location eastus \
  --sku Standard_ZRS \
  --kind StorageV2 \
  --access-tier Hot

# View the account details
az storage account show \
  --name mystorageaccount123 \
  --resource-group my-storage-rg \
  --output table

Storage account names must be globally unique, 3-24 characters, lowercase letters and numbers only. If your name is taken, try adding your initials or a random number.

The —sku flag controls redundancy:

  • Standard_LRS — locally redundant (cheapest)
  • Standard_ZRS — zone redundant
  • Standard_GRS — geo-redundant
  • Standard_GZRS — geo-zone redundant

Choosing between the four services

Use this decision tree when you’re not sure which service to use:

  1. Do you need to store files that applications will read as a mounted drive? Use Azure Files.
  2. Do you need to pass messages between app components? Use Queue Storage (simple) or Service Bus (advanced).
  3. Do you need to store structured data with key-based lookups? Use Table Storage (or Cosmos DB for more power).
  4. Everything else — images, videos, documents, logs, backups, static websites — use Blob Storage.

Blob Storage is the workhorse of the group. Most Azure architectures use it heavily, and the rest of this Storage Services section covers it in depth.

Note

Azure Disk Storage — the block storage used for virtual machine OS and data disks — is a separate product from Azure Storage. It uses the same underlying infrastructure but is managed and billed differently. You typically interact with VM disks through Azure Managed Disks, not through the storage account APIs.

Common mistakes

  1. Using LRS in production for critical data. LRS keeps three copies in one datacenter. A facility fire or power outage could make your data temporarily or permanently inaccessible. Use ZRS or GRS for anything important.
  2. Treating the storage account name as a secret. The account name is part of the public URL. The actual secrets are the access keys and SAS tokens — keep those secret, not the account name.
  3. Creating a new storage account for every application. One account can hold many containers, file shares, queues, and tables. Creating a new account per app leads to unnecessary cost and management overhead. Group related workloads into one account.
  4. Forgetting that account names are permanent. You cannot rename a storage account. Once created, the name is locked in. Choose a name that makes sense for the long term, or use a naming convention you can stick to.

Frequently asked questions

What is an Azure Storage account?

A storage account is a top-level Azure resource that acts as a namespace for all your storage data. It gives you a unique URL endpoint and holds one or more storage services (Blobs, Files, Queues, Tables).

How is Azure Blob Storage different from Azure Files?

Blob Storage is object storage — great for unstructured data like images, backups, and logs. Azure Files presents data as a traditional file share you can mount with SMB or NFS, so it works with existing apps that expect a file system.

Is Azure Table Storage the same as Cosmos DB?

They share an API surface, but they are different products. Azure Table Storage is simple, low-cost, and limited in querying. Cosmos DB Table API is globally distributed, faster, and more expensive. You can migrate between them without changing your code.

Last verified: 19 March 2026 Cloud services change frequently. Verify details against official documentation before making infrastructure decisions.