Azure VM Pricing: What Actually Drives the Bill and How to Cut It

9 min read

Amnic

Amnic

Pricing

Table of Contents

No headings found on page

Most people search for Azure VM pricing expecting one number: the hourly rate for a virtual machine. That rate is real, but it is often barely half of what lands on the invoice.

Azure bills compute, disks, bandwidth, IP addresses, and licensing as separate line items. A machine you thought you turned off can even keep charging you at full price.

This guide covers how the pricing works, what quietly inflates the bill, and how a FinOps practice turns a confusing invoice into a number you can plan around.

What Is Azure VM Pricing?

Azure VM pricing is the cost of running a virtual machine on Microsoft Azure, billed per second while the machine is allocated. Five things set the price:

  • VM size (the SKU): how many vCPUs and how much RAM.

  • Operating system: Windows costs more than Linux.

  • Region: the same VM costs different amounts in different locations.

  • Run duration: how many hours per month it stays allocated.

  • Purchase model: pay-as-you-go, reserved, savings plan, or spot.

Change any one and the number moves. The sticker rate on Azure's pricing page reflects only vCPU and memory. The full bill adds storage, network egress, a public IP, and any software licenses.

Understanding both halves is the difference between a forecast you trust and a surprise at the end of the month.

The Four Ways to Buy an Azure VM

Azure sells the same compute four different ways, and picking the wrong one can mean paying several times more for identical machines. Here is how they compare.

Purchase model

Commitment

Savings vs pay-as-you-go

Best for

Pay-as-you-go

None

Baseline

Spiky, short-lived, unpredictable work

Reserved Instances

1 or 3 years

Up to 72%

Steady, always-on workloads

Savings plan for compute

1 or 3 years

Up to 65%

Steady spend across changing sizes

Spot VMs

None (evictable)

Up to 90%

Batch jobs, fault-tolerant work

A few details decide which one fits:

Reserved and savings commitments are where most teams find their largest wins. It helps to know your real effective savings rate before signing a three-year term.

For interruption-tolerant compute, spot instances can cut the compute line hard. For a deeper breakdown of when each model wins, see our guide to Azure virtual machine pricing models.

What Sets the Sticker Price

Three factors move the base hourly rate before any add-ons.

VM series and size. Azure groups VMs into families for different jobs:

  • B-series: burstable, cheapest, for light and bursty workloads.

  • D-series: general purpose, the common default.

  • E-series: memory-optimized, for large in-memory apps and databases.

  • F-series: compute-optimized, for CPU-heavy work.

  • M, N, and L series: large memory, GPU, and storage-optimized.

Within a family, price scales with vCPU and RAM. A B-series machine runs at a low CPU baseline and banks credits while idle, then spends them to burst, which is why a cheap B2s can feel slow once its credits run out, per the Azure B-series CPU credit model.

  • Region: The same VM costs different amounts in different regions. Running in a lower-cost region can trim the bill, though egress and latency may push back. The pattern holds across providers, worth weighing if you are comparing AWS vs Azure for a new workload.

  • Operating system A Windows VM costs more than an identical Linux VM because the Windows Server license is baked into the hourly rate.

Azure Hybrid Benefit lets you bring your own Windows Server or SQL Server license with Software Assurance and pay only the base compute rate. It saves up to 40% on Windows VMs, and up to 80 percent combined with a reservation, per Azure Hybrid Benefit.

If you already run Windows on-prem, this is often the single biggest lever on an Azure bill. The equivalent charge on the other major cloud is covered in our breakdown of Amazon EC2 costs.

The Hidden Bill Drivers Beyond vCPU

