Skip to main content

15 Questions related to Azure Cost Management and Azure billing

1. Is Azure Cost Management an excellent way to obtain billing information for my customer?
Inside Azure Cost Management you can see the current costs and different patterns related to consumption. Can be used to create a high-level idea about the billing value, but some things are not included inside the Azure Cost Management at this moment.

2. What costs are not yet included inside Azure Cost Management?
You will not be able to find costs related to supporting, reservation purchases and taxes. It might change in the future, but for now, they are not included. Additional to this Marketplace purchases, Support costs, Taxes and Credits cannot be found inside Azure Cost Management.

3. What are the costs that are included inside Azure Cost Management?
The most important categories are Azure Service usage and Marketplace offering usage. Be careful that the Reservation purchases are not yet included.

4. Can I export information from Azure Cost Management?
Using the APIs, you can export and integrate all information that is shown inside the Azure Cost Management in any tool you want. You can even configure automatic exports that can be used for billing or reports. Additional to this there is a support to export daily reports in CSV format.

5. Where can I automatically export the reports and consumption information?
The automatically exports are saved inside Azure Storage from where you can move them in any other location you want. 

6. What are the main purposes of Azure Cost Management?
The main objectives of these services are to provide cost analysis, budget, cost data export and recommendation related to it.

7. Can I configure limits and alerts using Azure Cost Management?
Yes, you can specify limits that can trigger different actions. Additional to this you can track your spending and see in real time where you are in comparison with your limits. The forecasting part can even predict taking into account the current consumption pattern when you will rich the threshold.

8. What actions can I execute when a threshold is reached? 
The actions that can be executed when a specific budget is reached can be from shutting down a VM to sending an email or a message to a particular system.

9. Can I use Azure Cost Management for CSP (Customer Service Providers) accounts?
At this moment in time, there is no support for these types of accounts. For billing purposes related to CSV, you can use Cloudyn.

10. Can I use Azure Cost Management if I’m an EA (Enterprise Agreement) customer?
Yes. You need to be sure that you have one of the roles that allow you to see this kind of information. Information can be seen from account level to subscription and resource group level.

11. At what level I can see the cost?
The costs can be seen at the service instance level and can be grouped based on different needs. Pivots are supported when you create details reports. Main views of costs are at instance, resources group, subscription, management group, enrollment account, department, billing account level – applicable for EA.

12. How can I detect cost anomalies?
The easiest way to create reports that shows consumption at a daily level where trends are taken into consideration. In this way, anomalies or new costs can be detected easily.

13. Can I see resource tags information to improve the way how I build the reports?
You can see information related to resources tags. Be aware that resource group tags are not included.

14. How often the cost information is updated?
Billing information is updated after a maximum of three days after the billing period. The current billing information is updated six times per day and the change when you consume more (depending on how often the Azure services that you use generate usage data) – the usual latency for different Azure services is between 8 to 24 hours.

15. Can I export data to PowerBI?
PowerBI can retrieve data automatically from Azure Cost Management. There reports that you can use from PowerBI to get more insights related to your consumption and trends.


Popular posts from this blog

ADO.NET provider with invariant name 'System.Data.SqlClient' could not be loaded

Today blog post will be started with the following error when running DB tests on the CI machine:
threw exception: System.InvalidOperationException: The Entity Framework provider type 'System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer' registered in the application config file for the ADO.NET provider with invariant name 'System.Data.SqlClient' could not be loaded. Make sure that the assembly-qualified name is used and that the assembly is available to the running application. See for more information. at System.Data.Entity.Infrastructure.DependencyResolution.ProviderServicesFactory.GetInstance(String providerTypeName, String providerInvariantName) This error happened only on the Continuous Integration machine. On the devs machines, everything has fine. The classic problem – on my machine it’s working. The CI has the following configuration:

TeamCity.NET 4.51EF 6.0.2VS2013
It seems that there …

Entity Framework (EF) TransactionScope vs Database.BeginTransaction

In today blog post we will talk a little about a new feature that is available on EF6+ related to Transactions.
Until now, when we had to use transaction we used ‘TransactionScope’. It works great and I would say that is something that is now in our blood.
using (var scope = new TransactionScope(TransactionScopeOption.Required)) { using (SqlConnection conn = new SqlConnection("...")) { conn.Open(); SqlCommand sqlCommand = new SqlCommand(); sqlCommand.Connection = conn; sqlCommand.CommandText = ... sqlCommand.ExecuteNonQuery(); ... } scope.Complete(); } Starting with EF6.0 we have a new way to work with transactions. The new approach is based on Database.BeginTransaction(), Database.Rollback(), Database.Commit(). Yes, no more TransactionScope.
In the followi…

GET call of REST API that contains '/'-slash character in the value of a parameter

Let’s assume that we have the following scenario: I have a public HTTP endpoint and I need to post some content using GET command. One of the parameters contains special characters like “\” and “/”. If the endpoint is an ApiController than you may have problems if you encode the parameter using the http encoder.
using (var httpClient = new HttpClient()) { httpClient.BaseAddress = baseUrl; Task<HttpResponseMessage> response = httpClient.GetAsync(string.Format("api/foo/{0}", "qwert/qwerqwer"))); response.Wait(); response.Result.EnsureSuccessStatusCode(); } One possible solution would be to encode the query parameter using UrlTokenEncode method of HttpServerUtility class and GetBytes method ofUTF8. In this way you would get the array of bytes of the parameter and encode them as a url token.
The following code show to you how you could write the encode and decode methods.