Managing Storage in any traditional Data Center is a challenging task. Not only you need to invest a lot of money, you also need to have a dedicated Storage Team with experienced Storage Admins. The Storage Team would need to provision SAN, iSCSI, NAS based on organization requirement. Apart from planning, there are lots of technical tasks involved like configuring FC / iSCSI switches, zoning, LUN masking, LUN Provisioning, Multipath configuration to name a few. In addition, there are management overheads like Storage Hardware / Firmware upgrade, Multipath Driver upgrade to name a few.

In Cloud, the story is little bit different. The Cloud Service Provider has provisioned everything for you as a managed service, you just need to pick up the right product and configure it correctly.

In this article we are going to cover Azure Storage Service, where Microsoft has abstracted the Storage Hardware / Firmware layer and offering different kind of storage solutions as managed service. Our job is to be familiar with different types of storage offerings available in Azure, along with their feature, limitations, deployment scenarios; so that we can implement the right solution for our environment.

Most common day to day work with Azure Storage does not demand deep skill knowledge in underlying storage technologies. However, the more familiar you are with storage concepts and different kind of storage requirements, the easier it would be for you to work with Azure Storage.

Some of the key advantages of Azure Storage are:

Durable and Highly Available: Offers Redundancy, and also offers multiple replication options between storage devices, data centers and even regions.

Secure: All data stored in Azure Storage is Encrypted by Default.

Access Control: Provides Fine Gained Access Control

Managed Service: Microsoft manages underlying storage complexity, replication and maintenance.

Accessible: Can be accessible globally using HTTP / HTTPS or using programmatically (APIs / SDKs)

Data Services Offered by Azure Storage

As we are all aware, data can be of different types. The data type of a sequential message is different from a data arranged in tabular format, which is again different than a collection of video files.

The first major classification of data is structured and unstructured data. Structure data follows a particular format or pattern, whereas unstructured data does not follow any specific format. Within structured data also there can be multiple formats like sequential (Queue), Tabular etc.

Also, storage can be classified as Block Level, File Level and Object Level Storage.

Because of so much data types, a single storage solution is not sufficient to support all types of storage need. Therefore, Azure offers different types of Data Services which we are as follows:

  • Azure Blobs
  • Azure Files
  • Azure Queues
  • Azure Tables

To use any of these data services, we must first create a Storage Account. However, before we take a deeper drive into Storage Account, let’s first discuss data services that Azure offers.

Azure Blobs

Azure Blob storage is the most versatile storage solution from Azure, which stores unstructured data in the form of object. This unstructured data includes documents, images, videos, log files and also Virtual Machine disks. 

Important facts about Azure Blobs

  • Most of the Azure Managed services, like Azure Backup, ASR, Data Lake, use Blob storage to store the data.
  • Blob storage can be accessible from anywhere in the world using HTTP / HTTPS. In addition, it can also be accessed programmatically using Azure PowerShell, REST API, Azure CLI or Client Libraries (Python. PHP, Ruby etc.).
  • Blob type can be defined only during creation. Once a Blob has been created, it is not possible to change its type. For example, you cannot convert a Block Blob to a Page Blob or Append Blob.
  • You can take snapshot from any type of Blob. A Snapshot is a read only copy of the Blob.
  • All Blobs must be within a container, which is conceptually a directory. A Container can store unlimited number of Blobs. The container name must be in lowercase.
  • A Container is created within a Storage Account. We will discuss Storage Account in this article.
  • There are number of solutions which are used to migrate / copy existing Data to Blob Storage. One common tool is AzCopy.
  • Azure Data Factory supports data copy to / from Blob Storage.

Types of Azure Blobs

Azure offers three different types of Blobs, which are as follows:

Block Blobs

As the name suggest, it comprised of blocks. Block Blob helps us to upload large Blob files efficiently. Each block has a block ID. It stores text and binary data.

Append Blobs

