Microsoft Azure Storage is an integral part of the Azure cloud solution. As the name of the service suggests, it provides storage in various forms to consumers. In this post, I will go into all the aspects of Azure Storage.
What is Microsoft Azure Storage?
When you sign up for OneDrive, you get 5GB of free storage space. If you pay for it, one of the tiers gives you 1TB and so on. There is a mark-up on the plans which provides the maximum limit – irrespective of whether you have 1TB worth of data to store or not. Even if you store 1MB, you will still be paying for a service that has a maximum permissible limit of 1TB.
Now think about a storage service that charges you for the actual space you consumer. Which means that if you consume 1MB, you only for the storage that you consumed and if you consume 2MB, the charges would be double the 1MB storage. And likewise. Plus, there is no maximum limit. You can store as much as you want. And you will only pay for the storage that you have consumed. Theoretically it is a bottomless pit. This is Azure storage is the simplest sense.
Types of Azure Storage
Azure Storage comes in four flavors.
- Azure Blob Storage
- Azure Table Storage
- Azure Queue Storage
- Azure File Storage
Azure Blob Storage
Blob stands for binary large object. In layman terms, you would use this storage if you are planning to use it to storage general purpose files such as images, videos and documents. Since the data comes in various types and sizes, the storage is unstructured and you can typically access through HTTP or HTTPS – just like how you access OneDrive.
You can do everything that you normally would with OneDrive like streaming your videos, sharing your photos, building backups and most importantly, you can keep records of versions and logs.
Within Azure Blob, there are three types:
- Block Blobs: Instead of a single monolith to store data, imagine that your overall storage is made up of multiple blocks that make up the entire storage. A block blob is made up of 50,000 blocks, with each block capable of storing up to 100MB. So, the maximum capacity of a block blob is 5TB. This in fact helps in fastening search speeds and multi-threading for better efficiencies.
- Page Blobs: This blob is meant for random read and write operations. In other words, you would use a page blob if there are possibilities of accessing data from any quarters. Maximum capacity is 8TB.
- Append Blobs: Append blobs are typically used for storing logs. Each block can store a maximum of 4MB and a maximum of 50,000 blocks can make for an overall Append blob size of 200GB. Data from append blob gets added towards the end. So, when a data is written to an append blob, it cannot be altered or removed.
Azure Table Storage
Azure Table Storage is for storing data that is structured and non-relational. It is a NoSQL solution that can be scaled at will – through which one can store massive amounts of data on the web.
The storage is schema-less and every table has rows that represents key value pairs. You can store data that do not require foreign keys or any joins.
A table is essentially:
- Made up of collection of entities (similar to db rows)
- An entity can grow up to 1MB
- Entities are broken down into properties, a maximum of 252 properties can wrap around an entity
- Each entity consists of three system generated properties – partition key, row key and timestamp
Azure Queue Storage
Think of Azure queue as a storage service that offers the ability to manage data asynchronously. In a queue, the people who stand ahead get processed before the ones behind. Likewise, in an Azure queue, the message that come through the Azure queue follow the first-in first-out (FIFO) approach. And the best part, as with other Azure services, one needs to pay for the the messages in the Azure based on its size.
There are 3 key components in Azure Queue storage:
- Account: Azure account where your storage services are stored
- Queue: Queues can be defined based on the need – a queue for managing messages from smtp and another queue for API calls etc.
- Messages: Information that passes through the queue. A message has a maximum limit of 64KB. And it can stay alive in a queue for a maximum of 7 days. Remember that mailer daemons that you get after a certain period of time, that could be an outcome of the messages not reaching the target after a defined period.
Queues are depicted in the image below.
Azure File Storage
Azure file storage provides the ability for various applications hosted on multiple servers to access SMB share over the cloud. The service offers a solution for applications that are hosted on cloud VMs to share files among them by using standard protocols like WriteFile or ReadFile.
A classic example would be that of Docker Hub where the container images are shared over the cloud and various developers can access and use it accordingly. Well, I have oversimplified it, but you get the drift? Imagine doing the same using on-premise servers. It would be a project on its own.
Azure file storage is easy to manage and in today’s working environment, we try to make things as simple as possible, and this service leads the way. Moreover, from a security standpoint, the service encrypts the data using SMB3 and HTTPS.
The Azure file storage service is theoretically boundless. With a premium tier, one can store up to 100TB of data.