-
Notifications
You must be signed in to change notification settings - Fork 0
Estimating Storage Volume
The Azure cost export provides various metrics that allows for estimating storage volume for certain services. Metrics including Quantity
and UnitOfMeasure
can be utilized to deduced an estimate of the storage volume. The storage component for Azure services is billed in different ways, and will in certain cases not directly reflect the corresponding storage volume. Storage is often billed in GiB/Month
, GB/Month
or GiB/Hour
on a daily basis, and thus a set of assumptions must be made to calculate an estimate of the storage volume. This document serves as a reference to describe the assumptions made in order to estimate the storage volume for various Azure services.
For simplicity we will use gibibytes (GiB) as our base unit of measure. It's relation to GB is given by the following relation
When aggregating storage volume it is desirable to denote the volume in tibibytes (TiB). Its relation to gibibytes is determined by the following relation:
The storage quantities are aften given in GB/Month or GiB/Month. Thus the Quantity
property in the cost export aggregated with a monthly granularity will yield an approximate storage volume average for a given month. But the storage volume itself may vary significantly from day to day, and thus the monthly aggregated average might be misleading. But this means that the quantities aggregated with a daily granularity will yield the daily storage share of the full monthly storage volume. Subsequently, by multipying the daily storage volume aggregate with a factor, namely the number of days in a month, the storage volume of a service on a given day can be estimated more precicely than aggregating with monthly granularity. Given the daily aggregated volume
When it comes to billing in Azure, 730 hours is often used to approximate the number of hours in a month. By dividing the number by the amount of hours in a day we get
The storage quantities can also be given in GB/Hour or GiB/Hour. As we will utilize the daily aggregated volume
This simply leaves us with the formula for estimating the storage volume
The storage account storage volume is estimated based on the Azure amortized cost export. The method of estimation is based on the Microsoft Azure Blob Storage pricing documentation. The following criteria are used to identify storage cost related to storage accounts:
Cost Export Property | Relevant Values |
---|---|
MeterCategory | Storage |
ResourceType |
microsoft.storage/storageaccounts , microsoft.classicstorage/storageaccounts
|
UnitOfMeasure | 1 GB/Month |
The latter criteria will identify usage with the following MeterName
values
MeterName | UnitOfMeasure |
---|---|
Archive GRS Data Stored | 1 GB/Month |
Archive LRS Data Stored | 1 GB/Month |
Archive RA-GRS Data Stored | 1 GB/Month |
Cold LRS Data Stored | 1 GB/Month |
Cold RA-GRS Data Stored | 1 GB/Month |
Cold ZRS Data Stored | 1 GB/Month |
Cool GRS Data Stored | 1 GB/Month |
Cool LRS Data Stored | 1 GB/Month |
Cool RA-GRS Data Stored | 1 GB/Month |
Cool RA-GZRS Data Stored | 1 GB/Month |
Cool ZRS Data Stored | 1 GB/Month |
GRS Data Stored | 1 GB/Month |
GRS Metadata | 1 GB/Month |
GZRS Data Stored | 1 GB/Month |
Hot GRS Data Stored | 1 GB/Month |
Hot GRS Index | 1 GB/Month |
Hot GZRS Data Stored | 1 GB/Month |
Hot LRS Data Stored | 1 GB/Month |
Hot LRS Index | 1 GB/Month |
Hot RA-GRS Data Stored | 1 GB/Month |
Hot RA-GRS Index | 1 GB/Month |
Hot RA-GZRS Data Stored | 1 GB/Month |
Hot ZRS Data Stored | 1 GB/Month |
Hot ZRS Index | 1 GB/Month |
LRS Data Stored | 1 GB/Month |
LRS Metadata | 1 GB/Month |
LRS Snapshots | 1 GB/Month |
Premium LRS Data Stored | 1 GB/Month |
Premium LRS MetaData Storage | 1 GB/Month |
Premium LRS Provisioned | 1 GB/Month |
Premium LRS Snapshots | 1 GB/Month |
Premium ZRS Data Stored | 1 GB/Month |
Premium ZRS MetaData Storage | 1 GB/Month |
Premium ZRS Provisioned | 1 GB/Month |
Premium ZRS Snapshots | 1 GB/Month |
RA-GRS Data Stored | 1 GB/Month |
RA-GZRS Data Stored | 1 GB/Month |
ZRS Data Stored | 1 GB/Month |
ZRS Metadata | 1 GB/Month |
As the all storage quantities related to storage accounts are given in GB/Month, the estimated storage account storage volume
The managed disk storage volume is estimated based on the Azure amortized cost export. The method of estimation is based on the Microsoft Managed Disk pricing documentation. Managed disks are primarily storage that are pre-allocated and billed per disk as opposed storage accounts that are billed per GB used. Albeit, there are cost associated with managed disks that are billed per GB, but this is only in relation to redundancy.
The following criteria are used to identify storage cost related to pre-allocated managed disks:
Cost Export Property | Relevant Values |
---|---|
MeterCategory | Storage |
ResourceType | microsoft.storage/disks |
MeterName | Contains Disk
|
UnitOfMeasure | 1/Month |
The criteria used to identify storage cost related to managed disk redundancy capacities are:
Cost Export Property | Relevant Values |
---|---|
MeterCategory | Storage |
ResourceType | microsoft.storage/disks |
UnitOfMeasure |
1 GB/Month , GiB/Hour
|
The criteria above will identify usage with the following MeterName
values
MeterName | UnitOfMeasure |
---|---|
E1 LRS Disk | 1/Month |
E10 LRS Disk | 1/Month |
E10 ZRS Disk | 1/Month |
E15 LRS Disk | 1/Month |
E2 LRS Disk | 1/Month |
E20 LRS Disk | 1/Month |
E20 LRS Disk Mount | 1/Month |
E3 LRS Disk | 1/Month |
E30 LRS Disk | 1/Month |
E4 LRS Disk | 1/Month |
E4 ZRS Disk | 1/Month |
E40 LRS Disk | 1/Month |
E50 LRS Disk | 1/Month |
E6 LRS Disk | 1/Month |
E60 LRS Disk | 1/Month |
E70 LRS Disk | 1/Month |
LRS Snapshots | 1 GB/Month |
P1 LRS Disk | 1/Month |
P10 LRS Disk | 1/Month |
P15 LRS Disk | 1/Month |
P15 LRS Disk Mount | 1/Month |
P2 LRS Disk | 1/Month |
P20 LRS Disk | 1/Month |
P3 LRS Disk | 1/Month |
P30 LRS Disk | 1/Month |
P30 LRS Disk Mount | 1/Month |
P4 LRS Disk | 1/Month |
P40 LRS Disk | 1/Month |
P50 LRS Disk | 1/Month |
P50 LRS Disk Mount | 1/Month |
P6 LRS Disk | 1/Month |
P60 LRS Disk | 1/Month |
P60 ZRS Disk | 1/Month |
P70 LRS Disk | 1/Month |
P80 LRS Disk | 1/Month |
Premium LRS Provisioned Capacity | 1 GiB/Hour |
S10 LRS Disk | 1/Month |
S15 LRS Disk | 1/Month |
S20 LRS Disk | 1/Month |
S30 LRS Disk | 1/Month |
S4 LRS Disk | 1/Month |
S40 LRS Disk | 1/Month |
S50 LRS Disk | 1/Month |
S6 LRS Disk | 1/Month |
S60 LRS Disk | 1/Month |
S70 LRS Disk | 1/Month |
S80 LRS Disk | 1/Month |
Snapshots LRS Snapshots | 1 GB/Month |
As the managed disk are not billed per storage unit but per disk, we do not care about the quantity in terms of 1/Month
, as it doesn't tell us anything about the allocated storage per disk. Determining the allocated storage per disk is based on the provided disk storage lookup tables that are found in the managed disk pricing documentation. The following disk types and corresponding disk sizes where extracted from the documentation:
DiskType | DiskSize |
---|---|
S4 | 32 GiB |
S6 | 64 GiB |
S10 | 128 GiB |
S15 | 256 GiB |
S20 | 512 GiB |
S30 | 1 TiB |
S40 | 2 TiB |
S50 | 4 TiB |
S60 | 8 TiB |
S70 | 16 TiB |
S80 | 32 TiB |
E1 | 4 GiB |
E2 | 8 GiB |
E3 | 16 GiB |
E4 | 32 GiB |
E6 | 64 GiB |
E10 | 128 GiB |
E15 | 256 GiB |
E20 | 512 GiB |
E30 | 1 TiB |
E40 | 2 TiB |
E50 | 4 TiB |
E60 | 8 TiB |
E70 | 16 TiB |
E80 | 32 TiB |
P1 | 4 GiB |
P2 | 8 GiB |
P3 | 16 GiB |
P4 | 32 GiB |
P6 | 64 GiB |
P10 | 128 GiB |
P15 | 256 GiB |
P20 | 512 GiB |
P30 | 1 TiB |
P40 | 2 TiB |
P50 | 4 TiB |
P60 | 8 TiB |
P70 | 16 TiB |
P80 | 32 TiB |
Usage that are identified as managed disk storage will have the disk type determined by the MeterName
property. The meter names for this usage is given on the form (DiskType) (Redundancy) Disk
, and thus the disk type is simply determined by extracting the first substring from the MeterName
, then the disk type is determined by lookup in the table above.
The storage related to managed disk redundancy capacities are given in both GB/Month and GiB/Hour. The estimated storage volume
The estimated storage volume
The NetApp Files storage volume is estimated based on the Azure amortized cost export. The method of estimation is based on the Microsoft Azure NetApp Files cost model documentation. The following criteria are used to identify storage cost related to NetApp Files:
Cost Export Property | Relevant Values |
---|---|
MeterCategory | Azure NetApp Files |
ResourceType | microsoft.netapp/netappaccounts |
MeterName |
Standard Capacity , Ultra Capacity , Premium Capacity , Backup Capacity
|
The latter criteria will identify usage with the following MeterName
values
MeterName | UnitOfMeasure |
---|---|
Standard Capacity | 1 GiB/Hour |
Ultra Capacity | 1 GiB/Hour |
Backup Capacity | 1 GiB/Month |
Premium Capacity | 1 GiB/Hour |
For storage quantities given in GiB/Month, the estimated NetApp Files storage volume
For storage quantities given in GiB/Hour, the estimated NetApp Files storage volume
The backup storage volume is estimated based on the Azure amortized cost export. The method of estimation is based on the Microsoft Azure Backup pricing documentation. The following criteria are used to identify storage cost related to backup:
Cost Export Property | Relevant Values |
---|---|
MeterCategory | Backup |
MeterName | Contains Data Stored
|
UnitOfMeasure | 1 GB/Month |
The latter criteria will identify usage with the following MeterName
values
MeterName | UnitOfMeasure |
---|---|
GRS Data Stored | 1 GB/Month |
LRS Data Stored | 1 GB/Month |
RA-GRS Data Stored | 1 GB/Month |
Archive GRS Data Stored | 1 GB/Month |
All storage quantites related to backup are given in GB/Month, thus the estimated backup storage volume
The SQL database storage volume is estimated based on the Azure amortized cost export. The method of estimation is based on the Microsoft Azure SQL Database pricing documentation. The following criteria are used to identify storage cost related to SQL Database:
Cost Export Property | Relevant Values |
---|---|
MeterCategory | SQL Database |
MeterName | Contains Data Stored
|
The latter criteria will identify usage with the following MeterName
values
MeterName | UnitOfMeasure |
---|---|
Backup LRS Data Stored | 1 GB/Month |
LRS Data Stored | 1 GB/Month |
Data Stored | 1 GB/Month |
Backup ZRS Data Stored | 1 GB/Month |
Backup - RA-GRS Data Stored | 1 GB/Month |
Backup RA-GRS Data Stored | 1 GB/Month |
Backup - ZRS Data Stored | 1 GB/Month |
RA-GRS Data Stored | 1 GB/Month |
Business Critical Data Stored | 1 GB/Month |
Hyperscale Data Stored | 1 GB/Month |
General Purpose Data Stored | 1 GB/Month |
Backup - LRS Data Stored | 1 GB/Month |
All storage quantites related to SQL database in GB/Month, thus the estimated SQL database storage volume
The SQL managed instance storage volume is estimated based on the Azure amortized cost export. The method of estimation is based on the Microsoft Azure SQL Managed Instance pricing documentation. The following criteria are used to identify storage cost related to SQL managed instance:
Cost Export Property | Relevant Values |
---|---|
MeterCategory | SQL Managed Instance |
MeterName | Contains Data Stored
|
The latter criteria will identify usage with the following MeterName
values
MeterName | UnitOfMeasure |
---|---|
LTR Backup RA-GRS Data Stored | 1 GB/Month |
RA-GRS Data Stored | 1 GB/Month |
Business Critical Data Stored | 1 GB/Month |
General Purpose Data Stored | 1 GB/Month |
LTR Backup LRS Data Stored | 1 GB/Month |
All storage quantites related to SQL managed instance are given in GB/Month, thus the estimated SQL managed instance storage volume
The Cosmos DB storage volume is estimated based on the Azure amortized cost export. The method of estimation is based on the Microsoft Azure Cosmos DB pricing documentation. The following criteria are used to identify storage cost related to Cosmos DB:
Cost Export Property | Relevant Values |
---|---|
MeterCategory | Azure Cosmos DB |
MeterName | Contains Data Stored
|
The latter criteria will identify usage with the following MeterName
values
MeterName | UnitOfMeasure |
---|---|
Standard Data Stored | 1 GB/Month |
Backup Data Stored | 1 GB/Month |
Data Stored | 1 GB/Month |
General Purpose Storage Data Stored | 1 GB/Month |
All storage quantites related to Cosmos DB are given in GB/Month, thus the estimated Cosmos DB storage volume
The MySQL database storage volume is estimated based on the Azure amortized cost export. The method of estimation is based on the Microsoft Azure MySQL database pricing documentation. The following criteria are used to identify storage cost related to MySQL database:
Cost Export Property | Relevant Values |
---|---|
MeterCategory | Azure Database for MySQL |
MeterName | Contains Data Stored
|
The latter criteria will identify usage with the following MeterName
values
MeterName | UnitOfMeasure |
---|---|
Storage Data Stored | 1 GB/Month |
Backup LRS Data Stored | 1 GB/Month |
Basic Data Stored | 1 GB/Month |
General Purpose Data Stored | 1 GB/Month |
Backup Storage LRS Data Stored | 1 GB/Month |
Backup GRS Data Stored | 1 GB/Month |
All storage quantites related to MySQL database are given in GB/Month, thus the estimated MySQL database storage volume
The PostgreSQL database storage volume is estimated based on the Azure amortized cost export. The method of estimation is based on the Microsoft Azure PostgreSQL database pricing documentation. The following criteria are used to identify storage cost related to PostgreSQL database:
Cost Export Property | Relevant Values |
---|---|
MeterCategory | Azure Database for PostgreSQL |
MeterName | Contains Data Stored
|
The latter criteria will identify usage with the following MeterName
values
MeterName | UnitOfMeasure |
---|---|
Storage Data Stored | 1 GB/Month |
Backup LRS Data Stored | 1 GB/Month |
Basic Data Stored | 1 GB/Month |
General Purpose Data Stored | 1 GB/Month |
Backup Storage LRS Data Stored | 1 GB/Month |
General Purpose Data Stored | 1 GiB/Month |
For storage quantites given in GB/Month, the estimated PostgreSQL database storage volume
For storage quantites given in GiB/Month, the estimated PostgreSQL database storage volume