Understanding Azure Costs and Ways to Reduce Them
How Much Do Azure Cloud Services Cost?
Azure is a public cloud platform from Microsoft that offers a wide range of cloud-based services, such as network, compute, storage, and analytics. You can choose from Azure services to build and scale your applications or move existing apps to Microsoft’s public cloud environment.
While cloud computing can be cost-effective, especially for scalable and unpredictable workloads, the costs can add up quickly if you don’t plan your cloud usage. It’s important to know your cloud needs before committing to a specific product or plan.
Fortunately, there are several ways for you to prevent your organization’s Azure bill from exceeding your planned budget. In addition to selecting the right regions, pricing models, and resources for your needs, you can monitor usage and leverage cost calculation and management tools to keep your cloud spending on track.
In this article:
- Factors Affecting Azure Costs
- When Is It Important to Reduce Azure Costs?
- What Causes Wasted Spend on Azure?
- Azure Cost Optimization Best Practices
Factors Affecting Azure Costs
Here are the main factors that affect Azure cloud costs:
Azure provides pricing models to help you achieve the optimal pricing for each workload’s characteristics. Here are the main models:
- Pay-per-use pricing—this model bills actual cloud usage by the second. This flexible model enables you to quickly provision resources on-demand but at market cost, which means it is the most expensive option.
- Azure spot instances (Spot VMs)—Azure provides discounts of up to 90% off the on-demand pricing when you buy spare capacity. However, Azure can interrupt spot VMs with an advanced notice of 30 seconds.
- Azure reserved instances—if you commit to using Azure resources for 1 or 3 years, you can receive discounts of up to 72% off the on-demand price.
- Azure hybrid benefit—this bring-your-own-license (BYOL) model allows you to use existing on-premise Microsoft deployments in the cloud and get discounts on Windows resources deployed in the Azure cloud.
Learn more in our detailed guides to
- Azure pricing (coming soon)
- Azure reserved instances (coming soon)
Azure provides different prices for each type of resource. It means the usage each meter tracks and the number of meters associated with each resource depend on the resource type. Each meter tracks a certain usage, such as bandwidth usage according to ingress or egress network traffic in bits-per-second or size according to storage capacity in bytes. Azure correlates the usage a meter tracks to billable units and applies these charges to your account for each billing period.
Azure usage rates and billing periods can differ between Enterprise, Cloud Solution Provider (CSP), and Web Direct subscriptions. Some subscriptions include usage allowances that affect costs. Different billing structures apply to Azure native and third-party services from Azure Marketplace.
Azure data centers are located around the world. You can use various locations, but usage costs vary because each location offers different Azure services, products, and resources according to demand, popularity, and local infrastructure costs. For example, choosing the location offering the lowest price might not result in cost savings if you also need to pay fees for transferring data to this location.
Azure Billing Zones
Azure does not charge for inbound data transfers but requires payment for outbound data transfers, determined according to each Azure zone. In Azure, a zone consists of several Azure Regions grouped for billing purposes.
The Azure zones are structured as follows:
|Zone 1||USA, Canada, Europe, UK|
|DE Zone 1||Germany|
|Zone 2||Japan, Korea, Australia, India|
Some zones do not incur a cost for the initial outbound 5 GB per month, but charge a fixed price per GB after this initial transfer.
A billing zone is not the same as an availability zone. Azure uses the term ‘zone’ to refer to billing only. The term “availability zone” refers to the failure protection mechanism Azure uses for data centers.
When Is It Important to Reduce Azure Costs?
Questions about how to reduce Azure costs typically arise at the third phase of the cloud adoption cycle, known as cloud awareness. After organizations identify the benefits of building a cloud (the first phase) and expand the use of cloud computing services (second phase), they typically start optimizing their Azure VM costs.
Cost savings are equally important in early stages of cloud adoption. If possible, organizations should implement a cost control strategy as early as possible, before costs get out of control.
If a company sets a usage limit on its Azure account, Microsoft suspends services if they exceed the pre-determined monthly limit. This may be an extreme measure, but can be an important safeguard to prevent overspending. Remember that planning for future projects, capacity, and budgets is impossible without cost control.
What Causes Wasted Spend on Azure?
There are several reasons Azure costs can get out of control. Here are three primary reasons for wasted spend in the Azure cloud:
- Idle resources—many accounts run idle resources when they are not actually being used, resulting in waste. For example, resources that developers failed to close and are no longer needed. You can search for and eliminate idle Azure Virtual Machines, Azure SQL Database instances, and Azure Scale Sets.
- Orphaned resources—an orphaned resource occurs when a VM shuts down, but the resources associated with that machine are still running or exist, costing money. Try to identify orphaned Azure Virtual Disks, unattached static public IPs, orphaned Azure Block Blobs, and terminate or reassign them.
- Over-provisioned resources—you may be paying for resources that are not currently needed, either because your needs have changed or because you defaulted to the maximum size. This means these resources are over-provisioned. Check usage data for underutilized Microsoft Azure SQL Data Warehouse instances, Azure SQL Database instances, and Azure Virtual Machines. Also keep an eye on idle host caching tools like Azure Cache.
Azure Cost Optimization Best Practices
Take Advantage of Azure Cost Management Tools
Azure provides several tools for estimating and optimizing your cloud spend. These tools include:
- Azure Pricing Calculator – use the pricing calculator to estimate workload costs before deploying to Azure. Experiment with different service types or configurations in the calculator to find cost-saving opportunities.
- Azure Cost Analysis – when your workloads run on Azure, use the Azure Portal’s Cost Analysis feature to understand the cost of each workload. The tool can also predict future spending based on your current configuration.
- Azure Budgets – to implement organizational goals related to your cloud spending, configure your budget in the Azure Portal. Budgets allow you to set spending thresholds for Azure users and groups. When a threshold is exceeded, the service generates an alert.
- Azure Advisor – provides cost optimization recommendations. These recommendations focus on reducing VM instance costs.
- Azure cost alerts – notifications are automatically generated when users reach certain usage or cost thresholds. There are three types of notifications: budget alerts, raised when spending reaches or exceeds a predefined amount based on resource usage or cost; credit alerts, triggered when Azure prepayments are depleted; and departmental alerts, sent to a department owner when a user reaches a certain spending threshold.
- Azure Resource Manager – this tool enforces governance rules for Azure resources, such as who can create resources and how they are tagged. Resource Manager is not a cost optimizer by itself, but it can reduce costs by avoiding shadow IT. It also helps administrators identify workloads that are running when they are no longer needed.
Learn more in our detailed guides to:
- Azure pricing calculator (coming soon)
- Azure cost calculator (coming soon)
- Azure cost management tools(coming soon)
- Azure cost analysis (coming soon)
Move Workloads to Containers
If your applications are currently running in VMs, you can save money on cloud hosting by moving to containers. This is because containers waste less resources on virtualization overhead than VMs. You can install more containers on one host.
For example consider a workload with 12 servers. Each server runs on a different Azure VM. Deploying servers as containers using Azure Kubernetes Service (AKS) allows you to consolidate servers into 3-4 VMs, significantly reducing costs.
AKS pricing per host server is the same as standard Azure VM pricing, saving you up to 75% on hosting costs. AKS costs an additional $0.10 per hour if you opt for an uptime SLA.
Leverage Serverless Computing
Serverless computing with Azure Functions is another way to reduce costs. Software deployed as a serverless function runs on-demand based on user-defined triggers. You pay only while the software is running. Serverless computing is great for running compute-intensive workloads intermittently.
This is more cost effective than hosting the service on a VM, and paying for a lot of unused CPU resources. When running workloads on VMs, you pay to keep the VM running even if you don’t fully utilize it.
Tag Azure Resources
Another Azure cost optimization best practice is to establish a resource tagging strategy. Tools like Azure Resource Manager make use of this method.
Tags help you identify cloud resources. For example, you can identify the user who created the resource and the organizational cost center to which the resource belongs. Administrators can list and search for tags as needed. This is a great way to track running resources and find workloads that can be shut down to cut costs.
For example, you can tag VMs used for development and testing. In the future, when the whole company is out for a holiday, you can search for resources with this tag and shut them down.
Using Storage Tiering
Storage typically represents a significant portion of the ongoing cost of an Azure deployment. Azure Blob Storage pricing offers Premium, Hot, Cool, and Archive storage tiers (colder tiers offer a lower cost per GB-month). and multiple redundancy options, where less redundancy reduces storage costs.
You can save money by moving less sensitive or infrequently accessed data to a lower cost tier or a less redundant storage option. Build storage tiering automation into your applications so that data that is less frequently accessed is automatically moved to a lower-cost tier.
Learn more in our detailed guide to Azure cost optimization (coming soon)