Azure cost management is a practice that involves tracking the utilization of Azure services each month. Azure charges retrospectively for usage during each month and so businesses that are heavily reliant on the platform can sometimes get surprised by the size of their bills.
You would think that anyone would know what they signed up for and should be perfectly aware of their obligations each month. However, just like a utility bill, Azure usage can sometimes leap unexpectedly. This is because many Azure services have a transaction basis for charging and a new application or a sales campaign can cause an unexpected surge in demand for an Azure-provided resource.
You can’t assume that this month’s bill from Azure will be the same as last month’s bill. Finance managers who are not particularly skilled in technical issues find it easy to overlook the cost elasticity of unseen services. If an accountant walks into a building and sees 100 new PCs being installed, the Accounts Department will be alerted to examine the budget and ensure costs are catered for. However, an equal expansion in Azure activity is unseen and unnoticed … until the invoice arrives.
Project cost planning
The first step to avoiding a nasty surprise from the Azure invoice is to recognize that new services are going to cost money. Similarly, expanded activity will increase demand for resources, which also costs money. Being able to correctly integrate Azure service costs into project plans takes the sting out of the Azure bill at the end of the month.
The second important factor that will help your business avoid a sudden cash shortage is to build flexibility into budgets when running a new product or service. Although it is nice to set sales and turnover targets, you never actually know one hundred percent whether a new product will take off, will be slow to gather attention, or will be completely dead in the water. Therefore, always hope for the best but plan for the worst.
The third important task to perform to avoid unexpected charges is to keep track of Azure costs as they arise – don’t wait until the end of the month to see what happened.
Azure utilization tracking
The easiest way to keep track of Azure costs throughout the month is to use an automated tool. If a software package can extract usage and price data from the Azure platform, it can compile the bill as the month progresses.
The cost calculations of an automated Azure tracking tool are not official. However, that provides another benefit because it can compare the bill from Azure with its records of actual service usage during the month.
An Azure utilization tracking system also offers the possibility of availability and performance logging, which can be used to ensure that Azure delivers to its contractual service level agreement (SLA).
Microsoft Cost Management for Azure
Microsoft Cost Management for Azure is one of the best tools available for automated Azure cost tracking and is produced by Azure’s makers. This tool integrates into the Azure platform and it is available for free to Azure customers. A cost management system provided by Azure’s makers might seem to be just extended functionality for the account details for a subscription. However, Microsoft Cost Management was developed as a third-party tool, called Cloudyn, which Micorosft bought and then renamed.
The Microsoft Cost Management system runs as a separate package from the native account management tools. The system is also able to track AWS costs from its Azure location. However, that function is not free to use. The Microsoft Cost Management for AWS system is billed at one percent of the value of your month-end AWS invoice.
A benefit of the Microsoft system is that it tracks the usage and costs of all Azure services and all applications that you access from the Azure Marketplace. This enables you to have just one dashboard to visit to look at your evolving obligations towards the month-end invoice.
Microsoft Cost Management Cost Analysis
The Cost Analysis screen in the tool offers an overview of the costs of all services by day. Each service contributes to a bar chart with individual costs labeled and an overall cost shown for the day. Pie charts show Azure costs per service, per location, and user account.
Outlier costs can skew predictions and so you will need to identify anomalies and either factor them out of total spend projections, or identify a recurring pattern – they might not be unusual usage, but infrequent but valid events.
The main purpose of this screen is to forecast the month-end bill, based on current usage patterns. Naturally, this assessment gets more accurate as the month progresses. By the end of the month, you have a factual record of your utilization of Azure services, and the cost analysis function then serves as an invoice verification service, checking the Azure bill against your records of consumption.
It is possible to allocate costs. However, this distribution will require a high degree of definition. It is possible to tag costs. However, the easiest way to identify a department’s consumption or to allocate costs to a specific project or product is to create separate user accounts for those entities or systems. A user account is one of the built-in filters in the Microsoft Cost Management system. Location can be another useful indicator if you manage multiple sites and want to allocate costs to each.
Microsoft Cost Management Budgets
Microsoft Cost Management works with a system called “scopes” to define management units for cost data. These can be defined as hierarchies that enable you to roll up or drill down on cost and budget data.
While there are several built-in filtering attributes that you can use to isolate costs for a specific unit, such as user account or location, the Budgets section of the Microsoft Cost Management system requires you to work with scopes, which you have to set up before you can get meaningful project-level or even department-based budgeting functions.
The system of scopes is a little complicated and it leads off your Active Directory accounts. To learn about this topic in depth, you can read Understand and work with scopes. The scope is a required field in the screen for the definition of a budget.
Budgets don’t get included as a factor on the Cost Analysis screen, so you have to visit the Budgets screen to track spending targets. The budget period is not limited to the current month. It can stretch into the future and end dates can be different for each budget line.
An Evaluated Spend value in the Budgets table is the cost to date within the budget period for that entity. This resets to zero when the budget period ends. The budget period can be monthly, quarterly, or annual.
The budget periods can be evaluated by calendar month or on the date of your billing cycle. The budget will eventually end, and you express this with the Expiration Date. As time passes and usage of Azure services clocks up, the Evaluated Spend will increase. A Progress bar shows the amount of the total budget that has been spent to date – from the beginning of the budget’s creation not just within the budget period. The Forecasted field is populated by the Cost Analysis system.
The charges that get added to each progress calculation and Evaluated Spend are those Azure service usage fees that have been registered against the scope that you specify for the budget.
Once you have defined a budget line, you can associate actions with it. These are triggers and you can set them up to generate notifications or implement actions. You can place an alert trigger on actual spending or forecasted costs. For example, you can set an alert when the spend reaches a percentage of the forecasted spend.
The trigger will send you a notification to an email address that you enter into the alert’s settings. It can optionally also perform actions such as shutting down activity on specific services to prevent costs from increasing further.
Other Azure subscription management services
Microsoft Cost Management will interface with other Azure account management tools to enable you to optimize the value of your Azure services. One of these tools is the Azure Pricing Calculator.
The Pricing Calculator is useful when considering combinations of services. There are often different ways you can go about tracking a project. For example, you have choices over the type of database that you use and whether you want to use serverless technology or use a virtual server. The different storage types offered by Azure also need to be evaluated for their appropriateness and their costs.
Some services have price points or volume discounts that can influence the final choice over which type of system is cost-effective for your project.
Another useful tool that you might choose to use alongside Microsoft Cost Management is Azure Advisor. This service analyzes your current resource usage and identifies underutilized services, such as reserved CPU capacity.
Your business plans might change and systems that you once needed might become surplus to requirements. Thus, spotting which resources are becoming less necessary will speed up your decision to drop them.
Third-party Azure cost management tools
Microsoft Cost Management isn’t the only system that is available for Azure cost tracking. Serverless360 is an example of a third-party system that can provide cost management for Azure accounts.
Serverless360 (FREE TRIAL)
Serverless360 is a SaaS package that offers three tools for Azure system monitoring and it also provides cost tracking features. The service organizes Azure-based modules to create virtual applications. That grouping makes cost allocation easier because it will distribute the costs of subscription services in proportion to the virtual applications that use them.
Key Features:
- The formation of virtual applications
- Specifically written for Azure
- Allows departmental cost tracking
- Azure cost distribution and aggregation per appliance
- Projections for month-end invoices
The Resource Map module helps you identify the services that contribute to one of your applications. This creates a virtual application that can be used for performance tracking. Each time the application runs, you will use Azure resources and rack up charges. The cost calculator in the package works out what portion of each Azure service contributes to that virtual application It then summarizes all of the charges per virtual application, creating a unit price. That application cost can then be allocated to the departments that run the virtual package throughout the month.
The cloud-hosted dashboard for Serverless360 keeps an ongoing tally of costs per day which you can see in a chart. It is then possible to get a forecast of what each virtual application will cost over the calendar month and then see a prediction for a bill for each subscription. Cost graphs can also be filtered and sorted to create custom reports on Azure costs.
It is easier to understand how the Serverless360 platform works by trying it for yourself. This can be done with a 15-day free trial.
Pros:
- Distributes Azure subscription costs
- Provides a cost per virtual application
- Cost allocation per department according to usage
- Performance tracking for virtual appliances
- Azure invoice forecasting
Cons:
- Doesn’t include costs from other platforms
Serverless360 Access the 30-day FREE Trial