1. Home
  2. Using Azure
  3. Understanding Why Azure Cost Management Differs from Nebula Reporting
  1. Home
  2. Nebula Documentation
  3. Reports
  4. Understanding Why Azure Cost Management Differs from Nebula Reporting

Understanding Why Azure Cost Management Differs from Nebula Reporting

Overview

Azure users will notice that the costs seen in the Azure Cost Management (ACM) function of the Azure Portal do not reconcile with the reporting from Nebula. Since Nebula data is used by NTT Ltd for most invoicing purposes, this means users will see differences between ACM data and usage invoices. This may cause confusion for users who have used ACM functions with Azure Subscriptions under direct contracts with Microsoft, as in those cases the ACM data is usually calculated using the specific price list that applies to their Microsoft contract, which tracks more closely to their actual invoice.

The reason for a larger discrepancy in using Nebula-managed subscriptions is that Azure supports many different pricing models and the two tools are not using the same pricing model for their calculations:

  • Azure Cost Management calculates based on the Enterprise Agreement pricing offer (AZR-0017P for normal Subscriptions and AZR-0148P for “Dev/Test” Subscriptions). For most meters, ACM reflects the “list” EA price for the meter as of February 2021. However, Microsoft does not publicly publish the pricing model for this offer.
  • Nebula calculates based on “Pay-As-You-Go” (AZR-0003P) offer for normal Subscriptions and Pay-As-You-Go Dev/Test (MS-AZR-0023P) offer for “Dev/Test” Subscriptions. Microsoft does publish this pricing. Pay-As-You-Go is the default pricing provided by the Azure Pricing Calculator (meaning the pricing used if you don’t log in and choose a different offer). The specific price list is available via the Azure Retail Prices API function, which is the data which Nebula uses to re-rate the usage to conform to the offer.

The NTT Transactional Model and contractual language uses the “Pay-As-You-Go” rates because they are publicly published, providing transparency as to the pricing being used and maintaining parity with Microsoft’s pricing offer as they introduce new functionality and/or make pricing changes to their offering. On a monthly basis, Nebula rates all usage in Nebula-provisioned Subscriptions according to these “Pay-As-You-Go” rates as described in detail in Introduction to Usage Reporting. This data is used as the source for most invoicing.

Given the pricing model differences, Azure Cost Management’s data will be “close” to Nebula’s rates before any discounting is applied, but the costs will not reconcile to the Nebula calculations used for invoicing. In aggregate (i.e. across all usage of all Subscriptions), the Nebula calculations are within +/- one percent of the ACM calculations. However, at an individual Nebula Subscription or Organization level, users may see larger variations, especially if the overall usage is relatively small or the Subscriptions have a lot of use of Azure meters where the pricing models vary. This isn’t a problem in terms of Azure Cost Management’s intended functionality – Microsoft is quite clear that ACM data should be used to estimate actual invoicing.

Differences between EA Pricing Offer and Pay-As-You-Go Offer

This section provides additional details about how the Enterprise Agreement pricing offer used by the Azure Cost Management function differs from the Pay-As-You-Go offer used by Nebula. Here we have summarized the key differences in both the pricing model and usage calculations. The differences are laid out in terms of expected impact, starting with the differences that usually have the most impact on ACM/Nebula discrepancies.

1) Only Pay-As-You-Go pricing offers “tiered” usage discounts

Under the Pay-As-You-Go offer, some Azure meters provide “tiered” discounted rates for higher volumes. For example, Internet Egress Pricing provides a certain amount of free usage for each Source Continent, and then discounted rates under each usage tier. By comparison, the Enterprise Agreement structure uses a single pricing rate for all usage, although some meters have an “included quantity” of usage that is excluded from the rate.

Since Nebula calculates under Pay-As-You-Go offer rates, it will aggregate the usage of all Azure Subscriptions associated with a Nebula Organization and rate it against any “tiered” pricing, which may result in a lower rate than calculated under the Enterprise Agreement pricing.

2) Pay-As-You-Go and Enterprise price lists use different accuracy and units of measure