An append blob is comprised of blocks and is optimized for append operations. When an append Blob is modified, Blobs are added to the end of the existing Blob, and modifying existing blocks is not supported. One use case for Append Blob is logging data from virtual machines.

Page Blobs

Page Blobs are Virtual Machine Hard Drives (VHDs). While Block Blobs are comprised of Blocks, Page Blobs are comprised of 512 byte pages, which is ideal for random read and write operations. All Azure VM disks (Premium or Standard) use Page Blobs. The maximum size for a page blob is 8 TB.

Please note that Azure Blob Storage account supports Block and Append Blobs, but does not support Page Blob. Azure General Purpose Accounts (V1 and V2) support all types of Blobs, including Page Blobs.

For more information regarding different types of Blobs, please refer this link.

Azure Blob Pricing

As Blob Storage offers various types of options, access tier, performance tier, replication options, so there are various factors that affect the pricing. Microsoft has published two separate pages for Block and Page Blob pricing, as the calculation method is different.

For Block Blobs, below are some of the important factors which affect the pricing:

  • Volume of Data Stored per month
  • Storage Account Type : Blob / Premium Blob / General Purpose v1 / General Purpose V2
  • Access Tier: Hot/Cool/Archive
  • Operations: read / Write / Retrieve
  • Data Transfer Amount
  • Data Redundancy Option : LRS / GRS / LA-GRS

For Page Blobs, below are the factors:

Premium Page Blobs:
  • Size of Disks 
  • Outbound Data Transfers

Standard Page Blobs:

  • Volume of Data Stored per month
  • Quantity and types of operations performed
  • Outbound data transfer cost.
  • Data Redundancy.

Use Azure Pricing Calculator for calculate approximate costing for the service which you are going to deploy.

Azure Files

Almost every organization uses NAS (Network Attached Storage) for file share. Those file shares are typically mounted to workstations and servers, and accessed over SMB (Server Message Block) Protocol.

Azure Files is a Microsoft’s Managed File Share solution in Azure. It acts just like a NAS share, and can be mounted and accessed over SMB. It can be mounted to on-premises and Azure VMs having Windows, Linux and MAC OS.

Important facts about Azure Files

• Azure files can be accessed two ways 1) Direct Cloud Access 2) Through Azure File Sync.

• Azure file shares can be cached on Windows Servers with Azure File Sync for fast access near where the data is being used.

• Being a managed service, Azure File Share offers build-in resiliency.

Azure Files offer two performance tiers, 1) Standard 2) Premium. For Premium tier, you need to create a FileStorage Storage Account.

• Azure File Share can be accessed programmatically using Azure Storage REST API and other APIs.

To mount Azure File Share, we need to have the Primary or Secondary Storage keys. SAS keys (Shared Access Keys) are not supported for Azure File Share mounting.

• Also, to mount Azure File Share, the SMB Port (TCP 445) needs to be opened. 

Limitations of Azure File Share :

• Azure File Share does not provide built in support for DFS .You cannot point out an Azure File Share in DFS console. 

• One of the biggest drawback of Azure File Share is , it does not support NTFS / Security permission for the folder and files within it. We can only control access in the entire file share level using Access Keys or SAS, but we cannot fine tune permission for underlying folders and files.

• However, you can deploy Azure File Sync along with Azure File Share to overcome the limitations related to DFS and NTFS permission. Once Azure File Sync is installed in a Windows Server, the Server becomes a cache of Azure File Share.

• Also, you cannot use Azure File Share as a File Share Witness for Microsoft Failover Cluster.

To know more about Azure Files, click here.

To know more about Azure File Sync, click here.

Azure Files Pricing

Azure Files Pricing depends on below factors:

  • Storage Account Type: General Purpose V1 or V2
  • Performance Tier: Standard Data Storage or Premium Data Storage
  • Redundancy Options: LRS, ZRS, GRS, RE-GRS
  • Operations and Data Transfer
  • File Sync Prices (Cost incurred due to Windows Server and Azure File Share data Sync)

For details, please refer this page.

Azure Queue Storage

