Sequence 1 โ€” Foundations & Architecture of Azure Storage

Prerequisites: None โ€” this is the entry point. ยท What you'll be able to do: name the four core data services and position the related ones ยท explain the account โ†’ service โ†’ container/share โ†’ object hierarchy ยท parse and construct any storage endpoint URL ยท state the headline scalability limits and why they matter. ยท Est. time: ~12 min

1. The big picture: what Azure Storage is

Azure Storage is Microsoft's cloud storage platform. Everything you store lives in a storage account, is reachable from anywhere over HTTP/HTTPS via a REST API (plus client libraries for .NET, Java, Python, JavaScript, Go, C++), and inherits five platform guarantees worth memorizing:

  • Durable & highly available โ€” multiple copies are kept; you choose how widely they replicate (redundancy is Sequence 3).
  • Secure โ€” all data is encrypted at rest by the service, automatically (encryption is Sequence 4); access is finely controlled (auth is Sequences 6โ€“9).
  • Scalable โ€” designed for massive capacity and throughput.
  • Managed โ€” Microsoft handles hardware, patching, and failures.
  • Accessible โ€” reachable via portal, Azure CLI, Az PowerShell, AzCopy, Storage Explorer, REST, and SDKs.

Mnemonic: D-S-S-M-A (Durable, Secure, Scalable, Managed, Accessible).

The Azure Storage platform hosts four core data services, all addressed through a storage account. Memorize these four cold โ€” they are the spine of the whole module.

ServiceStoresShape of dataTypical use
Azure BlobsObjects (text/binary)UnstructuredImages, video/audio streaming, backups, archives, data lakes (Sequences 10โ€“12)
Azure FilesManaged file sharesHierarchical files/foldersLift-and-shift, replace on-prem file servers/NAS, shared config (Sequences 9 & 13)
Azure QueuesMessagesAsynchronous messagesDecouple app components; messages up to 64 KB, millions per queue
Azure TablesKey/attribute entitiesSchemaless NoSQLFlexible metadata, address books, device data

Correction / clarification: older material lumps everything as "Azure AD" or "blob storage." Current terminology is Microsoft Entra ID for identity and the four blob tiers are Hot / Cool / Cold / Archive. Azure Table Storage is now documented under Azure Cosmos DB, but the classic Table service in a storage account still exists and is what AZ-104 means by "Table".

Related storage services โ€” know what they are, not how to run them. They are not general data services inside a standard account:

Related serviceOne-line position
Azure managed disksVirtual hard disks for VMs; an abstraction over page blobs
Azure Elastic SANFully managed SAN, accessed over iSCSI, for large IO-intensive databases
Azure Container StorageVolume orchestration for Kubernetes / stateful containers
Azure NetApp FilesEnterprise NAS (NFS/SMB) for demanding, low-latency workloads (e.g. SAP HANA)

Memory hook โ€” the four core services are B-F-Q-T (Blob, Files, Queue, Table). Disks, Elastic SAN, Container Storage, and NetApp Files sit around the platform, not inside the standard account.

3. The storage account: namespace + management boundary

A storage account is the top-level container for all your Blob, Files, Queue, and Table data. Two ideas to lock in:

  1. It is a unique namespace. Every object gets a URL built from your globally unique account name. Because the name becomes a DNS subdomain, it must be unique across all of Azure.
  2. It is the management/billing boundary. Redundancy, default encryption, networking, and billing are configured per account, and all objects in an account are billed together.

Account naming rules (commonly tested):

  • 3โ€“24 characters, lowercase letters and numbers only (no hyphens, no uppercase).
  • Globally unique across Azure.

The recommended account type for almost everything is Standard general-purpose v2 (GPv2) โ€” it supports all four services. Premium tiers (block blob, file shares, page blob) are SSD-backed and service-specific. You cannot change an account's type after creation โ€” to switch, you create a new account and copy the data. (Account creation and type selection are Sequence 2.)

4. The resource hierarchy

Each service nests objects inside a per-service container, all under the one account. Internalize this chain โ€” it explains every URL and every permission scope later in the module.

Storage account(globally unique namespace)Blob serviceFile serviceQueue serviceTable serviceContainerBlob(block / append / page)File shareDirectory / FileQueueMessage (โ‰ค 64 KB)TableEntity (row)

The pattern is always: account โ†’ service โ†’ container โ†’ object. The middle "container" word just changes per service:

Service"Container" level"Object" level
BlobContainerBlob
FilesFile shareFile / directory
QueueQueueMessage
TableTableEntity

5. Service endpoints & URL structure

Because the account name is a DNS subdomain, each service has its own endpoint. A standard endpoint = https:// + account name + a fixed per-service domain. Memorize the four core service subdomains:

ServiceStandard endpoint
Blobhttps://<account>.blob.core.windows.net
Fileshttps://<account>.file.core.windows.net
Queuehttps://<account>.queue.core.windows.net
Tablehttps://<account>.table.core.windows.net
Data Lake (Blob w/ HNS)https://<account>.dfs.core.windows.net
Static website (Blob)https://<account>.web.core.windows.net

To address an object, append its path to the service endpoint:

https://<account>.blob.core.windows.net/<container>/<blob>
https://<account>.file.core.windows.net/<share>/<directory>/<file>

Build-an-endpoint drill (B-F-Q-T โ†’ blob, file, queue, table): given account salesdata, its Files endpoint is https://salesdata.file.core.windows.net.

Practical notes: Prefer HTTPS. Treat the endpoint hostname as stable, but never hard-code the resolved IP address โ€” the underlying DNS CNAME/A records can change without notice; honor the DNS TTL. (Azure DNS zone endpoints โ€” the โ€ฆz<N>.<service>.storage.azure.net form โ€” are (Preview) and slated for retirement, so use standard endpoints.)

