Updated July 4, 2023
Introduction to Azure Storage
There are two major components of Azure Storage, and they are – Storage Stamps and Location Services. Each storage stamp consists of a cluster of storage node racks. Every rack has a fault domain of its own, and the number of racks present can vary based on various factors. Utilization of storage stamps can reach up to seventy percent; after that, data is relocated to a different stamp using location services.
This service includes mapping storage accounts to storage stamps, namespace management, and adding new storage stamps. Upon creation of a new storage account, this location service maps the storage account to a primary storage stamp and also updates DNS so that it can point to virtual IPs. Apart from this, metadata storage is also handled by the location services.
The storage stamps can be of the following types:
- Front End Layer
- Partition Layer
- Stream Layer
1. Front End Layer
This comprises servers that are stateless. The main responsibility of these servers is to serve the incoming request by looking up Account Name and authorizing the requests. Its responsibilities also include forwarding the request to relevant servers. Apart from these tasks, this layer also helps in caching the data.
2. Partition Layer
The partition layer manages the abstraction and tracks storage objects in the Object Table. There are mainly three components of the partition layer, they are:
- The Partition Manager: This is responsible for segregating the Object Table into Range Partition, and it also keeps track of the mapping table.
- The Partition Servers: It is responsible to cater the request to Range Partition under dictation by the Partition Manager.
- The Lock Service: This component chooses the Partition Manager and assigns the lease to Partition Servers for serving a specific range of Partitions.
3. Stream Layer
This layer stores data in the disk and provides an interface to Partition Layer.
- The Extreme Nodes: These are the nodes with extended replicas and their blocks. However, Extreme Nodes are unaware of abstraction but manage the extent by treating each extent as a separate file. It also keeps track of data blocks and indexes, which maps the data offset to their corresponding blocks along with file locations. Extent Nodes keep track of the extent and the peer replicas.
- The Stream Manager: It is a standard cluster that keeps track of stream namespaces. It also keeps track of the extent to stream mapping along with the distribution of extents. Stream Manager Polls Extreme Nodes and checks compliance accordingly. On the other hand, blocks are the smallest unit of data for writing and reading.
Azure Storage Replication
Two kinds of replication are there in Azure – Intra Stamp replication and Inter Stamp Replication.
- Inter Stamp Replication: An asynchronous replication handled by a partition layer, which helps in geo-redundancy if any disaster or calamity occurs.
- Intra Stamp Replication: Asynchronous replication handled by the Stamp layer. It ensures data redundancy during disk, server, or rack failures. Blocks are the unit of replication that makes up a storage object.
Apart from this, there are a few other important components which contribute to the wonderful performance of fault tolerance of Azure storage; they are as follows:
- Read Load Balance
- Spindle Anti Starvation
With so much going on in the backend, Azure ensures that the system is not only fault-tolerant but also consistent regarding performance and maintainability.
What is Blob Storage?
Before getting into the definition of Azure BLOB storage, we first need to understand what is BLOB storage. BLOB stands for Binary Large Object, and this type of storage is generally used for storing media like images, videos, etc.
Microsoft offers three kinds of BLOB storage; they are as follows:
- Block BLOBS
- Append BLOBS
- Page BLOBS
BLOB Storage Working
Block BLOB is used to upload and store a large amount of data. Append BLOB is used to optimize any operations; therefore, lot increases system efficiency. Page BLOB is used for paging and contexts witching purposes; this allows random read and writes operations to speed up.
Why Use Blob Storage?
There can be multiple reasons to use the BLOB storage, which include taking the load off your website or sharing files with peer users. Azure BLOB, it provides persistent data storage, which is very crucial. With Azure cloud services, a user can easily execute their code in virtual machines without having to worry about managing those themselves. The hard drives in Azure Virtual Machines are not persistent.
Let us start with the Microsoft Azure Storage services, which are BLOB Storage, along with Windows Azure Tables and Windows Azure Queues. Azure Table stores data in a key-value format, and the Azure Queue service provides the messaging capability. You can refer to the Azure official website for detail on how to create an Azure account in order to use these services.
Briefly, BLOB storage is used in the following scenarios:
- Serving media like images or videos to a browser.
- File storage for distributed access.
- Log management.
- Data storage for disaster management.
However, normal file storage is used in situations like the following:
- Storing normal documents on image files in local memory.
- All lift and shift kinds of applications.
- Simple cloud development.
This is a guide to Azure Storage. Here we discuss the introduction, azure storage replication, working, and use. You can also go through our other related articles to learn more –