Cost management is one of the major considerations in cloud computing. Managed well, a cloud environment can be extremely valuable, but, managed poorly, 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 capability to set financial budgets and receive alerts when users are set to exceed those budgets. Azure offers this service, known as Azure budgets, through the Microsoft Cost Management suite of tools.
Before starting with this service, be aware that budget alerts are purely for notification purposes. The tool's job is only to send an email alert. It is the responsibility of the recipient -- usually an IT administrator -- to execute the appropriate action. It is possible to use Azure Monitor and runbooks to take action, but that is not part of the standard budgets tool.
Create budget alerts
To set up budget alerts, navigate to the Azure portal. Use the search function to locate Budgets or find it on the left-side menu stack.
To create an alert, click the +Add button. When it opens, there are many options. The default scope that would apply budget alerts is an entire Azure subscription. Admins can use a filter, however, to limit the scope to smaller, more discrete parts of a subscription.
For example, you could filter to select an Azure resource group that contains several VMs. Resource groups are designed to hold resources that share the same lifecycle, so it makes sense to group them from a budgeting perspective, too.
Selecting items from the filter group will limit what is seen in the drop-down results. Figure 3 shows an example of the filtering.
It is possible to get more granular in scope. That will require you to put in more effort, such as obtaining resource IDs.
Next, enter budget details such as a name, start date and end date, as shown in Figure 4. The budget threshold also needs to be set. Azure will suggest a budget based on historical usage over several months, but the administrator makes the final decision.
The next screen, shown in Figure 5, allows admins to set alert conditions. There are two different types of budget alert conditions: Actual and Forecast. Using the Actual value will trigger an alert only once the budget threshold has been reached. The Forecast setting, on the other hand, will alert when it predicts the cost will be hit within the current month. This allows admins to make proactive changes to avoid going over budget.
You can mix and match so that there are alerts sent at various points -- for example, when costs reach 25% or 50% of a budget.
Specify the alert recipients and language, as needed. Consider an email distribution group as a recipient, instead of 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 Create to finish creating the budget alert.
Use tags to streamline cost management
To make budgeting easier, use tags on every resource. Enforce this rule via an Azure policy for the appropriate subscription or management group. Doing so means every item has a cost center and other appropriate tags. This enables the administrator to break down costs incurred against specific tags or groups of tags, and makes the overall Microsoft Cost Management suite easier to use.
Available tags can be seen to the left of the costing center. Select the appropriate tag name and value to narrow down the data returned.
Admins can extend the Azure budgets tool into AWS. This requires a modest amount of configuration on the AWS side, but once it is done, it is possible to use the same Budget tab in Azure to set AWS costs.