The Pay-As-You-Go offer uses a USD price list that is priced to six decimal places of accuracy. That is, for a given unit of measure, the price is quoted in to $0.000001 accuracy. Note that Microsoft’s pricing articles and the Azure Pricing Calculator often quote a “rounded” price that doesn’t reflect the exact six digit rates used by the Pay-As-You-Go price list, but the Azure Retail Prices API function provides the exact rate. For convenience, Nebula also offers a report with the specific rate card as described in Azure PAYG Price List Report article.

By comparison the Enterprise Agreement offer uses a price list with two decimal accuracy, meaning in USD the price is quoted only in $0.01 increments. In practice, the effective pricing for usage isn’t impacted as much as that large difference in accuracy implies because the “unit of measure” in the EA price list is adjusted to deal with the fact that the lowest price can be $0.01. However, rounding differences will still result in discrepancies between the two.

  • Example: If the Pay-As-You-Go price list quotes a meter with a price of $0.0002 per unit, the EA Price List might quote the same meter with a price of $0.02 per 100 units. If you use exactly 100 units, the effective price is the same at $0.02… but if you use only 50 units, the PAYG effective price is $0.01 while the EA effective price is $0.02.

3) Enterprise Offer Price Protection/Price Change Policy

The Pay-As-You-Go offer uses a price list that Microsoft publishes monthly. Whatever pricing is published at the beginning of the month is effective for the given month, meaning prices may change over time. Microsoft does not publish historical pricing but Nebula does maintain a record of historical pricing and the functionality described in Azure PAYG Price List Report can be used to identify pricing used for a given month’s usage.

Although the Enterprise Price List isn’t publicly published, Microsoft’s Azure EA pricing overview describes some unique aspects of the EA pricing offer. Essentially, the EA prices for Azure meters that are in effect at the start of an Enterprise Agreement will not increase during the life of the agreement. They may decrease, but they won’t increase. If an Azure Meter undergoes an increase in the PAYG price, this may cause the ACM data to diverge more significantly from the Pay-As-You-Go pricing than is normally seen.

4) Pay-As-You-Go and Enterprise offers use different usage aggregation and rounding approaches

Following the way Pay-As-You-Go offers are invoiced by Microsoft, the Nebula system aggregates all Azure usage for a given Azure Meter from all Subscriptions associated with a Nebula Organization and then applies the six-digit accuracy price list to that usage. The net result is then rounded to two digits (USD/AUD) or integer (JPY) using IEEE standard Banker Rounding/Gaussian Rounding logic.

Enterprise Agreement offers use a much more complicated approach that aggregates usage from all Subscriptions under a given Server and Cloud Enrollment, rounds the aggregate usage to the integer then does a number of other complex conversions in applying the EA price list to compute the currency value.

However, these aggregation and rounding differences are likely to have a minor impact in most scenarios.

Additional Issue with JPY Currency Effective May 2023

Microsoft implemented a price increase in JPY currency effective April 1, 2023. The NTT Transactional Model implemented the change effective May 1, 2023 as described in NTT Transactional Model JPY and AUD Exchange Rates.

However, in most cases, the higher price is not reflected in the rates used by the Azure Cost Management (ACM) due to a technical issue with Microsoft’s implementation of our underlying Enterprise Agreement. The details are complex but the summary is that for most meters, Azure Cost Management continues to reflect pricing based on the EA offer based on the rates in effect in February 2021 as described above. Microsoft implemented the price increase by changing the way they calculate the discount for PAYG charges, which is done outside the system and therefore not reflected in ACM.

The net result is that ACM data for NTT affiliates in JPY currency does not reflect the exchange rate changes implemented effective May 1, 2023 and therefore the pricing used for its estimates after May 1, 2023 will be approximately 15% too low, prior to any discounting as described in Discount Eligible Azure Meters.

Other Functional Differences

There are two other functional differences within the NTT EA that relate to pricing concepts:

  • Reserved Instance “shared scope” as described in the Reservation scoping options is not supported. The Azure Portal will not allow you to choose this option. The reason for this is that a “shared scope” can apply to any Subscription in the EA SCE. Given the multi-tenant nature of NTT’s usage, shared scope means one Nebula Organization’s RI could be applied to a different Nebula Organization’s usage.
  • Azure Savings Plan is not supported and is turned off with the NTT EA SCE both due to the scope issue and because the data needed to re-rate the usage under the NTT Transactional Model is not currently available.
Updated on June 24, 2024

Related Articles