Cost management

Natasha Ong
This is some text inside of a div block.
4 min read

In a nutshell:

Azure Cost Management helps control expenses by providing cost analysis, alerts, and budgets for Azure resources.
Resource tags in Azure help organise resources, allowing for efficient cost management, security, and compliance. Tags can be managed through various Azure tools, and Azure Policy can enforce tagging rules.

If you accidentally create new resources on Azure, you may not be aware that they're running until it’s time for your (super expensive) bill!

We need someone to help us manage our spending so money doesn't go down the drain - enter Azure Cost Management and tags. 🦸🦸‍♀️

What is Azure Cost Management?

Azure Cost Management is a crucial tool for monitoring and controlling expenses in your Azure environment. It offers insights into your resource costs and helps you establish budgets and alerts to prevent cost overruns.

There are three big features in the Cost Management tool:

1. Cost analysis

This feature allows you to analyse your Azure costs from different perspectives, such as billing cycle, region, or resource type. It offers insights into where your costs are being incurred and helps identify spending trends over time.

2. Cost alerts

Azure Cost Management offers three types of alerts:

  • Budget alerts: These notify you when spending exceeds a predefined budget, whether based on cost or consumption.
  • Credit alerts: For organisations with Enterprise Agreements (EAs), credit alerts inform you when your Azure credit balance is at 90% or 100% utilisation.
  • Department spending quota alerts: These alert you when department spending reaches a set threshold, as configured in the EA portal.

3. Budgets

Budgets in Azure are spending limits that you can set based on various criteria, including subscription, resource group, or service type. When a budget reaches its defined threshold, it triggers a budget alert that appears in the cost alerts area. Additionally, budget alerts can send email notifications.

What are tags?

As your cloud usage grows, it's increasingly important to stay organised. A good organisation strategy helps you understand your cloud usage and can help you manage costs.

One way to organise your resources is to place them in their own subscriptions. You can also use resource groups to manage related resources.

Resource tags are another way to organise resources. A resource tag consists of a name and a value. You can assign one or more tags to each Azure resource. It enables you to categorise and label resources, which helps with:

  • Resource management: Tags allow you to associate resources with specific workloads, environments, business units, and owners, making it easier to locate and act on resources.
  • Cost management and optimisation: By grouping resources using tags, you can generate cost reports, allocate internal cost centres, track budgets, and forecast estimated costs.
  • Operations management: Tagging resources based on their criticality helps in formulating service-level agreements (SLAs) and ensuring uptime and performance guarantees.
  • Security: Tags can be used to classify data by its security level, distinguishing between public and confidential information.
  • Governance and regulatory compliance: Tags help identify resources that align with governance or regulatory compliance requirements. They can also be part of enforcing tagging standards.
  • Workload optimisation and automation: Tags allow for automation and management based on tags, which is especially helpful in complex deployments.

Pro tips on resource tags:

  • You can manage resource tags using various Azure tools and services, such as Windows PowerShell, Azure CLI, Azure Resource Manager (ARM) templates, its own REST API, or the Azure portal.
  • Azure Policy can be employed to enforce tagging rules and conventions, ensuring tags are added or reapplied as needed. For example, you can require that certain tags be added to new resources as they're provisioned. You can also define rules that reapply tags that have been removed.
  • Resources don't inherit tags from subscriptions and resource groups, meaning that you can apply tags at one level and not have those tags automatically show up at a different level, allowing you to create custom tagging schemas that change depending on the level (resource, resource group, subscription, and so on).
  • Keep in mind that you don't need to enforce that a specific tag is present on all of your resources. For example, you might decide that only mission-critical resources have the Impact tag. All non-tagged resources would then not be considered as mission-critical.