Queue is a particular type of Data Structure. Azure Queues are queues located in the Microsoft cloud which we can use for exchanging messages between components. Those components can present either in the cloud or on premise.

Queue Storage enables us to put messages on the queue and asynchronously process these messages. Therefore Queue Storage is an ideal method to process events that don’t require a specific order.

Important facts about Queue Storage

  • Queue Storage contains messages. Maximum size of each message is 64 KB.
  • You can change the contents of a message in-place in the queue.
  • A message queue can contain unlimited number of messages, as long as the Storage Account capacity supports.
  • The maximum time that a message can remain in the queue is 7 days.
  • The queue name must be in lowercase.
  • The URL Format is : http://<storage account><queue>

For more details regarding Queue Storage, please refer this article.

Please note that Azure offers another queue service, called Service Bus queues. There are similarities and differences between Azure Storage queues and Azure Service Bus queues, which can be found in this article.

Azure Queue Storage Pricing

Queue Storage Pricing depends on following factors:

  • Redundancy Options (LRS/ZRS/GRS/RA-GRS)
  • Storage Account Type (General Purpose V1 / General Purpose V2)
  • Types of Operations
  • Data Transfer

For more details on Azure Queue Storage Pricing, please refer this page.

Azure Tables

Azure Tables are a non-relational, key-value-pair, storage system suitable for storing large amount of unstructured or semi-structured data. Azure Tables is suitable for storing No-SQL data, which cannot be stored in a Relational database system, like SQL Server.

Important facts about Azure Tables

  • Table storage supports flexible data schema.
  • Table Storage is ideal for web applications, address books, and other user data.
  • Easy to scale up, without tampering existing data set.
  • Supports Geo redundancy.
  • Microsoft announced that all new table applications use the Azure Storage Common Library and the Azure Cosmos DB Table Library,

For more information on Azure Table, please click this link.

Azure Table Storage Pricing

Table Storage Pricing depends on following factors:

  • Redundancy Options (LRS/ZRS/GRS/RA-GRS)
  • Storage Capacity
  • Types of Operations
  • Data Transfer
For more details on Azure Table Storage Pricing, please refer this page.

Now that we have covered all the data services, lets discus Azure Storage Account.

Azure Storage Account

Storage Account is the building block of Azure Storage. It is the most fundamental component and all the offerings of Azure Storage are based on (or within) Azure Storage Account.

All Azure Storage solutions, including Blob, Files, Queues, Tables; are hosted within Storage Account.

The Storage Account name must be unique within Azure. This is because every object that we store in Azure has a unique address, that starts with the storage account name followed by the service endpoint name.

The endpoint names of different services are as follows:

  • Blob storage:
  • Table storage:
  • Queue storage:
  • Azure Files:

Important facts about Storage Account

  • Storage Account supports multiple replication types, including LRS, ZRS, GRS, and RA-GRS. These replication types can only be set at storage account level.
  • For example, you have two data disks attached with an Azure VM. For Disk 1, you want to set LRS, but for Disk 2 you would like to configure GRS. So you cannot keep both disks in same storage account, as replication is defined at the storage account level.
  • All storage accounts are encrypted using Storage Service Encryption (SSE) for data at rest. 
  • Storage account names can contain lowercase letters and numbers only. It does not support uppercase letters.
  • The storage account name must be unique within Azure. No two storage accounts can have the same name.
  • Storage Account offers two performance Tiers 1) Standard 2) Premium. Performance Tier is only available for General Purpose Storage Accounts. A Blob Storage Account does not support Performance Tier.
  • The maximum IOPS limit which a Storage Account can support depends on the Performance Tier. The maximum bandwidth has to be shared by all the data services and VMs within that Storage Account.
  • There are multiple methods for controlling and granting access to a Storage Account. These methods are 1) Azure Active Directory 2) Access Key 3) Shared Access Signature (SAS).
  • There are multiple methods to copy data to Storage Account. These methods are 1) Azcopy 2) Data Movement Library 3) REST API or Client Library.
  • For large amount of Data which cannot be uploaded remotely, Microsoft also provides Azure Import / Export service. In this service, your data would be shipped securely to Azure Data Center, where Microsoft would upload the data to Storage Account.

