Home / Azure

AzureHow-toBeginner

Azure storage types explained: Blob, Data Lake, Files, Disks, Queues, Tables, NetApp Files and more, with the workload each one fits

A plain guide to every Azure storage option - what each one is, its key features, redundancy and tiers, and which workload should use it - with az CLI examples and a workload-to-service table.

Deepak Bhardwaj11 min read

Applies toAzure Storage accounts (Blob, Data Lake Storage Gen2, Files, Queue, Table), Azure managed disks, Azure NetApp Files, Azure Elastic SAN, Azure Managed Lustre; Azure CLI 2.x

The one question that decides it

Before looking at any service, ask how the application reads and writes the data:

The application talks to storage as... Azure service family
Objects over HTTPS (REST, SDK, abfss://) Blob Storage / Data Lake Storage Gen2
A network drive or mount (SMB or NFS) Azure Files, Azure NetApp Files
A local disk attached to a VM Managed disks, Elastic SAN
A message queue between components Queue Storage
A simple key-value table Table Storage
A parallel file system for HPC / AI training Azure Managed Lustre

Get the access pattern right and most of the other choices (performance, cost, backup) follow from it. Pick the wrong family and no amount of tuning fixes it.

Storage accounts: the container for four services

Blob, Files, Queue and Table all live inside a storage account. The account sets the name (<name>.blob.core.windows.net), the redundancy, the network rules and the default access tier.

Account kind Services Disk type Use it for
Standard general-purpose v2 (StorageV2) Blob, Data Lake, Files, Queue, Table HDD-backed The default for almost everything
Premium block blobs (BlockBlobStorage) Block and append blobs SSD Low-latency object workloads, many small writes, analytics hot zones
Premium file shares (FileStorage) Azure Files only SSD Production SMB/NFS shares, FSLogix, databases on shares
Premium page blobs (StorageV2, Premium SKU) Page blobs only SSD Rare; unmanaged VHDs in legacy setups

General-purpose v1 and legacy BlobStorage accounts still exist, but don't create new ones; upgrade them to v2.

Redundancy options

SKU Copies kept Survives
LRS 3 copies in one datacenter Disk or rack failure
ZRS 3 copies across availability zones Loss of one zone
GRS / RA-GRS LRS here + LRS in the paired region (RA = readable secondary) Region outage (after failover)
GZRS / RA-GZRS ZRS here + LRS in the paired region Zone loss and region outage

Premium accounts support LRS and, in many regions, ZRS. Geo-redundancy is Standard only. For how failover works, see Azure Storage geo-redundancy and failover.

Warning

Redundancy is not backup. If someone deletes a container, the delete is replicated to every copy. Turn on soft delete and versioning as well; see recovering deleted blobs and containers.

Blob Storage: objects at any scale

Blob Storage holds unstructured data as objects in containers. There are three blob types:

  • Block blobs: files, images, backups, logs, Parquet. This is 99% of usage.
  • Append blobs: optimised for appending only, such as log files written by many writers.
  • Page blobs: random-access 512-byte pages; the format behind VHDs.

Access tiers

Tier Typical data Minimum retention before early-deletion charge
Hot Read or written often None
Cool Read rarely, needs instant access 30 days
Cold Read very rarely, needs instant access 90 days
Archive Offline; must be rehydrated before reading (hours) 180 days

Storage gets cheaper as you go down the table, but reads and transactions get more expensive. Archive is supported on LRS, GRS and RA-GRS accounts, not on ZRS or GZRS. Automate the moves with lifecycle rules: Azure Blob lifecycle management and access tiers.

# Move one blob to Cool, and rehydrate an archived blob with high priority
az storage blob set-tier --account-name stdata01 --container-name reports \
  --name 2025/q4.parquet --tier Cool --auth-mode login

az storage blob set-tier --account-name stdata01 --container-name archive \
  --name 2019/ledger.csv --tier Hot --rehydrate-priority High --auth-mode login

Key features

  • Soft delete for blobs and containers, versioning, point-in-time restore.
  • Immutable storage (time-based retention and legal hold) for WORM compliance.
  • Object replication between accounts, change feed, blob index tags.
  • Static website hosting from the $web container.
  • Entra ID RBAC (Storage Blob Data Reader/Contributor), SAS tokens, private endpoints.

Use it for: backups and archives, media, application uploads, log retention, static websites, landing zones for data pipelines.

Data Lake Storage Gen2: Blob with folders and ACLs

Data Lake Storage Gen2 is not a separate service. It is a StorageV2 account with hierarchical namespace (HNS) enabled. That gives you:

  • Real directories: renaming or deleting a folder is one atomic operation, not millions of blob copies.
  • POSIX-style ACLs on folders and files, on top of RBAC.
  • The abfss:// driver used by Spark, Databricks, Synapse and Fabric shortcuts.
  • Optional NFS 3.0 and SFTP endpoints.
az storage account create -g rg-data -n stlakeprod01 -l centralindia \
  --kind StorageV2 --sku Standard_ZRS --hns true \
  --min-tls-version TLS1_2 --allow-blob-public-access false

Tip

Decide on HNS when you create the account. An existing account can be upgraded, but the upgrade is one-way and some Blob features behave differently with HNS, so test first.

Use it for: data lakes, lakehouse (Delta, Iceberg), Databricks and Synapse workloads, big-data analytics. See storage options for Databricks.

Azure Files: managed file shares

Azure Files gives you SMB and NFS shares without running a file server.

Option Protocols Media Notes
Standard shares (in StorageV2) SMB, REST HDD Tiers: transaction optimised, hot, cool
Premium shares (FileStorage) SMB, NFS 4.1, REST SSD Consistent low latency; NFS requires Premium

Key features: identity-based SMB auth (on-premises AD DS, Entra Domain Services or Entra Kerberos for hybrid identities), share snapshots, Azure Backup integration, and Azure File Sync, which caches a share on Windows file servers on-premises.

# Premium account + NFS share (NFS needs a private endpoint or service endpoint, not public access)
az storage account create -g rg-app -n stfilesprem01 -l centralindia \
  --kind FileStorage --sku Premium_ZRS --https-only false
az storage share-rm create -g rg-app --storage-account stfilesprem01 \
  --name appdata --quota 1024 --enabled-protocols NFS --root-squash RootSquash

--https-only false is needed only because NFS 4.1 does not use HTTPS; keep the account private with network rules.

Warning

SMB uses TCP 445, which many ISPs and corporate networks block. Users connecting from home usually need a VPN or private connectivity.

Use it for: lift-and-shift file servers, shared app configuration, user profiles (FSLogix for AVD), container persistent volumes that need ReadWriteMany.

Managed disks: block storage for VMs

Managed disks are virtual disks attached to one VM (or several, with shared disks).

Disk type Best for Notes
Ultra Disk Top-tier databases (SQL Server, Oracle, SAP HANA) IOPS and throughput set separately and changeable live; not an OS disk
Premium SSD v2 Most production databases and busy apps Pick size, IOPS and MB/s independently; not an OS disk; zonal
Premium SSD Production VMs, OS disks Performance tied to disk size; supports bursting
Standard SSD Web servers, dev/test, light apps Cheaper, consistent but lower performance
Standard HDD Backups, rarely used data Lowest cost, highest latency
az disk create -g rg-db -n sqldata01 -l centralindia --zone 1 \
  --sku PremiumV2_LRS --size-gb 512 \
  --disk-iops-read-write 8000 --disk-mbps-read-write 300

Also worth knowing: ephemeral OS disks (stored on the host, free, lost on reallocation; good for stateless scale sets and AKS nodes), shared disks for clustered workloads such as SQL Server FCI, and disk snapshots for quick restore points. Right-sizing guidance: managed disks and Premium SSD v2.

Use it for: VM OS disks, databases on IaaS VMs, any application that expects a local drive letter or mount.

Queue Storage and Table Storage

Queue Storage is a simple, cheap message queue over HTTPS. Messages are up to 64 KB, and a queue can hold millions of messages. Use it to decouple a web front end from background workers. If you need ordering, sessions, topics or dead-lettering, use Azure Service Bus instead.

Table Storage is a NoSQL key-attribute store addressed by PartitionKey and RowKey. It is cheap and fast for lookups by key, but it has no secondary indexes. If you need global distribution or secondary indexes, use Azure Cosmos DB for Table (same API).

az storage queue create --account-name stapp01 --name orders --auth-mode login
az storage table create --account-name stapp01 --name devicestatus --auth-mode login

Use them for: job queues, simple event hand-off, device or session state, audit records looked up by key.

Specialist storage services

Service What it is Use it for
Azure NetApp Files Enterprise NAS (NFSv3, NFSv4.1, SMB, dual-protocol) with Standard, Premium and Ultra service levels; instant snapshots and cross-region replication SAP HANA, Oracle on NFS, EDA/HPC, large VDI estates, apps that need very low file latency
Azure Elastic SAN Pooled block storage presented over iSCSI, shared by many VMs or AKS Consolidating many disks, migrating on-premises SAN workloads
Azure Managed Lustre Managed Lustre parallel file system that can import from and export to Blob HPC, AI/ML training that reads huge datasets in parallel
Azure Container Storage Volume orchestration for AKS on top of disks, Elastic SAN or local NVMe Stateful containers that need fast persistent volumes

For a deeper comparison of the file and block options, read choosing between Blob, Files, NetApp Files, disks and Elastic SAN.

Which storage for which workload

Workload First choice Why
Backups, archives, compliance copies Blob (Cool/Cold/Archive) + immutability Cheapest per GB, WORM policies
Data lake / lakehouse Data Lake Storage Gen2 (ZRS) HNS, ACLs, abfss:// for Spark
Website images, downloads, static site Blob (Hot) + Front Door/CDN HTTP access, scales automatically
Windows file server migration Azure Files (+ File Sync) SMB with AD permissions, no server to patch
AVD user profiles (FSLogix) Azure Files Premium or NetApp Files Low latency at logon storms
SQL Server / Oracle on VMs Premium SSD v2 or Ultra Disk Tunable IOPS and throughput
SAP HANA, high-performance NFS Azure NetApp Files or Ultra Disk Certified, very low latency
AKS ReadWriteOnce volumes Managed disks (CSI) Fast, one pod at a time
AKS ReadWriteMany volumes Azure Files (NFS Premium) or NetApp Files Shared across pods
Background job hand-off Queue Storage (or Service Bus) Decouples producers and workers
AI training datasets Blob/ADLS + Managed Lustre cache Cheap capacity plus parallel reads
Dev/test VMs Standard SSD Good enough, much cheaper

Quick checklist before you create anything

  1. Access pattern: object, file (SMB/NFS), block, queue or table?
  2. Performance: is Standard enough, or do you need Premium / Premium SSD v2 / Ultra?
  3. Redundancy: LRS for dev, ZRS for production, GZRS when you need a regional DR copy.
  4. Tiering: will the data cool down? Add lifecycle rules on day one.
  5. Security: disable public blob access and shared key where possible, use private endpoints and Entra ID RBAC. Baseline: Azure Storage account secure baseline.
  6. Protection: soft delete, versioning, Azure Backup or snapshots, depending on the service.
  7. Cost: check the current pricing page for capacity, transactions, egress and early-deletion charges; transaction costs often surprise teams more than capacity.

Prevent it next time

  • Put the decision table above into your landing zone design document so teams pick storage by workload, not by habit.
  • Enforce the basics with Azure Policy: allowed SKUs, secure transfer, no public blob access, minimum TLS 1.2.
  • Review storage monthly with Azure Advisor and Cost Management to catch Hot data that should be Cool, and oversized Premium disks.