Here is where the sticker price stops telling the truth. Every Azure VM pulls in charges that live on separate meters.

  • Managed disks: Every VM needs an OS disk, and most add data disks. You pay per provisioned gigabyte per month, rounded up to the next tier, whether the disk is full or not and whether the VM runs or not. A 128 GiB Premium SSD (P10) runs about 19.71 dollars per month in East US, per Azure managed disks pricing.

  • Outbound data transfer: Inbound is free. The first 100 GB of egress per month is free, then internet egress starts around 0.087 dollars per gigabyte and tiers down at volume, per Azure bandwidth pricing. Egress is the charge that surprises teams most.

  • Public IP address: A standard static public IP bills by the hour while allocated. It keeps billing even after the VM is deallocated or deleted, until you delete the IP itself, per Azure IP address pricing.

  • Load balancers, snapshots, and backup: Each runs on its own meter. Snapshots and backup vaults bill on stored gigabytes, and a standard load balancer adds rule and data-processing charges.

None of these show up when you price a VM in isolation, which is why the invoice always reads higher than the estimate.

Tracking them cleanly is a core part of the monthly cloud billing cycle and of comparing real cloud service pricing across providers.

A Worked Monthly Cost Example

Take one general-purpose D2s v5 (2 vCPU, 8 GiB) running Linux in East US, on around the clock.

These are list prices at the time of writing, and Azure changes them without notice, so treat them as a model, not a quote, and confirm on the live pricing page.

Line item

Basis

Monthly cost

Compute (D2s v5, Linux, on-demand)

$0.096/hr x ~730 hrs

~$70.08

OS + data disk (128 GiB Premium SSD P10)

provisioned GB/month

~$19.71

Egress (500 GB, first 100 GB free)

400 GB x ~$0.087

~$34.80

Standard static public IP

~$0.005/hr x ~730 hrs

~$3.65

Estimated total


~$128.24

The math on the compute line: 0.096 dollars per hour times roughly 730 hours in a month equals about 70.08 dollars. That is only 55 percent of the total, per the rate on the Azure Linux VM pricing page. The other 45 percent is exactly the part the sticker price never mentions.

Now apply a purchase model. A three-year reservation on that same D2s v5 drops the compute rate to roughly 0.0379 dollars per hour, or about 27.69 dollars a month (illustrative, since reserved rates vary by term):

  • On-demand compute: ~$70.08/month

  • 3-year reserved compute: ~$27.69/month

  • Monthly saving on compute alone: ~$42.39, about 60 percent

Reserve the compute or bring a Windows license and the mix shifts again. This is the arithmetic behind provider AWS Azure GCP discounts: the headline rate is only one input.

Stopped Versus Deallocated: The Most Expensive Misunderstanding

The most common Azure billing complaint online is a stopped VM that keeps charging.

It happens because shutting a machine down from inside the guest OS leaves it in the Stopped (Allocated) state, which still bills full compute. Only Stopped (Deallocated), reached by deallocating the VM from the portal, CLI, or a schedule, releases the hardware lease and stops compute charges, per Azure VM states and billing.

Even then, disks and any static public IP keep billing. So a VM you believe is off can quietly cost you compute, storage, and network every hour.

Auto-shutdown schedules and cleanup of orphaned disks close that gap.

How to Estimate and Reduce Azure VM Cost

Start with the Azure Pricing Calculator to model a VM with its disks, bandwidth, and IP before you deploy, so the estimate reflects the whole stack rather than the vCPU rate alone.

From there, the levers that move the number most are:

  • Rightsize oversized VMs down to the size the workload actually uses.

  • Commit with reservations or savings plans for steady workloads.

  • Apply Azure Hybrid Benefit if you own Windows or SQL Server licenses.

  • Schedule or deallocate machines that do not need to run around the clock.

  • Delete orphaned disks and IPs left behind by old VMs.

Our practical cost optimization on Azure guide and roundup of Azure cost optimization tools walk through each.

The harder question is not what a VM costs to buy, but which team, environment, or feature that cost belongs to. Flexera's State of the Cloud research has found organizations waste roughly a quarter to a third of their cloud spend, with idle and overprovisioned compute the largest slice, per the Flexera State of the Cloud report.

You cannot cut what you cannot see. Sound cloud cost allocation methods plus cloud cost anomaly detection tools, turn a raw Azure invoice into a bill each team can read and defend.