Storage Account Types

Azure offers different types of Storage Accounts, which includes:

1) Blob Storage Account: 

  • It is a specialized Storage Account to store unstructured data. Blob storage accounts support storing block blobs and append blobs, but not page blobs. For Page Blobs, which is used by Azure VMs, you have to go for General Purpose Storage Account.
  • However, from the feature perspective, a Blob Storage Account offers all the features that a General Purpose V2 Storage Offers.
  • Also, Blob Storage Account supports multiple Access Tiers based on data access patterns and needs. Those Access Tiers are Hot, Cool & Archive. 

2) Block Blob Storage Account : 

  • This is a variation of Blob Storage Account, which offers premium performance.
  • While Blob Storage Account supports Standard Performance Tier, Block Blob Storage Account supports premium performance tier.
  • Unlike Blob Storage Accounts; Block Blob Storage Accounts do not offer different access tiers (Hot, Cool, Archive).
  • The replication option of Block Blob Storage Account is limited to LRS.

3) General Purpose V1 (Gp1): 

  • General Purpose V1 Storage Account supports all types of data including all types of Blobs, Files, Queues and Tables. 
  •  However, General Purpose V1 Storage Account does not support Access Tier, which is supported by General Purpose V2.
  • With the General Availability of General Purpose V2, Microsoft no longer recommends Gp1.
  • One of the reasons you still need to use Gp1 might be, General Purpose V1 supports Azure Classic which V2 does not support. 

4) General Purpose V2 (Gp2):

  • General Purpose V2 is the latest Storage Account types from Microsoft, which supports all types of data types and combines all features of GP1 and Blob Storage Accounts.
  • V2 delivers lowest cost per storage among all types of Storage Accounts.
  • V2 also supports Access Tier.
  • V2 supports only Azure Resource Manager; it does not support Azure Classic.
  • Microsoft recommends using a general-purpose v2 storage account for most scenarios. 
  • V2 offers ZRS as replication option, in addition to LRS & GRS.
  • You can easily upgrade a general-purpose v1 or Blob storage account to a general-purpose v2 account with no downtime and without the need to copy data.

5) FileStorage : 

  • This is a specialized storage account, which offers premium File Share.

Please note that Block Blob and FileStorage are specialized storage accounts, and both offers premium performance tier.

For more information on Azure Storage Accounts, please refer this link.

Azure Storage Explorer

Microsoft Azure Storage Explorer is a GUI application, which can be installed at any system (Azure or on-premise), and using this we perform many tasks related to Azure Storage.

Important facts about Storage Explorer

  • It is a free tool, does not have any licensing cost.
  • Can be installed on Windows, Linux. MAC.
  • Works with Blobs, Files, Queue, Tables and Cosmos DB.
  • Supports most of the common operations for each data types, including upload, download, manage snapshots (for Blobs) etc.

For more information on Storage Explorer, please refer this link.

Cross-Origin Resource Sharing (CORS)

Microsoft has enabled support for CORS for all of the storage services, including Blobs, Files, Tables and Queues.

Normally, there is some restriction applied to web browser, which prevents web browser in domain A to send API queries and access resources from domain B. This is done due to security reason, and called as Same-origin-policy. 

Cross region Access Policy (CORS) is a mechanism, which relaxes those restrictions and provides a secure mechanism to enable access resources between two different domains. This is useful for those websites, which use Azure Storage Service to store and retrieve data through API.

Please note that, Premium Storage Account does not support CORS.

For more insight of CORS, please refer below two links:

Azure Storage Emulator

Azure Storage Emulators is a product meant for testing and development. This product is a part of Microsoft Azure SDK, which can be downloaded and configured locally to simulate the behavior of Azure Blob, Queue and Table storage.

  • Storage Emulator needs SQL Server as backend database.
  • By default, it uses a local DB of SQL Server 2012 Express.
  • Storage Emulator only runs on Windows OS.

