Azure Storage Accounts
Blob, Files, Queues, Tables and the tiers between them
One storage account hosts Blob, Files, Queues and Tables plus access tiers and replication. Choose the right service, tier and redundancy (LRS/ZRS/GRS) for the data.
What you will learn
- Choose among Blob, Files, Queue and Table
- Understand access tiers and lifecycle policies
- Pick redundancy (LRS/ZRS/GRS) by durability need
A storage account bundles Blob (objects), Files (SMB), Queue (messages), Table (schemaless k/v). Underneath, redundancy is local (LRS), zone (ZRS) or geo (GRS); hot/cool/archive tiers trade cost for latency.
What is this?
Azure Storage is a managed service exposing four data families: Blob (unlimited objects with tiers), Files (SMB/NFS mounts), Queue (at-least-once messages), Table (schema-less NoSQL). Redundancy options: LRS (3 copies in one facility), ZRS (3 copies across zones), GRS/RA-GRS (secondary region copies). Access tiers Hot, Cool, Cold, Archive change cost/latency; lifecycle management automates transitions and deletions.
Why do you need it?
- Blob is the default landing zone for uploads, backups and static assets.
- Files gives you SMB without a file server — a migration fast-path for legacy apps.
- Queues billet serverless workloads and decouple producers from consumers.
- Choosing LRS vs GRS up front beats re-architecting when an auditor asks about durability.
Mental model
A warehouse with shelves, an office filing room, and a post room
Blob, Files, Queues
Blob = labeled boxes on shelves (objects); Files = the shared filing room everyone works in; Queues = the post room that hands messages along — everything has its landing zone and speed of access.
How it works
- Blob containers organize objects; each object can sit in a tier: Hot (frequent), Cool (~30d), Cold (~90d), Archive (~180d, slow restore).
- Files shares mount over SMB/NFS; Queues store up to 64KB messages with visibility timeout; Tables support indexable row storage.
- Redundancy is configured per account: LRS/ZRS protect local/zone failures; GRS replicates async to a second region.
- Access is controlled with account keys, SAS tokens (scoped+expiring), and Microsoft Entra-based access where supported.
- Lifecycle policies + soft delete + versioning protect against deletion and control cost.
Choosing the right storage service and redundancy.
In production
- A media app uploads to Blob (Hot), transcodes via Functions, and archives old originals to Cool then Archive by lifecycle rule.
- A Windows legacy app mounts a Files share for shared config; new pipeline mirrors it to Blob.
- A job runner enqueues work to a Queue consumed by a worker Function, with a dead-letter queue for failures.
Best practices
- Enable soft delete + versioning before any incident; they make accidents reversible.
- Assign customers/data sensitive to LRS/ZRS deliberately; reserved-confidential data often must stay in-region (GRS may violate that).
- Use SAS with short expiry and restricted permissions instead of account keys.
- Set lifecycle policies on buckets once; revisit tiering quarterly.
Common mistakes
- Using Blob like a filesystem — it's object storage with different latency/POSIX semantics.
- Toggling GRS 'just in case' and paying for cross-region replication constantly.
- Rotating stored account keys manually instead of using Entra-managed identity access.
- Forgetting queue messages time out — a slow worker means 'lost' items unless you handle invisible messages.
Common issues
Files mount hangs on LinuxNSG/firewall blocks SMB/NFS 445/2049 or mount target routing
Allow the port/rule and verify the mount command's share URL path.
Archive blob takes an hour to 'restore'You read from Archive tier without a rehydrate operation
Copy/Set-Tier to Hot/Cold and wait for rehydration status before reading.
Queue messages processed twiceVisibility timeout shorter than processing time, or crash after processing
Make consumers idempotent; extend visibility or use a processing-completion marker.
Debugging tips
- Object missing? Check soft-delete/versioning state and lifecycle removal events.
- Slow Blob downloads? Check tier (Archive restores are slow) and client location.
- Queue items vanish? Review the visibility timeout and dual-consumer processing.
- 'SharedAccessSignature' errors are expiry or scope problems — regenerate with correct scope.
Interview checkpoint
Quick quiz
Which redundancy replicates to a second region for disaster recovery?