Cost management is one of the major considerations in cloud computing. Well managed, a cloud environment can be extremely valuable, but poorly managed, the cloud can cost more than a traditional on-premises environment.
Azure resources are priced based on consumption. You pay for resources as you use them. It’s helpful to use automation to monitor cloud usage and spending to avoid sticker shock.
Azure has the ability to set financial budgets and receive alerts when users are configured to exceed those budgets. Azure offers this service, known as Azure Budgets, through the Microsoft Cost Management suite of tools.
Before you start with this service, be aware that budget alerts are purely for notification purposes. The job of the tool is only to send an email alert. It is the responsibility of the recipient, usually an IT administrator, to take the appropriate action. It’s possible to use Azure Monitor and runbooks to take action, but it’s not part of the standard budgets tool.
Create budget alerts
To configure budget alerts, go to the Azure portal. Use the search function to locate budgets or find it in the left menu stack.
To create an alert, click the +Add button. When it opens, you have many options available to you. The default scope that would apply budget alerts is a full Azure subscription. Administrators can, however, use a filter to limit the scope to smaller, more discrete parts of a subscription.
For example, you can filter to select an Azure resource group that contains multiple VMs. Resource groups are designed to contain resources that share the same lifecycle, so it makes sense to group them together from a budgeting perspective as well.
Selecting items in the filter group will limit what is displayed in the drop-down results. Figure 3 shows an example of filtering.
It is possible to achieve a more granular scope. This will require you to do more effort, such as getting resource IDs.
Next, enter budget details such as a name, start date, and end date, as shown in Figure 4. The budget threshold must also be set. Azure will suggest a budget based on historical usage over several months, but the admin makes the final decision.
The next screen, shown in Figure 5, allows administrators to set alert conditions. There are two different types of budget alert conditions: Actual and Forecast. Using the actual value will only trigger an alert once the budget threshold is reached. The Forecast parameter, on the other hand, will alert when it predicts that the cost will be reached in the current month. This allows administrators to proactively make changes to avoid going over budget.
You can mix and match so that alerts are sent at different times, for example, when costs reach 25% or 50% of a budget.
Specify alert recipients and language, if required. Think of an email distribution group as a recipient, rather than individuals. This simplifies management and avoids a situation where a costly alert is missed because the individual happens to be out of the office.
Click on Create to finish creating the budget alert.
Use tags to streamline cost management
To facilitate budgeting, use tags on each resource. Apply this rule through an Azure policy for the appropriate subscription or management group. This means that each item has a cost center and other relevant tags. This allows the administrator to break down costs incurred against specific tags or tag groups and makes it easier to use the Microsoft Cost Management suite as a whole.
The available tags are visible to the left of the cost center. Select the appropriate tag name and value to refine the data returned.
Administrators can extend the Azure budgets tool in AWS. This requires a modest amount of configuration on the AWS side, but once that’s done, it’s possible to use the same Budget tab in Azure to set AWS costs.