Azure Storage offers a highly available, scalable, secure, and durable cloud storage solution for a wide range of data needs. It provides a cost-effective way to store and access data from anywhere in the world. This document outlines the core concepts and services available within Azure Storage.
Azure Storage is Microsoft's cloud-based storage solution that is designed to store and access large amounts of data. It is accessible from anywhere in the world over HTTP or HTTPS. Azure Storage is a massively scalable, elastic, and highly available service.
Azure Storage Services
Azure Storage provides several distinct services to meet different data storage and access requirements:
Blob Storage: Massively scalable object store for unstructured data.
File Storage: Fully managed cloud file shares accessible via industry-standard protocols like Server Message Block (SMB).
Queue Storage: Reliable messaging for applications to communicate with each other.
Table Storage: NoSQL key-attribute store for semi-structured data.
Disks: High-performance, durable block storage for Azure virtual machines.
Azure Storage Account
An Azure Storage account provides a unique namespace in Azure for your storage data. Every object that you store in Azure Storage has a direct reference to its account. The storage account naming convention has the following rules:
Storage account names must be between 3 and 24 characters long and can only contain lowercase letters and numbers.
Your storage account name must be globally unique across all of Azure.
It serves as the root for all storage services (Blobs, Files, Queues, Tables).
When you create a storage account, you choose a replication strategy to ensure data durability and availability:
Locally Redundant Storage (LRS): Replicates data within a single data center.
Zone-Redundant Storage (ZRS): Replicates data across multiple availability zones within a region.
Geo-Redundant Storage (GRS): Replicates data to a secondary region hundreds of miles away.
Read-Access Geo-Redundant Storage (RA-GRS): Like GRS, but also provides read access to the data in the secondary region.
Blob Storage
Azure Blob Storage is an object storage solution for the cloud. Blob storage is optimized for storing massive amounts of unstructured data, such as text or binary data.
Blob Types
Blob storage supports three types of blobs:
Block Blobs: Optimized for storing text or binary data, such as images, documents, and streaming media. They are composed of blocks of data.
Append Blobs: Optimized for append operations, such as writing to log files. A block blob can be modified by adding new blocks to its end only.
Page Blobs: Optimized for random read and write operations. Page blobs are used to store virtual machine disk images and SQL Server databases.
Access Tiers
Blob storage offers different access tiers to optimize costs:
Hot Tier: For data that is accessed frequently. Optimized for low latency and high throughput.
Cool Tier: For data that is accessed infrequently and stored for at least 30 days. Lower storage costs but higher retrieval costs.
Archive Tier: For data that is rarely accessed and stored for at least 180 days. Lowest storage costs but highest retrieval costs and latency.
You can manage blob access tiers at the account level or at the individual blob level.
File Storage
Azure Files provides fully managed cloud file shares that are accessible via the industry-standard Server Message Block (SMB) protocol. You can mount Azure Files shares concurrently from all your cloud or on-premises deployments. Azure Files supports SMB 3.0 with Kerberos authentication.
Key features include:
Shared access from multiple clients (VMs, on-premises servers).
Managed by Azure, no need to manage infrastructure.
Can be mounted using standard SMB client utilities.
Supports standard file system semantics.
Queue Storage
Azure Queue Storage is a service that stores large numbers of messages that can be processed by multiple applications. This provides a simple way to decouple application components. Each queue message can be up to 64 KB in size, and a storage account can contain an unlimited number of queues.
Use cases:
Decoupling application components for scalability and resilience.
Asynchronous processing of tasks.
Load leveling between clients and services.
Table Storage
Azure Table Storage is a NoSQL key-attribute store that accommodates unstructured, rapidly changing data. It's ideal for storing large amounts of structured, non-relational data. Tables are schemaless, allowing you to index attributes on the fly and store data of varying structures in the same table.
Key characteristics:
Schemaless design.
Stores data as entities, each with a partition key and a row key.
Highly scalable for large datasets.
Cost-effective for many workloads.
Disks
Azure Managed Disks provide highly available and durable block storage for Azure Virtual Machines. They are managed by Azure, eliminating the need for storage account management. Managed disks offer various performance tiers:
Ultra Disks: Highest performance for I/O-intensive workloads.
Premium SSD: High-performance, low-latency SSDs for production and development workloads.
Standard SSD: Cost-effective SSDs for workloads requiring consistent latency at scale.
Standard HDD: Lowest cost, magnetic-based storage for backup, disaster recovery, and non-critical workloads.
Managed disks simplify storage management, provide higher availability, and improve data security.
Security Considerations
Azure Storage offers robust security features to protect your data:
Authorization: Role-Based Access Control (RBAC) for granular permissions.
Data Encryption: Data is encrypted at rest using AES-256. Option for customer-managed keys.
Network Security: Firewalls, virtual networks, private endpoints to restrict access.
Data Protection: Soft delete for blobs, versioning, change feed.
Best Practice: Always use Azure AD authentication and RBAC for managing access to your storage accounts whenever possible, and leverage SAS tokens for delegated access with specific permissions and expiry times.
Performance & Scalability
Azure Storage services are designed for massive scalability and high availability.
Scalability: Scale to petabytes of data with high transaction rates.
Availability: Durability and availability are ensured through replication strategies (LRS, ZRS, GRS, RA-GRS).
Performance Tiers: Choose appropriate performance levels for Blobs, Files, and Disks (e.g., Hot/Cool/Archive tiers for blobs, SSD/HDD for disks).
Monitoring: Azure Monitor provides insights into performance metrics and diagnostic logs.
Explore the specific service documentation for detailed information on APIs, SDKs, and advanced configurations.