Studies estimate that roughly 30% of cloud spend is wasted on idle or oversized resources. This playbook provides CIOs with a comprehensive framework for navigating Azure licensing models, selecting the right agreement structures, and implementing proven cost optimisation strategies — from migration planning through ongoing FinOps governance.
Before optimising Azure costs, CIOs must understand how the three fundamental service models — Infrastructure-as-a-Service, Platform-as-a-Service, and Software-as-a-Service — create fundamentally different cost structures and licensing responsibilities. The service model you choose for each workload determines not only your operational burden but also your exposure to licensing complexity, waste, and optimisation opportunities.
You rent compute, storage, and networking but manage operating systems, middleware, and applications. OS and software licence costs are either included in pay-as-you-go rates or brought via Azure Hybrid Benefit. Maximum control but maximum responsibility for optimisation — oversized VMs and idle resources directly increase costs.
Azure manages the platform and infrastructure. Licence costs are bundled into the service price (e.g. Azure SQL Database includes the SQL Server licence). Simpler licensing but rightsizing the service tier remains critical — over-provisioned PaaS instances waste money just as readily as oversized VMs.
Fully managed applications (Microsoft 365, Dynamics 365) with per-user subscription pricing. No infrastructure to optimise, but licence count management and plan-level selection (E3 vs E5) are the primary cost levers. Shelfware — paying for unused SaaS seats — is the main waste source.
The agreement structure under which you purchase Azure services has significant implications for pricing, flexibility, and cost governance. Enterprises can buy Azure under three primary contract vehicles, each with distinct trade-offs that CIOs must evaluate against their organisation’s size, spend trajectory, and appetite for commitment.
| Aspect | Enterprise Agreement (EA) | Cloud Solution Provider (CSP) | Microsoft Customer Agreement (MCA) |
|---|---|---|---|
| Term & Commitment | 3-year contract; committed annual spend or user count | Evergreen; no upfront commitment | Evergreen; no minimum commitment |
| Pricing | Volume discounts locked for term; price protection against increases | Partner sets pricing; pay only for actual usage | List pricing; custom discounts negotiable for large spend |
| Billing | Annual billing with pre-purchased Azure credits; overage at true-up | Monthly pay-as-you-go through partner | Monthly pay-as-you-go direct from Microsoft |
| Flexibility | Rigid during year; adjustments at anniversary only | Highly flexible — scale services as needed | Flexible; start/stop services without lock-in |
| Support | Purchased separately (Unified Support) | Included via partner | Purchased separately |
| Best For | Large enterprises with predictable, stable demand | Variable usage; organisations valuing agility and partner support | Mid-sized firms; EA transitions; direct Microsoft relationship |
EAs offer volume discounts and price protection in exchange for a three-year commitment. Underutilising your pre-purchased credits is the most common pitfall — you pay for committed capacity whether you use it or not. Ideal only when you can forecast demand with confidence.
CSP provides monthly flexibility through a partner with no long-term commitment. Pricing may not match the deepest EA discounts, but you only pay for actual consumption. The partner manages billing and often provides bundled advisory and support services.
MCA is a direct agreement with Microsoft — evergreen, no minimum, and capable of consolidating Azure, Microsoft 365, and Dynamics 365 under a single contract. Discounts require negotiation for large spend. Ideal for organisations transitioning off an EA or seeking simplified procurement.
Different departments purchasing Azure through separate channels (one under EA, another via CSP) creates compliance risk and may prevent you from meeting EA commitments. Consolidate purchases strategically under a single agreement structure.
“The most expensive Azure agreement is the one that does not match your consumption pattern. An EA with underutilised credits wastes money through commitment; pay-as-you-go without reservations wastes money through missed discounts. Match the agreement to your reality, not your projections.”
Even with the right agreement and service models, organisations routinely encounter pitfalls that inflate Azure costs or create compliance exposure. Recognising these patterns is the first step toward systematic prevention.
Deploying expensive VM SKUs “just in case” that run at 5% CPU utilisation, or using Premium SSD storage when Standard would suffice. In Azure, every unit of excess capacity is pure cost with zero benefit. Over-provisioning is the single largest source of cloud waste.
VMs left running 24/7 when not needed (dev/test environments on weekends), orphaned disks remaining after VM deletion, unattached public IPs and load balancers silently accruing charges. These “forgotten” resources can accumulate thousands in monthly costs without delivering any value.
Enterprises with on-premises Windows Server and SQL Server licences paying full pay-as-you-go rates in Azure — effectively paying for the software licence twice. Failing to enable AHB is a direct loss of 30–50% savings on every eligible workload.
Adopting Azure without budgets, alerts, or tagging standards. Without visibility, costs spiral until the invoice arrives — by which point weeks of waste have already accumulated. Missing cost governance is the root cause of “bill shock.”
Relying entirely on pay-as-you-go for steady-state production workloads. By not utilising Reserved Instances or Savings Plans, organisations forfeit 40–72% discounts on resources that could be accurately forecasted.
Running on older VM families when newer series offer better price-performance, or deploying resources across multiple regions without considering data egress fees. “Set and forget” infrastructure misses ongoing Azure improvements that could reduce costs.
Azure Hybrid Benefit (AHB) is the single most powerful cost-saving lever available to enterprises with existing Microsoft on-premises licences. It allows you to apply your Windows Server and SQL Server licences (with active Software Assurance) to Azure resources, eliminating the software licence surcharge and paying only for base compute — at the same rate as a Linux VM.
Applying AHB to a Windows VM reduces the hourly rate to the Linux-equivalent “base compute” cost, saving approximately 40% on Windows VM costs. Each Windows Server Datacenter licence covers two Azure VMs with up to 8 cores each (or one VM with up to 16 cores).
SQL Server licensing is the most expensive component in many Azure deployments. AHB for SQL eliminates the licence surcharge on Azure VMs and reduces PaaS database costs (Azure SQL Database, Managed Instance) by 30–35% per vCore. For SQL Enterprise Edition, this represents thousands per month per instance.
AHB extends to Windows client OS scenarios in Azure Virtual Desktop, enabling organisations with qualifying Microsoft 365 or Windows licences to avoid additional per-user access charges for virtual desktop infrastructure.
Every AHB-enabled resource must be backed by a corresponding on-premises licence with active Software Assurance. Overprovisioning AHB beyond your entitlement creates audit exposure — Microsoft can request proof of licence coverage for all AHB-enabled resources.
A critical nuance: Software Assurance provides dual-use rights for 180 days during migration. You can run the licence simultaneously on-premises and in Azure during the transition period. After 180 days, the licence must be assigned to one environment only. Plan your migrations to exploit this grace period and avoid needing temporary additional licences.
Microsoft advertises that combining Azure Hybrid Benefit with Reserved Instances can reduce costs by up to 80% compared to pay-as-you-go. Even AHB alone delivers 40–50% savings on eligible workloads. For any enterprise with existing Microsoft licences, this is the highest-ROI optimisation available — leveraging investments you have already made to directly lower cloud spend.
License=BYOL and run quarterly reconciliation reports to ensure AHB-enabled resource counts do not exceed your licence inventory. Address any shortfalls immediately.For workloads that run consistently, Azure’s pre-purchase options — Reserved Instances (RIs) and Savings Plans — offer substantial discounts in exchange for one-year or three-year commitments. Understanding when to use each, and how to combine them, is essential for optimising steady-state cloud costs.
| Feature | Reserved Instances (RI) | Azure Savings Plans |
|---|---|---|
| Commitment Type | Specific VM type in a specific region | Fixed hourly spend across any compute |
| Maximum Discount | Up to 72% (3-year, upfront) | Up to 65% (3-year) |
| Flexibility | Instance size flexibility within VM family; exchangeable | Applies to any VM, container, or app service across regions |
| Risk | Unused reservation = wasted spend | Under-consumption = wasted commitment |
| Cancellation | 12% early termination fee | Not cancellable; exchange only |
| Best For | Known, stable workloads (production VMs, databases) | Variable workloads with predictable aggregate spend |
| Stacking | Azure applies RIs first, then Savings Plans to remaining usage — use both for maximum coverage | |
Situation: An enterprise runs 50 Windows Server VMs (D4s_v3) 24/7 for production workloads. At pay-as-you-go rates, these cost approximately USD 11,000 per month.
Optimisation applied: The team enabled Azure Hybrid Benefit (eliminating the Windows licence surcharge, saving ~40%) and purchased three-year Reserved Instances for all 50 VMs (saving an additional ~60% on the base compute rate).
Rightsizing — aligning cloud resources with actual workload requirements — is the most universally applicable optimisation technique. In on-premises environments, over-provisioning is standard practice (you buy for peak capacity). In Azure, every unit of excess capacity is a direct, measurable cost. Rightsizing is not a one-time exercise; it is an ongoing operational discipline.
Use Azure Monitor metrics and Azure Advisor to identify resources with consistently low utilisation. A VM averaging 5% CPU and 20% memory over weeks is a clear candidate for downsizing. Azure Advisor automatically flags underutilised VMs and suggests smaller SKUs — act on every recommendation systematically.
Azure allows changing VM sizes within the same family with minimal disruption. If you have multiple small workloads on separate VMs, consolidate them to utilise one VM fully rather than running several at 10–15% capacity. Moving an application from an 8-core to a 2-core VM when usage supports it can cut compute costs by 75%.
Dev/test VMs running 24/7 when only needed during business hours represent 65–70% wasted capacity. Use Azure Automation or VM schedules to shut down non-production environments outside working hours. A stopped VM costs nothing in compute — only a few pence for its disk storage.
Rightsizing applies beyond VMs. If an Azure App Service Plan is running at 10% capacity on a Premium P2v2 tier, downgrade to Standard S1. For Azure SQL Databases with low DTU utilisation, scale down or move multiple small databases into an Elastic Pool to share capacity efficiently.
Create an approved list of VM sizes and PaaS tiers for common use cases. Steer deployments toward these standards via Azure Policy. This prevents over-provisioning at deployment time rather than requiring correction after the fact. Require approval for anything above the standard size.
Each Azure service domain has distinct cost drivers and optimisation techniques. Addressing all four layers — compute, storage, networking, and database — ensures no area of your environment is creating unnecessary expense.
For dev/test and low-CPU workloads, B-series VMs are significantly cheaper than standard sizes. They accrue CPU credits during low usage and burst when needed — ideal for workloads with intermittent demand patterns.
Azure Spot VMs use surplus capacity at 70–90% discounts but can be evicted when Azure needs capacity. Ideal for batch processing, QA environments, and any workload that tolerates interruption. Use for non-critical tasks to dramatically reduce costs.
Azure Functions and Logic Apps charge per execution rather than per hour. For infrequent tasks, serverless eliminates the base cost of an idle VM entirely. If a workload runs for 30 minutes per day, serverless pays for 30 minutes — not 24 hours.
Azure Dev/Test subscriptions waive Windows licence costs on VMs and offer discounts on other services. Ensure all non-production resources are deployed in designated Dev/Test subscriptions to avoid paying full production pricing for development workloads.
Azure Blob Storage offers three access tiers — Hot, Cool, and Archive — with dramatically different pricing. Implementing automated lifecycle management rules is one of the simplest high-impact optimisations available.
| Strategy | Implementation | Expected Impact |
|---|---|---|
| Tiered lifecycle policies | Auto-move blobs to Cool after 30 days, Archive after 180 days | 40–70% reduction on storage costs for ageing data |
| Right-size disk performance | Use Standard HDD for dev/test; reserve Premium SSD for production IOPS requirements | 50–80% savings on non-production disk costs |
| Orphaned disk cleanup | Script monthly scans for unattached managed disks and snapshots | Eliminates 100% of cost from forgotten resources |
| Appropriate geo-redundancy | Use LRS/ZRS instead of GRS unless DR requirements mandate cross-region replication | ~50% reduction in redundancy premium |
| Reserved storage capacity | Pre-purchase 100+ TB blob capacity for 1 or 3 years | Up to 38% savings on large persistent datasets |
Azure charges nothing for ingress but applies egress fees for data leaving Azure data centres. Network cost optimisation focuses on keeping traffic local and minimising unnecessary cross-region or internet-bound data transfer.
For intermittent database workloads, Azure SQL Database serverless tier auto-scales compute and pauses during inactivity — you pay nothing during idle periods. Ideal for development databases, reporting systems, and applications with unpredictable usage patterns.
Multiple databases with varying usage patterns can share a single compute allocation through Elastic Pools, achieving higher aggregate utilisation than individually provisioned databases. Particularly effective when databases peak at different times.
For Cosmos DB, use autoscale throughput instead of fixed provisioned RU/s. Autoscale adjusts to actual demand, preventing over-provisioning during low-activity periods while maintaining burst capacity when needed.
Implement retention policies to archive or purge historical data from expensive operational databases into cheaper storage tiers (Data Lake, Archive Blob). Lean operational datasets require less compute capacity and lower service tiers.
Cost optimisation is not a one-off project — it is an ongoing operational discipline. Enterprises that treat cloud cost management as a continuous process, often called FinOps (Financial Operations), consistently achieve 20–30% lower Azure spend than organisations that optimise only at migration or renewal.
Use native tooling to slice costs by subscription, resource group, tag, and service type. Monthly reports showing spend by department or project clarify where money flows and surface anomalies (unexpected spikes in specific services) immediately.
Set budgets on every subscription and resource group with alerts at 75% and 90% thresholds. Early warning prevents full-month waste accumulation and ensures teams are notified before overruns become significant.
Enforce mandatory tags (Department, Project, Owner, Environment) via Azure Policy. Showback reports — where each team sees their cost breakdown — drive accountability. When people see their bill, they optimise their usage.
Integrate Advisor recommendations into your operational workflow. Create tickets for each cost recommendation and track resolution. Advisor flags underutilised VMs, missing RIs, AHB opportunities, and security improvements in a single dashboard.
“Cloud cost governance is not about restricting innovation — it is about ensuring that every pound spent in Azure delivers measurable business value. The organisations that embed cost awareness into engineering culture consistently outperform those that treat it as a finance exercise.”
Organisations migrating to Azure face fundamentally different optimisation opportunities than those already operating in the cloud. The migration phase offers the chance to “do it right from the start” — avoiding the technical debt and over-provisioning that plague lift-and-shift approaches.
Measure actual on-premises utilisation before selecting Azure resource sizes. Use Azure Migrate to right-size target VMs rather than replicating existing specs. Evaluate PaaS/SaaS modernisation for each workload. Plan AHB and RI purchases from day one. Include licence inventory in migration planning to maximise BYOL opportunities. Set post-migration cost review milestones at 30, 60, and 90 days.
Re-assess your licensing agreement at renewal — what was optimal at initial deployment may not match current consumption patterns. Conduct a thorough environment review for accumulated inefficiencies (orphaned resources, legacy SKUs, over-provisioned VMs). Evaluate modernisation from IaaS to PaaS for mature workloads. Manage subscription sprawl through consolidation and central governance.
The most expensive migration approach: replicating on-premises specifications directly into Azure VMs without measuring actual utilisation. A lightly used 16-core on-premises server becomes a 16-core Azure VM running at 5% CPU — paying for 95% unused capacity at cloud rates. Always right-size before or immediately after migration.
Situation: A financial services firm planned to migrate 200 on-premises servers to Azure IaaS. Initial estimates, based on replicating existing server specifications, projected USD 85,000 per month in Azure compute costs.
Optimisation applied: The firm measured actual CPU, memory, and storage utilisation across all 200 servers for 30 days before migration. Based on actual usage data, they right-sized target Azure VMs (often two to three tiers smaller than the on-premises specification), enabled AHB for all Windows and SQL workloads, purchased one-year RIs for production servers, and modernised 30 workloads to PaaS services.
Azure licensing and cost optimisation involve a complex intersection of technical architecture, commercial agreements, and licensing compliance that most internal teams encounter only during major renewals or migrations. Independent advisory delivers value in three distinct areas.
Independent advisors bring benchmark data from comparable Azure agreements across industries, enabling evidence-based negotiation of EA discounts, commitment levels, and contractual terms. Microsoft’s sales team negotiates Azure agreements daily; your procurement team does it every three years. Independent expertise closes this information asymmetry.
Advisors audit your licence estate to ensure AHB usage is fully compliant, identify entitlements your team may have missed, and prevent the compliance gaps that trigger audit exposure. They also help plan licence transitions during migration, ensuring maximum BYOL coverage without over- or under-provisioning.
Experienced cloud cost consultants identify architectural inefficiencies — unnecessary cross-region traffic, over-provisioned PaaS tiers, legacy VM families — that internal teams may have normalised over time. A fresh perspective often identifies 15–25% additional savings on mature Azure environments.
Redress Compliance maintains complete independence from Microsoft. We do not resell Azure services, hold Microsoft partner status, or earn referral commissions. This independence ensures our optimisation recommendations are exclusively aligned with your interests — a critical distinction when advisory firms with Microsoft partnerships may have financial incentives to recommend higher spend.
Redress Compliance delivers independent Azure and Microsoft licensing advisory — helping CIOs right-size agreements, maximise Hybrid Benefit coverage, and typically achieve 20–40% cost reductions. Complete vendor independence and proven strategies.