Last week, my colleague Richard Mundy and I were attending the first Dutch Azure Lowlands. At one of the sessions about Azure development, after the presenter asked if anyone had any questions, one of the attendees asked a question that made me laugh a little.
I recognized what he was looking for and why the question was asked, and it amused me because it is such a well-known issue when working with Azure.
The question asked was “Why does Microsoft make estimating predictive cost analysis so hard for developers, and how can we manage this”.
The presenter (who was a Microsoft employee) chuckled nervously and the public laughed, obviously all of them having heard this question before as well.
And his answer was: “I am often struggling with this as well”.
Why is predicting Azure costs so difficult?
The problem with Azure is, there are just too much components and services. To complicate it further, there is often more than one way to create the needed solution or to combine different components.
Predicting what cost will be made when starting to use Azure, means you will have to define your environments and workloads. This means you will need a team with in-depth knowledge of all current (on-prem) servers, databases, storage, networking and their workloads.
But that’s not everything! After you’ve got all that figured out, there is more information that can be used to understand your current Total Cost of Ownership. Points to take under consideration before starting a honest calculation are:
- Electricity costs
- Price per KW hour
- Storage costs
- Storage procurement cost/GB for local disk/SAN-SSD
- Storage procurement cost/GB for local disk/SAN-HDD
- Storage procurement cost/GB for NAS/file storage
- Storage procurement cost/GB for Blob storage
- Annual enterprise storage software support cost
- Cost per tape drive
- IT labor costs
- Number of physical servers that can be managed by a full-time administrator
- Number of virtual machines that can be managed by a full-time administrator
- Hourly rate for IT administrator
And last but not least, the following costs (if applicable) also affect the Total Cost of Ownership model;
- Hardware costs
- Software costs
- Electricity costs
- Virtualization costs
- Data center costs
- Networking costs
- Database costs
- Virtual machine costs
- Geo Redundant storage
- Software assurance coverage
Azure billing is a complex process. When a single Azure resource is started, such as a virtual machine, it will have one or multiple meter instances created as well. These meters are used to track the usage of the resource over time. Each meter emits usage records which are then used by Azure in our cost metering system to calculate the bill.
For example, a single virtual machine created in Azure may have the following meters created to track its usage.
Once the VM is created, each one of the meters above will begin emitting usage records. This usage will then be used in Azure’s metering system along with the meter’s price to determine how much a customer is charged.
As an Azure customer, it is very hard to keep track of cost and prevent enormous bills sometimes. AIMS Azure Agent could help you keep track and enables you to be in control, without setting any thresholds or doing other manual work!
Azure pricing calculator
Microsoft offers a great online tool called Azure Pricing Calculator. This tool allows you to select products to include it in your estimate.
It helps to get an estimate when you know exactly what you are going to use in Azure. By adding the components you are going to use, and set an estimate on e.g. data usage, number of executions or integration accounts you’ll get a nice prediction of expected cost.
The details of your on-premises server infrastructure. After adding a workload, select the workload type and enter the remaining details.
The details of your on-premises database infrastructure. After adding a database, enter the details of your on-premises database infrastructure in the Source section. In the Destination section, select the Azure service you would like to use.
Enter the details of your on-premises storage infrastructure. After adding storage, select the storage type and enter the remaining details.
The amount of network bandwidth you currently consume in your on-premises environment.
Azure cost monitoring
Okay, so this pricing calculator can give us an indication about the costs for our Azure plans. But as we well know, a good start is only half of the work.
Even if your estimate was 100 percent correct, you should be on top of cost, all day, every day. You should be alerted when anything deviates from normal behavior, especially when your wallet is at stake.
After reading this article, we can conclude that monitoring these resources in Azure without intelligent programming would be a full-time job.
With the Azure agent you will gain cost control through early notifications of consumption or new resources that drives costs.
AIMS is the only performance monitoring and governance solution that collects all these metrics and applies AI and machine learning to them, giving you complete control over your Azure environment. Metrics are correlated and can be displayed in one single dashboard. With AIMS, you can automatically detect anomalies in your Azure Services, correlate issues across cloud and on-prem environments and actively control your Azure consumption costs.