The best cloud platform for cost-focused teams with steady workloads
Azure has the lowest three-year reserved price for compute and storage on a steady VM workload, and a refund route if the plan changes.
A three-year reservation on Microsoft Azure, at the list rate in Microsoft's pricing calculator feed, brings four always-on Linux virtual machines, their disks and 5,000 GiB of object storage to $14,446 over 36 months, the lowest fixed-commitment subtotal of the three big clouds for the same resources. That makes Azure our pick for a cost-focused team with a workload steady enough to reserve, and Microsoft's reservation policy adds a refund route if the plan changes. Azure holds the same lead when those machines run Windows Server.
AWS is the better pick when the commitment has to stay flexible. Its three-year Compute Savings Plan has the lowest flexible subtotal on this workload and covers usage across instance families and Regions, plus Fargate and Lambda. Google Cloud suits a team that will not commit and runs its VMs for the full calendar month on a self-serve billing account, where a sustained use discount applies automatically.
What should a cost-focused team weigh before committing a steady workload?
The FinOps Foundation defines cloud cost as the "amount of a resource you use multiplied by the rate that you pay for it" in its rate optimization guidance. So a price comparison has to hold the amounts still. Every figure here prices the same VMs running without a stop, budgeted at an average of 730 hours a month, and the Linux and Windows Server rows are two budgets for one set of machines.
The same guidance tells buyers to size a commitment against the resources that run consistently and that a given discount can cover. It also warns that a commitment stays payable when no matching resource is running. Hours of matching usage get the discount and committed hours with nothing to match are still paid for, so forecast your matching usage across the whole term. Count that baseline from your billing history before you choose a term.
Fixed commitments tie the discount to a named VM family or type in one region, and flexible ones commit an hourly spend that follows your usage across more of the catalog. The FinOps Foundation notes that the more restrictive kind tends to carry the higher discount. A tighter commitment is harder to leave if your forecast is wrong, so each provider's refund and exchange rules sit in the comparison beside its rate.
The FinOps Foundation's public cloud guidance lists "Data transfer and egress charges inconsistent with historical patterns" among the anomalies a team should watch for. Transfer is billed on meters that depend on your routing and on which zones and destinations the traffic crosses. So budget it from your own traffic at each provider's rate, apart from the price of compute and storage.
A license charge does not always get the discount applied to the VM under it, the FinOps Foundation's licensing guidance says. On each provider's price list the Windows Server license for a four-vCPU VM works out to $0.184 per VM-hour, and every Windows row here carries it in full: $19,342 over the term. Microsoft and AWS leave that fee outside their commitment discounts, so a reservation saves a smaller share of a Windows budget than of a Linux one.
Azure, AWS and Google Cloud on the same workload
List rates for the matched resources
| Microsoft Azure | AWS | Google Cloud | |
|---|---|---|---|
| Region | Central US | US East (Ohio) | Iowa (us-central1) |
| Four VMs, each 4 vCPU and 16 GiB | D4s v5 | m6i.xlarge | n2-standard-4 |
| Linux VM-hour, pay as you go | $0.217 | $0.192 | $0.194236 |
| Linux VM-hour, fixed three-year | $0.071042618 on a reservation | $0.08709 on a Standard Reserved Instance, No Upfront | $0.087412 on a resource-based committed use discount |
| Linux VM-hour, flexible three-year | $0.088319 on a savings plan for compute | $0.09737 on a Compute Savings Plan, No Upfront | $0.10488744 on a flexible committed use discount |
| Windows Server license, per VM-hour | $0.184 | $0.184 | $0.184 |
| Four 128 GiB SSD disks, per month | $78.84 on Premium SSD P10 | $40.96 on gp3 | $51.20 on balanced persistent disk |
| 5,000 GiB of object storage across zones, per month | $115.00 on Blob Hot ZRS | $115.00 on S3 Standard | $100.00 on regional Standard Cloud Storage |
Compute and storage subtotal over 36 months
| Microsoft Azure | AWS | Google Cloud | |
|---|---|---|---|
| Linux, pay as you go | $29,789 | $25,798 | $25,861, or $21,778 with the 20% full-month sustained use discount |
| Linux, fixed three-year | $14,446 | $14,769 | $14,632 |
| Linux, fixed three-year, amount above the lowest | Lowest | $323 | $186 |
| Linux, flexible three-year at current rates | $16,262 | $15,850 | $16,469 |
| Windows Server, pay as you go | $49,131 | $45,140 | $45,203, or $41,120 with the sustained use discount on compute |
| Windows Server, fixed three-year | $33,788 | $34,112 | $33,974 |
| Windows Server, flexible three-year at current rates | $35,604 | $35,192 | $35,811 |
| Windows Server license inside each Windows row | $19,342 | $19,342 | $19,342 |
These subtotals cover the VMs, their disks and the object storage capacity, with each commitment paid monthly and nothing up front. Add your data transfer, storage request charges, support plan and any other service you run from your own usage. The three VM shapes are matched on vCPU, memory and disk size, so run your own CPU and disk load on the shape you plan to reserve before you sign for three years.
Transfer rates and commitment rules
| Microsoft Azure | AWS | Google Cloud | |
|---|---|---|---|
| Internet egress, first paid rates | $0.087 per GB after the first 100 GB a month, on the default Microsoft global network route | $0.09 per GB after 100 GB a month free across AWS services and Regions | $0.12 per GiB from 1 GiB to 1,024 GiB a month, then $0.11 per GiB to 10,240 GiB, on Premium Tier to North America; the first GiB is free |
| Transfer between zones in one region | No charge, per Microsoft Learn | $0.01 per GB of regional data transfer | $0.01 per GiB, billed to the sending VM's project |
| Ways out of the fixed commitment | Refund up to $50,000 in a rolling 12 months; exchange ends for reservations bought after February 1, 2027 | Listing for sale on the Reserved Instance Marketplace after 30 days, with at least a month left; no exchange | No cancellation; a request within 14 calendar days for an accidental purchase, decided by Google |
| Ways out of the flexible commitment | Purchases are final: no cancellation, refund or exchange for a reservation | Return within 7 days and the same calendar month, for an hourly commitment of $100 or less | Cannot be cancelled |
| What the flexible commitment covers | Eligible compute services across regions | Any EC2 instance family, size and Region, plus Fargate and Lambda | Eligible machine configurations across regions, at billing-account scope |
| Windows Server license | Outside reservation and savings plan discounts; Azure Hybrid Benefit removes it with qualifying licenses, minimum 8 core licenses per VM | Same hourly amount on demand and under both commitments | Billed separately from the VM; bringing a license requires sole-tenant nodes and a version released before October 1, 2019 |
Azure and AWS list transfer per GB and Google Cloud per GiB, and the free allowances and tiers differ on each. Apply these rates to your own monthly traffic and add the result to the subtotal.
Microsoft Azure: the lowest fixed three-year subtotal
A three-year reservation takes the D4s v5 in Central US to the lowest fixed compute rate of the three, according to the price feed behind Microsoft's pricing calculator. Azure hands part of that back on storage, where the P10 Premium SSD disks cost more each month than the matched disk capacity on AWS or Google Cloud. The compute saving is the larger of the two, which leaves Azure with the lowest fixed subtotal on both the Linux and the Windows Server budget.
Microsoft lets you pay for a reservation monthly at the same total cost as paying up front. Its exchange and refund policy allows cancelled reservations to be refunded, pro-rated for the unused term, up to $50,000 in a rolling 12-month window for each billing scope. The same policy says Microsoft is not currently charging an early termination fee on those refunds.
A reservation discount applies to the VM and region chosen at purchase, with instance size flexibility for virtual machines, Microsoft's reservation documentation says. Under the exchange policy a reservation can be swapped for another in the same product family, and reservations bought after February 1, 2027 lose that right for services a savings plan covers, virtual machines included. Reservations bought before that date keep one final exchange.
Azure's flexible option, the savings plan for compute, commits a fixed dollar amount per hour across eligible compute services and regions, and commitment left unused in an hour expires. Microsoft's cancellation page states that "All savings plan purchases are final." The overview adds that savings plan prices can change on the first day of a month and that the current price applies to plans already bought, so the flexible subtotal is a projection at current rates.
Microsoft Learn's availability zones overview says Azure does not charge for data transfer between zones in the same region, on private or public IP addressing. Internet egress routes over the Microsoft global network by default, and that is the route priced in the table.
Reservations cover the VM and leave Windows Server as a separate hourly meter, Microsoft's page on Windows software costs says. Azure Hybrid Benefit removes that charge for a customer with Windows Server Standard or Datacenter licenses under active Software Assurance or a qualifying subscription. Its terms require eight core licenses per VM even when the instance has fewer cores.
AWS: the lowest flexible subtotal and a plan that follows the workload
The gp3 volumes for this workload cost $40.96 a month on AWS's EBS price list, against $78.84 for Azure's P10 disks. That gap more than covers Azure's lower savings plan rate, which is how the three-year No Upfront Compute Savings Plan ends up with the lowest flexible subtotal. AWS also has the lowest pay-as-you-go subtotal at list rates, narrowly under Google Cloud before Google's sustained use discount.
A Compute Savings Plan applies to EC2 usage regardless of instance family, size, Availability Zone, Region, operating system or tenancy, and to Fargate and Lambda usage as well, the same AWS page says. The commitment is a dollar amount per hour for the term. Usage up to it bills at the plan rate and usage beyond it at On-Demand rates, so a team that changes instance family or moves work to Fargate partway through keeps its discount.
The fixed option priced here is a three-year Standard Reserved Instance with No Upfront payment, and AWS's EC2 guide says Standard Reserved Instances cannot be exchanged. A Standard RI can be listed for sale on the Reserved Instance Marketplace once it has been active for 30 days and has at least a month left to run. A Savings Plan can be returned only within seven days of purchase and in the same calendar month, and only when its hourly commitment is $100 or less.
AWS gives 100 GB of internet data transfer out free each month, aggregated across its services and Regions outside China and GovCloud, its EC2 pricing page says. Between Availability Zones, the AWS data transfer price list charges regional transfer per GB. Have AWS confirm which endpoints of your cross-zone traffic that meter counts before you budget it, because the charge depends on how your services sit across zones.
In AWS's price list the Windows Server rates for the m6i.xlarge sit the same amount above the Linux rates on demand and under both commitments priced here. The license is charged in full under each.
Google Cloud: an automatic discount for a full month with no commitment
Google's sustained use discount takes 20% off N2 vCPU and memory for a VM that runs the whole calendar month, with no purchase to make. On this workload it brings the uncommitted Linux subtotal to $21,778, below the pay-as-you-go subtotals on AWS and Azure. Google limits the discount to self-serve Cloud Billing accounts, and it does not combine with a committed use discount. It applies to the compute charge alone, so the Windows license, disks, storage and network bill at their normal rates.
Google's fixed option is the resource-based committed use discount, which its commitment purchase page describes as a commitment to specific vCPU and memory in one region, billed monthly for the full term whether or not the resources run. Google sets that price when the commitment activates and holds it for the term. The same page says a purchased commitment cannot be cancelled, and gives a customer who bought one by accident 14 calendar days to ask Billing Support, with approval at Google's discretion.
The flexible committed use discount commits an hourly spend that applies across eligible machine configurations and regions at billing-account scope, per Google's overview, and it cannot be cancelled either. Google's flexible rate for the n2-standard-4 is the highest of the three flexible compute rates, which puts its flexible subtotal behind AWS and Azure.
VM-to-VM traffic between zones of one region is billed to the sending VM's project, and Google's network pricing lists no receiver charge for it. Premium Tier is the default network tier, and its internet egress price to North America steps down as monthly volume grows.
Google bills the Windows Server license per visible vCPU-hour, separate from the VM price. Bringing your own license requires sole-tenant nodes and a product version released before October 1, 2019, so it changes the infrastructure you would be pricing.
Which cloud platform should a cost-focused team with a steady workload choose?
Azure is our pick for a cost-focused team that can put a steady workload on a three-year reservation. It has the lowest fixed subtotal on the Linux budget and on the Windows Server one, and Microsoft will refund a cancelled reservation within its rolling cap, where an AWS Standard Reserved Instance goes to a resale marketplace and a Google resource commitment cannot be cancelled.
The lead is narrow: $186 over Google Cloud and $323 over AWS across the term on Linux, with the same order on Windows Server. Azure is also the most expensive of the three on pay-as-you-go rates, and AWS beats it on the flexible term. We weight the fixed term most for this buyer: when your forecast supports a three-year reservation, that is the term where Azure has the lowest subtotal and a refund route. A lead this size holds only for the shape priced, so confirm the D4s v5 and P10 disk carry your load before you reserve.
Choose AWS when the commitment has to move with the workload. Its Compute Savings Plan has the lowest flexible subtotal here and keeps applying across instance families and Regions and on Fargate and Lambda, so a change of architecture during the term leaves the discount in place.
Google Cloud is the one to choose if you will not sign a commitment and your VMs run every hour of the month on a self-serve billing account. The sustained use discount then applies with nothing to buy or cancel, and the uncommitted compute and storage subtotal lands below the pay-as-you-go figures on AWS and Azure.
Other cloud platforms
| Provider | Website |
|---|---|
| IBM Cloud | ibm.com/products/cloud |
| DigitalOcean | digitalocean.com |
| OVHcloud | ovhcloud.com |
| Hetzner Cloud | hetzner.com/cloud |
| Alibaba Cloud | alibabacloud.com |
| Huawei Cloud | huaweicloud.com |
| Scaleway | scaleway.com |
| Rackspace Technology | rackspace.com/cloud |