Loading...


Updated 28 Sep 2026 • 5 mins read

Azure virtual machine cost depends on size, operating system, region, and pricing model, and the VM rate is only part of the bill. This guide gives monthly prices for common Azure VM sizes in US dollars, explains reservations, savings plans, Spot, and Hybrid Benefit, lists the hidden costs, and shows how to cut the total.
Ask Azure what a virtual machine costs and it will give you an hourly rate to six decimal places. Ask your finance team what your Azure VMs cost and they will give you a number two or three times larger. Both are correct, and the gap between them is the subject of this guide. The hourly rate is the price of compute; the invoice is the price of compute plus the disk it boots from, the IP address it answers on, the bandwidth it sends, the operating system license it may or may not need, and the hours it spent running while nobody was using it.
This guide lays out what Azure virtual machines really cost in 2026, in US dollars for the East US region, size by size. It covers the four pricing models and what each one saves, the charges that sit outside the hourly rate, a worked example with the full bill, and the order of operations for cutting it. Every figure is drawn from Azure's official Linux VM pricing and Windows VM pricing pages as of late September 2026; rates vary by region and change, so confirm yours in the Azure Pricing Calculator before budgeting.
The short answer An Azure virtual machine costs from about $8 a month for the smallest burstable B1s to hundreds of dollars for memory- and GPU-optimized sizes, with common general-purpose Linux VMs in East US running roughly $30 (B2s), $70 (D2s v5), $140 (D4s v5), and $280 (D8s v5) a month always-on at pay-as-you-go rates. Windows adds a license charge of roughly $50 to $130 a month on those sizes unless Azure Hybrid Benefit removes it. Reservations cut the compute rate by up to 72 percent, Savings Plans by up to 65 percent, and Spot by up to 90 percent for interruptible work. The VM rate is typically only 50 to 70 percent of the real bill once managed disks, public IPs, and outbound bandwidth are added.
Azure bills a VM by the second, with a one-minute minimum, at an hourly rate determined by four things: the size (vCPU, memory, and family), the operating system (Linux is the base rate; Windows and some Linux distributions add a license charge), the region (US regions are generally the cheapest, with others running 5 to 20 percent higher), and the pricing model (pay-as-you-go, reserved, savings plan, or Spot). The compute rate covers the virtual CPU and memory only. Everything the VM needs to function, its OS disk, data disks, public IP, and network egress, is billed as a separate line. This is the model behind every Azure pricing decision, and understanding it is what separates the rate card from the invoice.
The table below shows pay-as-you-go rates for the most commonly deployed sizes, running 730 hours a month (always-on), on Linux and Windows. Azure's full catalog of families is described on its VM series page. Figures are rounded and exclude disks, IPs, and bandwidth.
| Size | vCPU / RAM | Family | Linux / hour | Linux / month | Windows / month |
|---|---|---|---|---|---|
| B1s | 1 / 1 GB | Burstable | $0.0104 | ~$8 | ~$11 |
| B2s | 2 / 4 GB | Burstable | $0.0416 | ~$30 | ~$37 |
| B2ms | 2 / 8 GB | Burstable | $0.0832 | ~$61 | ~$75 |
| D2s v5 | 2 / 8 GB | General purpose | $0.096 | ~$70 | ~$134 |
| D4s v5 | 4 / 16 GB | General purpose | $0.192 | ~$140 | ~$268 |
| D8s v5 | 8 / 32 GB | General purpose | $0.384 | ~$280 | ~$537 |
| E4s v5 | 4 / 32 GB | Memory optimized | $0.252 | ~$184 | ~$312 |
| F4s v2 | 4 / 8 GB | Compute optimized | $0.169 | ~$123 | ~$251 |
Three patterns stand out. B-series burstable VMs are dramatically cheaper because they run below full CPU most of the time and bank credits for bursts, which makes them ideal for dev, test, and lightly loaded services but wrong for sustained compute. Windows roughly doubles the cost of the D-series, because the Windows Server license is bundled into the rate. And within a family, price scales almost exactly with vCPU count, so a D8s v5 costs twice a D4s v5, which means right-sizing down one step halves the compute line.
The pay-as-you-go rates above are the ceiling. Azure offers three ways to pay less, and they are complementary rather than competing.
| Model | Discount | Commitment | Best for |
|---|---|---|---|
| Pay-as-you-go | None (baseline) | None | Variable, short-lived, or experimental workloads |
| Reservations (1 or 3 yr) | Up to ~72% | Specific VM family and region | Steady production VMs that will not move |
| Savings Plans for compute | Up to ~65% | Hourly dollar amount, 1 or 3 yr | Compute that shifts across families or regions |
| Spot VMs | Up to ~90% | None; 30-second eviction notice | Batch, CI, dev/test, and fault-tolerant jobs |
| Azure Hybrid Benefit | Up to 40% (Windows), 85% (SQL) | Owned licenses with Software Assurance | Any Windows or SQL Server VM; stacks with the above |
Two rules keep these from backfiring. First, reservations and savings plans do not stack with each other on the same usage, but both stack with Hybrid Benefit, so a reserved Windows VM with Hybrid Benefit applied can land 80 percent or more below its pay-as-you-go rate. Second, commit only after right-sizing: a 3-year reservation on a VM that is twice the size it needs locks in the waste for three years at a discount. Our guides to how reservations and savings plans work and the pay-as-you-go, reserved, and spot pricing models cover the mechanics in depth.
This is where the rate card and the invoice part ways. Every VM carries several separately billed components, and together they commonly add 30 to 50 percent to the compute line.
| Model | Discount | Commitment | Best for |
|---|---|---|---|
| Pay-as-you-go | None (baseline) | None | Variable, short-lived, or experimental workloads |
| Reservations (1 or 3 yr) | Up to ~72% | Specific VM family and region | Steady production VMs that will not move |
| Savings Plans for compute | Up to ~65% | Hourly dollar amount, 1 or 3 yr | Compute that shifts across families or regions |
| Spot VMs | Up to ~90% | None; 30-second eviction notice | Batch, CI, dev/test, and fault-tolerant jobs |
| Azure Hybrid Benefit | Up to 40% (Windows), 85% (SQL) | Owned licenses with Software Assurance | Any Windows or SQL Server VM; stacks with the above |
The two that surprise people most are disks and licensing. A managed disk bills on the size you provisioned, so a 512 GB Premium SSD costs the same whether it holds 20 GB or 500, and disks left behind when a VM is deleted keep billing indefinitely. Licensing is larger still: on a D4s v5, the Windows charge is roughly $128 a month, nearly matching the $140 compute rate, and SQL Server licensing can exceed both combined. These are the Azure-specific versions of the leaks we cover in where cloud waste hides, and finding them requires seeing cost by resource, not just by subscription.
Take a single D4s v5 running a Windows application server in East US, always-on, with a 256 GB Premium SSD OS disk, a 512 GB Premium SSD data disk, one static public IP, and 500 GB of outbound traffic a month.
At pay-as-you-go rates the bill is roughly: $268 for the Windows VM (of which about $128 is the Windows license), about $38 for the 256 GB disk, about $77 for the 512 GB disk, about $4 for the IP, and about $35 for the 400 GB of bandwidth beyond the free allowance. That is around $422 a month, and the compute rate alone would have suggested $140. The VM itself is a third of the real cost.
Now apply the levers. Hybrid Benefit removes the $128 license charge, taking the VM to $140. A 3-year reservation cuts that compute to roughly $45. Right-sizing the data disk to what it actually holds, say 256 GB, saves another $39. The same server now costs about $205 a month, less than half the original, with no change to the application. The compute discount was real, but Hybrid Benefit and the disk delivered as much as the reservation did, which is why the order of operations matters.
Stopped-but-allocated VMs still bill for compute; deallocate them. Unattached managed disks, orphaned public IPs, and old snapshots bill forever. Azure Advisor flags most of these, and this step is risk-free.
Advisor and Azure Monitor show CPU and memory utilization over time. Most estates find a large share of VMs running below 20 percent utilization; stepping each down one size halves its compute cost. For spiky, low-average workloads, move to the B-series and let it burst.
A dev or test VM that runs only 8 hours on weekdays costs about a quarter of one that runs 730 hours. Azure's auto-shutdown and start/stop automation make this a configuration change, and non-production is where it applies to most of the fleet.
If you own Windows Server or SQL Server licenses with Software Assurance, apply them. On Windows-heavy estates this single step often saves more than the reservation program, and it takes minutes per VM.
With usage honest, cover the always-on baseline with reservations, variable-but-steady compute with a savings plan, and run interruptible work on Spot. Buy conservatively and grow coverage as utilization proves out. The full playbook is in our Azure cost optimization guide, and the tagging that makes VM costs attributable to teams is in our Azure tagging guide.
For teams weighing the two, Azure and AWS price comparable general-purpose instances within a few percent of each other on Linux; a D4s v5 at $0.192 an hour sits close to an AWS m6i.xlarge. The larger differences are structural: Azure Hybrid Benefit has no direct AWS equivalent for reusing owned Windows licenses, which can make Azure meaningfully cheaper for Windows-heavy estates, while AWS Savings Plans cover a broader set of services. Our AWS vs Azure pricing comparison works through the trade-offs in detail.
An Azure virtual machine costs what its hourly rate says only if you ignore everything attached to it. The compute line is real but partial; disks, IPs, bandwidth, and above all licensing routinely double it, and idle hours multiply it. The good news is that every one of those factors is a lever. Remove what is idle, size what remains to what it uses, shut non-production down at night, apply the licenses you already own, and then commit the steady remainder. Done in that order, the same workload commonly runs at half its original cost. Keeping it there means seeing VM cost by resource and by team continuously, which is what Opslyft's cost visibility and cost control are built to do across Azure and every other cloud you run.
It depends on size, OS, and region, but common East US Linux VMs run from about $30 a month for a B2s (2 vCPU, 4 GB) to about $70 for a D2s v5 (2 vCPU, 8 GB), $140 for a D4s v5 (4 vCPU, 16 GB), and $184 for an E4s v5 (4 vCPU, 32 GB) at always-on pay-as-you-go rates, before disks, IPs, and bandwidth. Windows adds a license charge unless you apply Azure Hybrid Benefit. Verify on Azure's official VM pricing page.
The B-series burstable VMs are the cheapest general-purpose option, with the B1s at roughly $8 a month and the B2s at about $30 a month in East US on Linux. They bank CPU credits while idle and spend them under load, which suits development, test, and low-traffic workloads but not sustained heavy compute.
Azure Reservations save up to about 72 percent on a 3-year term for a specific VM family and region, and Azure Savings Plans for compute save up to about 65 percent with flexibility across families and regions. Spot VMs save up to about 90 percent for interruptible work, and Azure Hybrid Benefit removes the Windows Server license charge on top of any of these.
The VM hourly rate is only part of the bill. Managed disks bill on provisioned size whether used or not, standard public IPs cost about $3.65 a month each, outbound bandwidth costs about $0.087 per GB after the first 100 GB, and Windows and SQL Server licensing can exceed the compute cost itself. Snapshots, Bastion hosts, and Log Analytics ingestion are also easy to omit.
Per hour, usually yes: Spot discounts reach about 90 percent while 3-year reservations reach about 72 percent. But Spot VMs can be evicted with 30 seconds' notice when Azure needs the capacity, so they suit only interruptible, fault-tolerant work such as batch jobs, CI, and dev or test. Reservations suit steady production workloads that must stay up.
Azure Hybrid Benefit lets you apply Windows Server and SQL Server licenses you already own with Software Assurance to Azure VMs, removing the license charge that is otherwise bundled into the Windows VM rate. It saves up to about 40 percent on Windows VMs and up to about 85 percent on SQL Server, and it stacks with reservations and savings plans.
In order: delete idle VMs and unattached disks, right-size oversized VMs using Azure Advisor utilization data, schedule dev and test VMs to shut down outside working hours, apply Azure Hybrid Benefit to every eligible Windows and SQL workload, and only then commit steady baseline usage to reservations or a savings plan. Committing before right-sizing locks the waste in for the term.