6. Blob storage โ€” the conceptual minimum

Blob = Binary Large OBject = Microsoft's object store for unstructured data. Three resource levels: storage account โ†’ container โ†’ blob. A container groups blobs like a directory; its name must be a valid DNS name (3โ€“63 chars, lowercase letters/numbers/hyphens, no consecutive hyphens). One account can hold unlimited containers; one container, unlimited blobs.

Three blob types โ€” know which is which:

Blob typeOptimized forApprox. max sizeClassic use
Block blobUpload/read of large objects in blocks~190.7 TiBFiles, images, video, backups
Append blobAppend-only writes(block-based)Logging, audit trails
Page blobRandom read/write in 512-byte pages8 TiBVHDs / managed disk backing

Mnemonic: BAP โ€” Block (general), Append (logs), Page (disks). Deeper blob topics โ€” access tiers (Hot/Cool/Cold/Archive), data protection, lifecycle โ€” are Sequences 10โ€“12.

7. Azure Files โ€” the conceptual minimum

Azure Files = fully managed file shares in the cloud. Unlike blobs, it speaks real file-share protocols, so apps and OSes mount it like a network drive with no code change:

  • SMB โ€” mountable from Windows, Linux, macOS.
  • NFS โ€” mountable from Linux (requires a premium file shares account).
  • Azure Files REST API โ€” programmatic access.

Key value: many machines share the same files concurrently (read/write); shares can be cached on-prem with Azure File Sync; you can reach a file via URL plus a shared access signature (SAS) token (auth in Sequence 6). Detailed planning, tiers, File Sync, and protection are Sequence 13.

8. Scalability & performance targets โ€” "limits exist, plan around them"

Azure Storage is massive but not infinite. A single standard GPv2 account has published scale targets; design so a hot account doesn't hit a ceiling. The headline figures (current typical values โ€” always confirm against current Azure limits):

Target (standard GPv2 account)Approx. value
Max capacity per account~5 PiB
Max request rate~20,000 requests/sec
Max ingress (into account)region-dependent, tens of Gbps (e.g. ~25 Gbps in many regions)
Max egress (out of account)region-dependent, typically higher than ingress (tens of Gbps)
Max storage accounts per region per subscription250 (up to 500 with a quota increase)

Why it matters: these are per account. The standard mitigation is to spread very high-throughput workloads across multiple storage accounts (a "scale-out" / partitioning strategy) rather than overloading one. Ingress/egress vary by region and redundancy, so treat the numbers as planning guidance, not contractual maximums.

NoYesHigh-throughputworkloadNear accountscale limits?Single account OKSplit acrossmultiple accounts

Key takeaways

  • D-S-S-M-A: Durable, Secure, Scalable, Managed, Accessible โ€” the five platform promises.
  • Four core data services = B-F-Q-T: Blob, Files, Queue, Table. Disks, Elastic SAN, Container Storage, NetApp Files sit around the platform.
  • The storage account is both a globally unique namespace and the management/billing boundary; name = 3โ€“24 chars, lowercase + digits, globally unique. Type can't be changed after creation.
  • Hierarchy is always account โ†’ service โ†’ container/share/queue/table โ†’ object.
  • Endpoint = https://<account>.<service>.core.windows.net; the four subdomains are blob / file / queue / table. Don't cache the IP.
  • Blob types = BAP: Block (general), Append (logs), Page (disks).
  • Azure Files speaks SMB/NFS so it mounts like a network drive.
  • Scale targets are per account (~5 PiB, ~20k req/s); scale out across accounts when a single one isn't enough.

Exercises

  1. Recall. List the four core Azure Storage data services and the kind of data each holds.
  2. Recall. What are the three naming constraints for a storage account name?
  3. Applied. An account is named contosologs. Write the full standard endpoint URL for a queue named events, and for a blob named 2026/app.log inside container app.
  4. Applied. A team needs append-only storage for VM log lines, and separately a VHD that backs an Azure VM disk. Which blob type fits each, and why?
  5. Scenario. An analytics pipeline pushes data so hard that one storage account is hitting its request-rate ceiling, and uploads are throttling. Without changing the workload's logic, what is the standard architectural fix, and why does it work?
  6. Concept. A teammate says "let's just change this Standard GPv2 account to a Premium block blob account to get lower latency." What's wrong with that plan, and what must you do instead?
Answers
  1. Blob (unstructured objects), Files (managed file shares / hierarchical files), Queue (asynchronous messages, โ‰ค64 KB each), Table (schemaless NoSQL key/attribute entities). Mnemonic B-F-Q-T.
  2. 3โ€“24 characters; only lowercase letters and numbers (no hyphens/uppercase); globally unique across all of Azure (because it becomes a DNS subdomain).
  3. Queue: https://contosologs.queue.core.windows.net/events. Blob: https://contosologs.blob.core.windows.net/app/2026/app.log (the slash inside the blob name is part of the blob name / virtual directory).
  4. Logs โ†’ append blob (optimized for append-only writes, ideal for logging). VHD/VM disk โ†’ page blob (optimized for random read/write; page blobs back managed disks). Mnemonic BAP.
  5. Spread the workload across multiple storage accounts (scale out / partition). Scalability targets such as max request rate (~20k/s) and capacity (~5 PiB) are enforced per account, so distributing across accounts multiplies the available throughput and avoids throttling on any single one.
  6. You can't change a storage account's type after creation. You must create a new Premium block blob account and copy the data (e.g. with AzCopy) into it.

Coming up next

Sequence 2 โ€” Create & Configure Storage Accounts: turning this architecture into a real account โ€” choosing the type/performance/redundancy, naming, and the portal/CLI/PowerShell creation workflow.