Today, data is invaluable. Many businesses store large amounts of it for everyday operations. Some information is stored in a hierarchical form, but companies must often hold significant amounts of data without any organization. The solution? Microsoft Azure’s Blob Storage. In this article, we’ll consider the key elements of Blob Storage, how it works, and why it’s important.
What is Blob Storage?
Blob (Binary Large Object) Storage is Microsoft Azure’s answer to cloud object storage. It lets developers store large amounts of unstructured data in Microsoft’s cloud platform. Unstructured data is data that doesn’t fit into a specific data model or definition (like text or binary data). This data can include audio, video, and text you can access anywhere there’s an internet connection. You can manipulate blobs with .NET code.
Imagine two people – Paul and Lindsay – are storing accessories. John arranges his accessories by color, while Lindsay tosses them into a pile. Lindsay’s approach is like Blob Storage: she can throw any accessories into the pile without arranging them. In this way, Lindsay can grow her stack almost endlessly. Although it might be challenging to find those accessories, many businesses need a similar way to store large volumes of data without hierarchy or organization.
Blob Storage is best for the following applications:
- Sharing of video, documents, or images directly through a browser
- Video and audio storage
- Storage and updating of log files
- Data storage for backup and restore, archiving, and disaster recovery
- Internet of Things (IoT)
- Storing data for analysis
You can access objects in Blob Storage via HTTP/HTTPS anywhere in the world through Azure Storage REST API, Azure CLI, Azure PowerShell, or an Azure Storage client library. You can also access client libraries through different languages, which include .NET, Node.js, Java, Python, PHP, Ruby, and Go.
Microsoft Blob Storage allows large file transfers through a network by splitting the files into smaller pieces when uploaded. Once uploaded to the cloud server, they appear together in one file.
Blobs are grouped in containers that organize a set of blobs the same way a file system directory arranges files. Think of a blob container as a drawer where you can manage files. You might use one container to store audio files and another to store video files. One storage account can include unlimited containers, and a container can keep unlimited blobs. Containers are a form of cloud computing and are self-contained, which means they have all the dependencies they need. The maximum amount of data a container can hold is 500 TB.
The name of your container must be a valid DNS name because it forms the unique resource identifier (URI) that identifies the container and its blobs. Microsoft suggests several rules to follow when naming a container:
- Names of containers must be between 3 and 63 characters.
- The names must start with a letter or number. The container name will contain only lowercase letters, numbers, and the dash sign (-).
- You cannot have two or more consecutive dash characters.
Types of Blob Storage
Microsoft Azure offers three types of Blob Storage: block blobs, append blobs, and page blobs. When you create a blob, you specify which kind of blob you want; once you make it, you can no longer change its type. You can only update the blob using the operations appropriate for each kind of blob. Let’s learn more about the different types of blobs and what they do.
Subdivided into blocks, block blobs are best for storing media files, text files, documents, and binary files. The blocks can be different sizes, but the current maximum is 4000 MiB (mebibytes) per block. A block blob can contain up to 50,000 blocks.
A block uploaded to your storage account is associated with the specific block blob, but it only becomes a part of the blob when you commit a list of blocks, including the new block’s ID. It remains uncommitted until you save or discard it. There can be up to 100,000 uncommitted blocks.
A collection of 512-byte pages, page blobs are mainly for random read and write operations. If you want to create a page blob, you choose a page blob and write the maximum size the blob will grow. Unlike a block blob, write-to-page blobs happen immediately and are committed directly to the blob. The total size for a page blob is 8 TiB (tebibytes).
Append blobs have blocks but are designed for append operations, with storage and log file updating as their most common uses. You can append a block, adding the block to the end of the blob using the Append Block operation. However, you can’t update or delete existing blocks. Blocks can be different sizes, each up to a maximum of 4 MiB. Like block blobs, append blobs can include up to 50,000 blocks.
Blob Storage Security
All blobs, regardless of type, undergo encryption before they are stored in the cloud. Cloud encryption encodes data when it travels between cloud-based storage to its respective locations. In addition to cloud security, Azure gives you absolute control over who has access to your data.
Hot vs. Cool Blob Storage
Data storage costs depend on two factors: transaction costs and storage costs. As your data grows in the cloud, you can organize it based on how frequently you will access the data and how long it will stay in the cloud. Azure Blob Storage offers different access tiers to store your blob data depending on its use. Storage access tiers include hot and cold storage. Let’s discuss these in detail.
This type of storage is best for storing operational use data, that which is frequently accessed or modified. This tier has the highest storage cost but the lowest access costs. It’s also a good option to migrate prep data to the cool access tier. Hot tier access is always online.
With lower storage and access costs than the hot tier, cool storage is the best option for data accessed once in a while. You should store data for at least 30 days when in the cool tier. This tier is best for data backup and disaster recovery, infrequently used data that needs to be available, and large data sets that need cost-effective storage. Like hot storage, the cool tier is always online.
A third tier storage option: Archival
The third storage option for Azure Blob Storage is Archival storage. This type of storage is an offline option for rarely accessed data (once in 180 days). Archival has the lowest storage cost but has higher data retrieval costs and latency than the other two tiers.
Archival storage can be a good option for companies wanting long-term backup, secondary backup, raw data, or compliance and archival data, which needs to be stored for a long time.
When you create a blob, you usually set the tier. However, you can change it by calling the Set Blob Tier (the best option when switching from hot to cool tiers) or by calling the Copy Blob operation. The Copy Blob is suggested for moving an archival blob online or from cool to hot.
When you change from hot to cool (or vice versa) or archive, the change you initiate is instantaneous. But when an archived blob changes to a hot or cool tier, it needs to rehydrate. This rehydration can take up to 15 hours.
Blob storage is optimal for storing data
Since it is scalable with an almost unlimited storage capacity, Blob Storage is an excellent option for storing data that needs no hierarchy. Blob Storage is also cloud-native, making it a natural fit for companies working in or considering migrating to the cloud. Being in the cloud also means accessing data anywhere the internet exists. Plus, Blob Storage is cost-effective. It has tiered pricing depending on how often you access your data, making it more economical to store large amounts of data even if it’s not assessed regularly. All the advantages of Microsoft Azure Blob Storage make it an excellent option for your company’s data storage needs.