How Amnic Helps You Optimize VM and ML Compute Cost

Amnic attributes every VM, disk, and egress charge back to its owner, flags the orphaned disks and idle machines still billing, and alerts on spend that jumps overnight. Instead of a single lump-sum invoice, each team sees the exact resources it owns.

The same approach applies to machine learning compute, where waste hides in plain sight. Under SageMaker pricing, the biggest cost leaks are notebook instances left running after an experiment, training jobs on oversized GPU instances, and real-time inference endpoints provisioned around the clock for traffic that arrives in bursts.

Amnic surfaces those patterns the same way it does for Azure VMs:

  • Allocation: split SageMaker spend by notebook, training, and inference so each model or team owns its share.

  • Idle detection: flag notebook instances and endpoints sitting idle so they can be stopped or right-sized.

  • Anomaly alerts: catch a training run on the wrong GPU family before it runs for a week.

Whether the compute is an Azure VM or a SageMaker endpoint, the discipline is identical: see the full cost, attribute it, and cut the idle. For the GPU side of that bill, see our breakdown of AI GPU pricing, and for the developer tooling that runs on top of it, our take on Cursor pricing.

Final Thoughts

Azure VM pricing is straightforward once you stop reading only the hourly rate. Pick the right purchase model, account for disks, egress, IP, and licensing, and remember that stopped is not the same as deallocated.

Estimate the full stack up front, then allocate and monitor it so the bill never outruns the plan.

For the wider picture beyond a single machine, our cloud cost optimization guide puts Azure VM spend in context with the rest of your cloud footprint.

FAQs

Why is my stopped Azure VM still being charged? 

Shutting a VM down from inside the OS leaves it Stopped (Allocated), which still bills full compute. Only deallocating it from the portal or CLI stops compute charges. Disks and static public IPs keep billing even then.

How much does an Azure VM cost per month? 

It depends on size, OS, and region, plus disks, egress, and IP. A general-purpose D2s v5 on Linux in East US runs about 70 dollars in compute, but the full bill with a disk, egress, and a public IP is closer to 128 dollars.

What is the cheapest Azure VM?

The B-series burstable family is the cheapest general purpose option. A B2s runs around 0.0416 dollars per hour. It uses a CPU-credit model, so it suits light or bursty workloads, not sustained high CPU use.

Is a Linux VM cheaper than a Windows VM on Azure? 

Yes. Windows VMs bundle a Windows Server license into the hourly rate, so they cost more than identical Linux VMs. Azure Hybrid Benefit lets you bring your own license and pay the base Linux rate.

What is the difference between Reserved Instances and a Savings Plan? 

A Reserved Instance commits to a specific VM family and region for up to 72 percent off but is use-it-or-lose-it. A savings plan commits to an hourly dollar amount for up to 65 percent off with more flexibility on which sizes qualify.

Do Azure managed disks cost money when the VM is off? 

Yes. Managed disks bill per provisioned gigabyte per month whether the VM runs or is deallocated. You pay for the full provisioned size regardless of how much data you store, so orphaned disks keep costing money.

Better visibility and management into AI Tokens?

Start with a 30 day trial

Connect leading LLMs

24 hour time to value

Stay ahead of AI Spend

Make AI spend visible, controllable, and accountable.

Gain insights into your AI token costs at a team, customer, business unit and individual user level to measure and manage AI utilization.

Can your engineering context keep up with the speed of AI?

Start with a 14-day Runtime Accountability Audit. Read-only access. No commitment.

No credit card · No migration · No agents

STAY AHEAD

Can your engineering context keep up with the speed of AI?

Start with a 14-day Runtime Accountability Audit. Read-only access. No commitment.

No credit card · No migration · No agents

STAY AHEAD

Can your engineering context keep up with the speed of AI?

Start with a 14-day Runtime Accountability Audit. Read-only access. No commitment.

No credit card · No migration · No agents

STAY AHEAD