Azure Storage Concepts
Welcome to the fundamental concepts of Azure Storage. This service offers a highly scalable and durable cloud storage solution for a wide variety of data, from blobs and files to queues and tables.
Core Azure Storage Services
Azure Storage provides several distinct services, each optimized for different use cases:
- Blob Storage: Optimized for storing massive amounts of unstructured data, such as text or binary data. This includes images, documents, streaming media, application data, backups, and even large datasets for analysis.
- File Storage: Offers fully managed cloud file shares that can be accessed using the industry-standard Server Message Block (SMB) protocol. This allows you to lift and shift on-premises applications that rely on file shares to Azure.
- Queue Storage: Provides a mechanism for storing large numbers of messages that can be accessed from anywhere in the world. It's ideal for decoupling application components.
- Table Storage: Stores large amounts of structured, non-relational data. It's a NoSQL key-attribute store, offering a flexible schema for developing applications rapidly.
Key Concepts in Azure Storage
Storage Account
A storage account is a container that holds all your Azure Storage data objects. The storage account provides a unique namespace for your Azure Storage data that is accessible from anywhere in the world over HTTP or HTTPS. The name you choose for your storage account must be unique across Azure.
There are several types of storage accounts, including:
- General-purpose v2 (GPv2) accounts: The recommended account type for most scenarios, offering the lowest per-gigabyte price for all blobs, files, queues, and tables.
- Blob Storage accounts: Optimized specifically for storing blobs, offering a lower price point for blob storage.
- Storage V1 (legacy): Older account types that are still supported but not recommended for new deployments.
Data Hierarchy
Azure Storage data is organized in a hierarchy:
- Storage Account: The top-level container.
- Services: Within a storage account, you have services like Blob Storage, File Storage, Queue Storage, and Table Storage.
- Containers (Blobs): In Blob Storage, data is organized into containers, which are like folders.
- Files/Blobs/Messages/Entities: The actual data items stored within their respective services and containers.
Data Redundancy
Azure Storage offers several redundancy options to ensure the durability and availability of your data:
- Locally Redundant Storage (LRS): The cheapest option, providing 3 copies of your data within a single datacenter. Protects against hardware failures.
- Zone-Redundant Storage (ZRS): Provides 3 copies of your data spread across different Availability Zones within a single region. Protects against datacenter failures.
- Geo-Redundant Storage (GRS): Provides 6 copies of your data, with 3 copies in the primary region and 3 in a secondary region hundreds of miles away. Protects against regional outages.
- Geo-Zone-Redundant Storage (GZRS): Combines the high availability of ZRS with the disaster recovery capabilities of GRS, offering the highest level of durability and availability.
Access Tiers (Blob Storage)
For Blob Storage, Azure offers different access tiers to manage costs based on how frequently data is accessed:
- Hot tier: Optimized for frequently accessed data. Highest storage cost, lowest access cost.
- Cool tier: Optimized for infrequently accessed data. Lower storage cost, higher access cost. Data must be stored for at least 30 days.
- Archive tier: Optimized for rarely accessed data. Lowest storage cost, highest access cost. Data must be stored for at least 180 days, and retrieval can take hours.
Note: Understanding the access patterns of your data is crucial for choosing the right access tier and optimizing costs.
Keys and Shared Access Signatures (SAS)
Access to your storage account is controlled using:
- Access Keys: Provide full administrative access to your storage account. Treat them like passwords and store them securely.
- Shared Access Signatures (SAS): Provide delegated access to resources in your storage account. You can grant specific permissions (read, write, delete, etc.) to a resource for a specific period. This is a more secure way to allow limited access.
Common Use Cases
- Websites: Hosting static websites directly from Blob Storage.
- Backups and Disaster Recovery: Storing backups of databases and applications.
- Media Streaming: Storing and serving video and audio content.
- Big Data Analytics: Storing large datasets for processing with services like Azure Databricks or HDInsight.
- Application Data: Storing user-generated content, configuration files, and logs.
Tip: Azure Storage offers robust APIs and SDKs for various programming languages, making it easy to integrate storage into your applications.
This overview covers the foundational concepts of Azure Storage. For detailed information on each service, please refer to the relevant documentation.