For more insight on Storage Emulator, please refer this article.

Azure Data Box

Moving large amount of data from on-premise to Azure over Internet can take months. Azure Data Box is the solution, which offers both offline and online methods to transfer data is a quick, inexpensive and reliable way.

Offline Transfer Methods (Through Manual Shipping):

1. Data Box Disk : For Data size less than 40 GB. Microsoft will ship SSDs to copy data and ship it back to Azure. It supports 128 bit data encryption.

2. Data Box: For Data size between 40-500 TB. Microsoft will send a Storage Device to copy data and ship it back to Azure. It supports AES 256 bits data encryption. The device is a tamper-proof, password protected device.

3. Data Box Heavy : For data sizes more than 500 TB. Microsoft will send a 1 PB Storage Device to copy data and ship it back to Azure.

Once the data is uploaded to Azure, the device is erased by Microsoft in accordance with NIST 800-88r1 standards.

Online Transfer Methods (Through Internet):

1. Data Box Gateway (Preview): A Virtual appliance will be deployed to upload data in Azure, using NFS and SMB protocols. Data will first be written on the virtual appliance, which will cache it and then it will upload the data to Azure. This is suitable for those cases where customer wants wo deploy Storage Gateway functionality in their own system.

2. Data Box Edge (Preview): This is a physical appliance from Microsoft, which will be deployed on-premise.  In addition to the Gateway functionality, this device will provide compute and storage functionality. It will analyze and filter data before transferring to Azure. This device will add Storage Gateway functionality on-premise, creating a link between customer data center and Azure.

To know more about Azure Data Box, please refer this page.

Azure StorSimple

Cloud Storage offers built in scalibility and resilience, it is also easy to setup and manage. However, when it comes to performance and latency, on-premise storage like SAN, iSCSI, NAS offer much better performance than cloud storage. As a result, most of the enterprises typically opt for a hybrid solution, leveraging the benefits of both sides.

Microsoft acquired a company called StorSimple which specialized and launched this kind of hybrid solution, and incorporated StorSimple with Azure.

Azure StorSimple integrates on-premises storage with Azure, which can be managed through a single console. It also used Storage Tiering to classify the data and it's destination. Data which is currently active and frequently used (Working Set) is stored on SSDs, less frequent data is stored on HDDs, and archival data is sent to Azure.

In addition, StorSimple also offers Deduplication and Compression.

For more information on Azure StorSimple, please refer this page.

Azure VM Disks

Now that we have covered different types of Storage Solution and Azure Storage Account, let’s focus on Azure Virtual Machine Disk. The rest of this article will focus different aspects of Azure VM Disks.

Important facts about Azure VM Disks

  • Azure uses Page Blobs for storing disks, and disk file type is VHD.
  • Azure does not support VHDX or any other format of disk. However, during migration it is possible to convert other formats (VHDs, VMDK etc) to VHD, so that it can be attached to Azure VM.
  • Any Azure VM has minimum two disks 1) An OS Disk 2) A Temporary Disk. These two disks are automatically created while creating an Azure VM.
  • The Temporary Disk is a short-term storage, used for storing page file. Data on temporary disk may be gone upon VM reboot after moving to a new host. We should not store any critical data in a Temporary disk.
  • The Temporary Disk is not chargeable, and it is not part of Azure VM Backup or ASR Replication.
  • In addition to OS and Temporary Disk, we can add multiple Data Disks based on our requirement.
  • Each data disk has a maximum capacity of 4,095 GB, managed disks have a maximum capacity of 32,767 GiB. 
  • The number of maximum data disk that can be attached with a VM, depends on the VM type.
  • Azure Disks are designed for 99.999% availability. 

Performance Tier of Azure VM Disk

Azure offers three performance Tiers for VM disks, which are as follows:

Standard HDD

Cost-effective Magnetic Storage. 

