Azure Finance: Key Tools You Need To Support Your Cost Management Strategy
Organisations are more aware than ever of the cost and elastic nature of the cloud, so it’s no surprise that they’re turning their attention to how to apply methodologies that help better manage cloud costs. Those used to CapEx based computing models are having to adapt to the variance of OpEx based models, while economic uncertainty and cost-saving mean finance teams are encouraging departments to bring down overheads.
Cloud can be one of the more significant business operating costs, which is why the major cloud providers offer a range of products and tooling that support coherent approaches to cost management. In this post we’re focusing on Microsoft, and how you can leverage some key cost management tools in Azure.
Of course, identifying key metrics to track will help assess overall progress—in a growing, dynamic business, headline cost figures may not provide insight into the actual performance of cost management activities. When it comes to governance processes too, we’ll look at what tooling is available to service cost management processes with the information needed to evaluate and make decisions.
Management Groups, Billing Scopes and Resource Groups
A key aspect of organising cost management within an Azure estate centres on aligning resources to structures within the business. Azure allows customers to create resources and align them to billing scopes and resource groups.
Billing scopes vary depending upon the type of Azure subscription you have and Microsoft have detailed documentation that provides more information on the subscriptions, but what do billing scopes mean in practice and how can they be used to make Azure cost management easier?
Many organisations will have multiple applications or products running on Azure. From a business perspective, these applications and their costs and revenue streams may be managed by OpCo, product codes, cost centres or otherwise. Billing scopes allow organisations to align Azure operations and billing in a way that’s consistent with how the organisation operates. For example, resources that are related to the provision of internal computing services to employees may be grouped and invoiced together, whilst similarly a front-of-house customer-facing application may be billed in its own group.
Billing scopes can also enable the creation of roles, providing the capability to allow and constrain access to billing/cost data to specific organisational units within the estate. Thus a finance team may have a role that allows them to roam across all scopes whereas a team lead may have sight only on the resources for which they’re responsible.
With regard to billing scopes we therefore have a means of organising the way we are billed, aligned to the way we structure our operations, the manner in which we are able to align assets with cost centres, and who can see and perform various cost management centric actions.
Azure Cost Management Tooling
We’ve seen how Azure allows you to structure subscriptions, scopes and resource groups to enable the presentation of cost information allied to the way in which the organisation is managed. Azure Cost Management offers a range of tools to enable the management of costs both today and in the future through predictive technology.
Managing Today’s Azure Costs
A common complaint from finance teams concerning cloud costs is that too often the monthly bill comes as a surprise. Wild variations in costs month to month leave finance teams feeling out of control, with little understanding as to the source of cost impacts. Azure Cost Management provides a suite of tools to help address the issue of surprise and to enable early awareness and opportunity to mitigate rising costs.
As we’ve already seen, we can structure our billing hierarchies in a manner that allows us to align the presentation of cost information and invoices to the way in which we manage and account for costs within our business This is a powerful feature that allows the relationship between groups developing and maintaining application services and those responsible for financial governance within the operation. But what else does Microsoft offer through its Azure Cost Management Service?
Put simply, a host of features designed to allow you to:
- gain visibility of costs relevant to teams and corporate functions
- view current run rates across resources with up-to-the-present costs
- implement budgeting ranges that will flag current and potential future costs issues
With this information to hand, teams are able to better manage and mitigate future surprises, make better budgeting decisions and implement strategies to improve spend data as application architectures and demand change.
Present and Future Budgeting Predictions
Azure’s budgeting feature allows organisations to set budgets for specific subscriptions, resources and resource groups. These budgets can be set for today’s costs and to provide predictive insight and alerts relating to rising future costs. The former provides the opportunity to strategically address cost issues whilst the latter provides the opportunity to strategically deal with and plan for rising costs against specific resource groups.
Budgeting when used alongside alerts takes the guesswork out of the equation. Provided budgeting is set up properly, cost anomalies will be highlighted as soon as they emerge, allowing action to be taken and smoothing relationships for teams working with Finance.
Azure Advisor Recommendations
Azure Advisor Recommendations provides users with suggestions across the measures of reliability, security, performance, operational excellence and cost.
Relating to the cost aspect, Azure Advisor uses telemetry and algorithms to assess the ways in which your infrastructure assets are being used. It assesses the prior seven days’ worth of CPU, network traffic and memory to determine the usage level of Azure Virtual Machines (VMs). It then goes on to make recommendations that suggest shutdown, resize and burstable VM options that might better align with the profile of the workload undertaken by the VM.
Azure Advisor is a powerful and useful tool for developing an understanding of potential targets but it shouldn’t be regarded as a be-all-and-end-all to optimising machine instances. Recommendations are algorithmic in nature and thus limited, so it’s important to work with the team who owns a specific VM to better understand the workload and the impact of any changes on the workload.
Nevertheless, Azure Advisor is an invaluable tool in enabling the rapid assessment of low hanging fruit that can be targeted for cost reduction activity.
Azure Reserved Instances
Azure Reserved Instances represents a product within Azure’s Reservations portfolio of products. Reservations enable a divergence from the rental model to a capitalisation model and the Reserved Instance solution allows Azure customers to capitalise VM products for a period of time to gain access to cost savings.
As estates and individual workloads mature, it will become apparent that certain VMs are likely to be in place for a long time into the future. Their workloads are stable and/or predictable, and are unlikely to change a great deal. Fundamental to operations, organisations should seek to capitalise these instances to achieve significant cost savings.
Those familiar with other public cloud platforms will likely be familiar with Reserved Instance products. Azure’s product offers greater levels of flexibility than some competitor offerings alongside the availability of circa 50% (up to 72%) savings.
The flexibility offered by Azure’s product lies in that it functions as a billing mechanism. You do not tie capitalisation to a specific instance, instead you purchase a set of CPU cores. On an hourly basis, Azure will then check the eligible machine instances that have been running in the last hour and then apply the reservation that matches that criteria, thus maximising the opportunity to benefit from capitalisation investments across relevant VM assets.
VM reservations can be made across one- and three-year time periods with the option to capitalise upfront or otherwise to pay monthly for your reservation commitment.
Understanding how your VMs work and the profile of their workloads across an axis of CPU Utilisation/Memory over time is critical to understanding the machines and workloads that will benefit from reservations. This is on the basis that a reservation represents a 24-hour commitment across the length of the period in which the reservation has been ordered.
Put simply, if your workloads only run periodically and not consistently, it may be a more cost-effective strategy to implement an automated machine start/shutdown procedure that readies the VM for its workload and then shuts it down once it is complete. However, if your workload runs for long periods, a service that’s always required to be available, then making instance reservations may be a good idea, and offers undeniably attractive savings.
Reservations are a potentially complex area so make sure you review the Azure documentation on the topic before committing capital sums. In practice, the Azure customer selects the type or class of machine they wish to buy cores for. Let’s say it chooses to purchase 10 D2v2 machine family cores; the customer then reserves that number of cores and Azure billing then applies discounts to eligible cores on an hourly basis.
Azure Hybrid Benefits: Transfer Licences to Azure
Azure hybrid benefits apply to customers with either an enterprise agreement or customer agreement with Microsoft. It allows the transfer of software licences from an on-premise utilisation scenario to Azure. Either on-prem or Windows Server or SQL Server licences can be transferred to Azure, mitigating the need to pay again for licences and providing the opportunity to access up to an 82% discount on VM operating costs.
As we’ve seen, Azure offers a broad selection of tooling to assist in informing cost management processes. There are dashboards that offer recommendations for capitalising CPU resources to drive huge savings, budgeting tools to help you manage current and potential future anomalies, and a flexible capitalisation system that ties your long-term investment in those resources in the most cost-effective and efficient way.
The Azure cost management tooling provides a body of very useful information that informs cost management processes. But to get the best value from that information, a structured, objective approach to reviewing and managing costs is required. Old processes for managing IT costs are largely redundant in the cloud and adaptation to that reality is vital for organisations who want to prevent finance team restrictions and over-burdening cost bureaucracy from damaging the velocity, value and agility of projects.
For more information on how to manage cloud costs, check out our FinOps blog.