Why Storage Design Matters
Azure provides multiple storage services, each optimized for different use cases. A Solution Architect must choose the right storage service by aligning application requirements (scalability, performance, cost, and access patterns) with the capabilities of each service.
Selecting the wrong service can lead to performance bottlenecks, unnecessary costs, or even application redesign later.
Azure Storage Options
1. Blob Storage
-
Type: Object storage for unstructured data.
-
Use Cases: Images, videos, backups, documents, logs.
-
Access Tiers: Hot, Cool, Archive (cost vs access frequency trade-offs).
-
Features:
-
Massively scalable.
-
Supports SAS (Shared Access Signatures) for secure access.
-
Integrates with CDN for content delivery.
-
Best for: Storing large amounts of unstructured data (media, backups, logs).
2. File Storage (Azure Files)
-
Type: Fully managed SMB (Server Message Block) file shares.
-
Use Cases: Lift-and-shift workloads, shared drives, legacy applications needing file shares.
-
Features:
-
Access via SMB or REST API.
-
Supports Azure AD and Active Directory authentication.
-
Can be mounted by on-prem and cloud-based systems.
-
Best for: Applications that need traditional file shares but want cloud-based storage.
3. Table Storage
-
Type: NoSQL key-value store.
-
Use Cases: Lightweight, schema-less data like IoT metadata, configuration settings, user profiles.
-
Features:
-
Very fast key-based lookups.
-
Low-cost, scalable.
-
Limited querying compared to Cosmos DB.
-
Best for: Simple, scalable NoSQL data storage when relational features are not required.
4. Queue Storage
-
Type: Messaging store for asynchronous communication between services.
-
Use Cases: Decoupling application components, order processing, background jobs.
-
Features:
-
Stores millions of messages.
-
Messages up to 64 KB each.
-
FIFO-style message processing (not strict ordering).
-
Best for: Message-based integration and decoupling between distributed systems.
Example Enterprise Scenario
An online retail application needs:
-
Product images stored cost-effectively.
-
A shared drive for back-office teams.
-
User profiles stored in a fast, schema-less database.
-
Order processing system that can handle spikes during sales.
Correct design:
-
Blob Storage for product images.
-
Azure Files for shared drives.
-
Table Storage for user profiles.
-
Queue Storage for order processing messages.
Confusion Buster
-
Blob vs File: Blob = object storage, File = SMB file share.
-
Table vs Cosmos DB: Table = simple key-value store, Cosmos DB = advanced NoSQL with global replication and multiple APIs.
-
Queue vs Service Bus: Queue Storage = simple messaging, Service Bus = advanced messaging with sessions, topics, and ordering.
Exam Tips
-
“Which storage service for large amounts of unstructured data?” → Blob.
-
“Which for SMB file shares in the cloud?” → File.
-
“Which for schema-less key-value storage?” → Table.
-
“Which for message-based communication?” → Queue.
What to Expect in the Exam
-
Direct Q: “Which service is used to store images and videos?” → Blob Storage.
-
Scenario Q: “Company wants to lift-and-shift apps using SMB file shares to the cloud.” → Azure Files.
-
Scenario Q: “Application needs schema-less storage for user preferences.” → Table Storage.
-
Trick Q: “Queue Storage guarantees strict message ordering.” → False.