Standard HDD is denoted as S; Example: S4,S6, S10 etc.

Standard SSD

  • Standard SSDs are only available as Managed Disks. Unmanaged Disks and Page Blobs are not supported on Standard SSD. 
  • Standard SSDs can be used with all Azure VMs, including the VM types that do not support Premium Disks. 
  • Like all Managed Disks, Standard SSDs also offers Local Redundant Storage (LRS). 

Premium SSD

High-Performance, low-latency, SSD Backed Storage. Not all Azure VMs support Premium SSD. Generally, all Azure VMs with ‘s’ in instance type supports Premium Disks, Example: DsV3.

For High Performance VMs (Like SQL Server), where the requirement is to handle high IOPS and more throughput, Microsoft always recommend Azure Premium Disk.
Premium SSD is denoted as E; Example: E10, E15, E20 etc.

Unlike Standard HDD and Standard SSD, Azure does not charge for the number of transactions for Premium Disks. 

For more information on Premium Disk, please refer this link.

Azure VM Disk Type

Azure VM Disks are of two types, Managed and Unmanaged.

Unmanaged Disk

Unmanaged Disks are traditional disks, where we create a Storage Account and then create the disk within that Storage Account. As we are creating the Storage Account, we are responsible for managing it , taking care of the maximum IOPS limit.

Managed Disk

In Managed Disk, we do not have to create / manage storage accounts. It is created and managed by Microsoft.

Important facts about unmanaged and managed disks :
  • For a single VM, you have to choose either Managed Disk or unmanaged disk. You cannot use both disk type attached to the same VM.
  • Microsoft recommends using Managed Disk for Azure VMs. An Unmanaged Disk can be converted to Managed Disk using PowerShell, but cannot be reverted to unmanaged disk. 
  • The conversion from unmanaged to managed disk is at VM level. That means, when you convert, it will convert all disks attached to the VM from Unmanaged to Managed.
  • The original disks (unmanaged) are not deleted automatically after conversion. You have to delete them manually to avoid charge, once you are sure that they are no longer required.
  • If you are opting for Standard SSD performance Tier, the only disk type available is Managed Disk.
  • However, Standard and Premium Tier supports both Managed and Unmanaged disks.
  • Unmanaged Disk supports incremental snapshots, but Managed Disk does not support incremental snapshots at this time.

For more information on Managed Disk, please refer this link.

Host Cache Preference

This is an often overlooked but important feature, so we will discuss it.

  • By default, host cache is turned on for OS Disk for both Read and Write.
  • By default, Host Cache is turned off for Data Disks.
  • For Premium Disks, the default caching policy is Read Only for all disks. 
  • Enabling host cache would generally improve disk performance.
  • While creating the VM, we can set the cache settings. If we want to change it after VM creation, we can do it by from PowerShell or APIs.
  • Turning on Cache would incur charges, based on transaction.
  • For SQL data files, recommended disk caching policy is ReadOnly.
  • For SQL log file, recommended disk caching policy is ReadWrite.

Azure Disk Encryption

  • Azure Disk Encryption option is available in all Azure regions.
  • Azure Disk Encryption is not available for basic tier VMs.
  • It is available for VMs with Premium Storage.
  • For Windows VM, Azure Disk Encryption uses BitLocker.
  • For Linux VM, Azure Disk Encryption uses DM-Crypt.
  • All the encryption keys and secrets are stored in Azure Key Vault.
  • For Windows VM, you cannot encrypt a Data volume, without first encrypting Boot (OS) volume. You must encrypt the OS volume first, if you want to encrypt data volume of a Windows VM.
  • For Linux VM, it is possible to encrypt data volume without encrypting OS volume.
  • However, once you enable encryption in an OS volume in Linux VM, you cannot disable it.
You can browse the FAQ Article for more information regarding Azure Disk Encryption.

