If you’re using Microsoft’s cloud, Azure Cost Management + Billing really is an essential service.
One of the perennial myths about working with cloud computing resources is that it’s near-impossible to predict and manage costs. That might have been the case in the early days, when virtual machine sprawl and inconsistent management and governance tooling meant it was easy to suddenly be presented with a bill for many thousands of dollars, when all you’d thought you were paying for were a couple of virtual machines and a small development database.
Today things are very different. Cloud providers have implemented many different tools and technologies to help you manage your cloud resources, with APIs that give access to billing systems and to the data used to calculate your bills. Alongside them, they’ve introduced technologies, like reserved instances, that offer cheaper access to resources while locking you into longer-term contracts.
The result is a mix of complex pieces of data that makes it hard to predict what the right balance of dynamic and reserved cloud services should be for your business. This unpredictability hinders cloud services as they attempt to deliver a global infrastructure that makes it easier to plan data centre capacity. At the same time, it prevents you from optimising your bills to get the most bang for your buck.
What’s needed is a way to simplify data collection, making it easier to understand what you’re spending and why.
Track costs in the Azure Portal
Microsoft has started bundling the various tools that used to help you understand your Azure bills into a more comprehensive suite for managing and predicting costs, as well as finding ways of keeping your bills down. The tools are available in the Azure Portal, available through the Cost Management + Billing option. Using this you can quickly see how you’re spending money, drilling down into locations, services, and resource groups.
Tools like this help you track down what services are costing you the most and how they’re being used, and how you’re paying for them. Using the Cost Analysis option, you can see what’s been spent, and what’s likely to be spent. Along with costs, the service can predict what your future expenditure will look like, comparing it with your current budget. Along with traditional graphs, donut charts give you a quick way to pivot around different variables, finding the right area to explore and analyse. Costs can be organised by the services you’re using and the resource groups you’ve deployed.
One of the more useful features of Azure Cost Management is its Power BI connector. Instead of creating regular reports for management, you can add the connector to a Power BI dashboard and give access to it to your finance team, so they can get near real-time access to Azure cost data. You can connect to it with either a Customer Agreement or an Enterprise Agreement using your account details. The connector provides a set of data based on current and predicted usage trends that can be used in conjunction with other Power BI tools to build reports and models.
With the connector in place, you can build reports that display Azure usage graphically, breaking out usage and Marketplace charges, as well as getting access to service predictions. With the ability to drill down into data in a familiar analytic tool, business owners will be able to work with technical teams to book lower-cost reserved instances, as well as understand how demand and usage affect spend.
Use Power BI to analyse costs in detail
One interesting option is to work with Power BI’s support for Azure Cognitive Services to add anomaly detection to a dashboard. Is a service suddenly costing more to run? By alerting the service owners quickly, you can start to drill down into why things have changed before you get a shocking monthly bill from Microsoft. We’re already seeing similar services from competing cloud services like AWS, and the ability to build and train your own predictive models across a range of Microsoft and Marketplace services should prove to be very useful indeed.
Azure’s cost management tooling doesn’t only manage Azure, it’s now available as a preview for AWS as well, helping you manage cross-cloud applications. There is one important note: while Azure Cost Management is free on Azure, it will be charged for once the service releases. Costs can mount quickly if you’re using it with a large AWS infrastructure, as Microsoft will bill you 1% of your managed AWS spend (although the more it saves you, the less it will cost!). While having one place to see all your costs is certainly useful, you may prefer to use AWS’s own cost-control tools.
Managing and optimising Azure
While there’s a lot in Microsoft’s cost management tooling, it shouldn’t be the only solution you use. It’s really best used as part of a suite of tools that help you control your Azure usage, working alongside Azure Advisor and the Azure Well-Architected Framework. Getting to grips with Azure spend means understanding what you’ve deployed, and how you might rethink that deployment. You might be spending thousands of dollars or pounds a month on over-provisioned VMs, when a smaller VM instance might work better for your application at a much lower cost, with even more savings coming from moving to a cloud-native architecture and a complete rebuild of your code, using the lessons from the Azure Advisor.
Tools like this are an important part of a cloud migration. Because you are moving from a capital expenditure model to one based on operational expenses, you need to keep a closer eye on costs, avoiding unpleasant surprises and ensuring that the right groups within a business are shouldering their fair share of the costs.
With cost allocations now in preview, you finally have the tools needed to give everyone visibility into what their apps cost. That ensures there are no surprises, and that business decisions are made with all the relevant information. At the same time, there’s the opportunity for optimisation and for predictive analysis to help take advantage of lower cost options within Azure. If you’re using Microsoft’s cloud, then this really is an essential service.