It is important to understand the difference between Azure Disk Encryption (ADE) and Azure Storage Service Encryption (SSE). 

  • Azure Storage Service Encryption (SSE) is enabled by default in all Azure Storage , at no additional cost. It is not possible to disable Azure SSE, but we have the option of using our own encryption keys instead of Microsoft provided keys. SSE works at the Azure Storage layer, and protects data at rest within Azure Storage.
  • Azure Disk Encryption (ADE) is not enabled by default, and we need to enable encryption which will incur additional cost. It works at Operating System layer, not in the storage layer.

For more insight on Azure Disk Encryption, please refer this article.

Azure Disk Snapshot

  • A blob snapshot is a read-only copy of a blob that is captured at a certain point in time. 
  • Once a snapshot has been created, it can be read, copied, or deleted, but cannot be modified.
  • For an unmanaged disk, Snapshot is incremental by default. But managed disk does not support incremental snapshot.
  • It is possible to copy snapshots from one storage account to another storage account, using AZ Copy or Copy Blob.
  • Snapshots incur charges based on consumption.

Azure Disk Image

When we deploy a new Azure VM, we can use an image which is available in Azure. But most of the organizations need to use custom OS image, which is configured with organization specific security and compliance standards. We can create custom images in Azure and deploy VMs from custom images.

Important facts about Azure Image

  • Like Azure VMs, Azure images are also VHD files stored in page blobs.
  • We can create custom image from an existing VM, which is configured based on organization standard. This is called “Managed Image” in Azure.
  • For Windows VM, we must run Sysprep and generalize the VM, before we use it for image creation.
  • We can delete the original VM once the image is created.
  • In addition to OS disk, image can also contain data disks.

Shared Image Gallery

This is a new feature, which helps an organization to easily manage multiple versions of image over multiple regions.

  • Using this feature, an image can be shared across multiple regions. Also, it can be shared between multiple subscriptions which are connected to the same Azure AD Tenant.
  • It also supports Image Versions. An organization can fine tune, which version of an image would be replicated across regions, and which version would be available locally.
  • Access can be fine-tuned using RBAC, for all images in the shared image gallery.
  • The cost includes just the storage cost and network egress.

For more insight on Shared Image Gallery, please refer this link.

Expand disk of an Azure VM

It is possible to expand OS and Data Disks of an existing Azure VM.

Important facts regarding disk expansion:

  • You can expand both managed and unmanaged disks.
  • Expansion of OS disk requires restarting of the VM.
  • The new size must be greater than the existing size, it does not support reduction.
  • The maximum allowed size for OS disk is 2048 GB.
  • Using PowerShell, you can expand OS or Data Disks for managed and unmanaged disks.
  • Once the disk is expanded, you need to increase the volume within OS.

For detailed steps and scripts for disk expansion, please refer this link.


We have covered a lot of topics; now it’s time for a quick recap.

Feature / Property

Block Blobs

Page Blobs




Types of Data

Collection of Blocks, with block ID

Collection of Pages

Collection of files

Asynchronous messages

Structured, semi-structured, non-relational data with key-value pair.

Objective (Optimized for)

Manage larger files (unstructured) over network

Random read and write operations

Shared file system across multiple systems

Asynchronous messaging for communication between application components

Storing huge amount of tabular data and querying it.

General Purpose V1






General Purpose V2






Blob Storage Account


Not Supported

Not Supported

Not Supported

Not Supported

Types of Data

Unstructured Data - Videos, Audios, Images, Files, logs etc.

Azure VM Disks

NAS like file share

Sequential messages, stored for a limited amount of time.

Structured and semi-structured data, non-RDBMS, No SQL, has key-value attribute pair

Protocol Support






API Support

Azure Storage REST API

Azure Storage REST API

Azure CLI

Azure Storage REST API


PowerShell Support






Client Library Support

.Net, Java, Python, Ruby, PHP, Node.js

.Net, Java, Python, Ruby, PHP, Node.js

Azure Storage Client Libraries

.Net, Java, Android, C++,Ruby, Python, Note.js.

.Net based client libraries

Build in Resilience






Azure Storage Explorer






Azure Storage Emulator



Not Supported