1. The same VM, a lower price
Every few years Azure brings out a new generation of each VM series (v3, v4, v5, v6) on newer processors. The price per hour of a newer size is usually about the same as the old one, or lower. Take a common size with 4 vCPUs and 16 GB of memory:
| Size | Generation | Price per month | Compared with v3 |
|---|---|---|---|
| D4s_v3 | v3, Intel | €154 | |
| D4s_v6 | v6, Intel | €155 | +1% |
| D4s_v5 | v5, Intel | €148 | −4% |
| D4as_v5 | v5, AMD | €134 | −13% |
| D4ps_v5 | v5, Arm | €118 | −23% |
Linux pay-as-you-go list prices, West Europe, October 2026.
The step from v3 to an Intel v5 or v6 is small in price. The real difference is in what you get for that price, and in the AMD and Arm variants. For really old sizes the gap is wider: a D4_v2 (8 vCPUs, 28 GB) costs about €349 per month in West Europe, a D8as_v5 with 8 vCPUs and 32 GB €267. That is 24% less, with more memory.
2. More work per vCPU, so often a smaller size
Newer generations do more work per vCPU. A VM that is constantly busy on a v3 often has room to spare on a v5 or v6, so it may fit a size with half the vCPUs. That is where the big savings are: moving from a D8s_v3 (€308 per month) to a D4as_v5 (€134) saves 57%, if the workload fits. Measure first: look at CPU and memory use over a few weeks, not just one quiet day.
For Windows VMs without Azure Hybrid Benefit this counts double, because the Windows licence is billed per vCPU. Fewer vCPUs means less compute and less licence cost.
3. AMD and Arm: the same work for less
The a in a size name (Dasv5, Easv5) means an AMD processor, the p (Dpsv5) means Arm. For most applications AMD is a drop-in replacement that is simply cheaper. Arm is cheaper still, but runs Linux only, and your software must support Arm64. A good fit for web servers, containers and open-source databases, less so for older Windows software.
4. Reservations on old series are ending
This is the change many people missed. Since 1 July 2026 Microsoft no longer sells or renews reservations for 18 older series, including Dv2, Dsv2, Fsv2, Av2 and Bv1, and also the very common Dv3, Dsv3, Ev3 and Esv3.
Existing reservations keep running until the end of their term. But when one expires, the VM falls back to the pay-as-you-go price, and a discount that can reach tens of percent disappears overnight. You have three options:
- Exchange the reservation for one on a newer series, without penalty.
- Trade it in for an Azure Savings Plan for compute, which works across VM series.
- Migrate the VMs and buy a new reservation for the new series.
See also which discount fits you.
5. The old series are being retired anyway
Microsoft has set end dates for the older series:
| Series | Retired on |
|---|---|
| D, Ds, Dv2, Dsv2, Ls | 1 May 2028 |
| Av2, Amv2, Bv1, F, Fs, Fsv2, G, Gs, Lsv2 | 15 November 2028 |
| Dv3, Dsv3, Ev3, Esv3 | 15 November 2029 |
After that date, VMs on these sizes are deallocated and stop running. Since July 2026 Microsoft also limits new capacity for older series in some regions, so scaling up or redeploying can already fail. The move is coming either way. If you plan it yourself, you get the savings sooner and choose a quiet moment.
Before you switch
- A resize means a restart. Plan a maintenance window, or move one VM at a time behind your load balancer.
- Temporary disk. Many older sizes have a local temporary disk (the D: drive on Windows), many newer sizes don't, and Azure doesn't allow a direct resize between the two. Choose a variant with a d in its name (such as Ddsv5 or Dadsv5) for a simple resize, or plan a redeploy from the OS disk for the cheaper variant without a temporary disk.
- v6 and newer need a Generation 2 image, an operating system that supports NVMe disks and the new MANA network adapter. For existing VMs, v5 is often the easiest step.
- Quota. Check that your subscription has enough quota for the new series in your region before you start.
See for yourself
- In the Azure portal, open Virtual machines and add the Size column. Look for sizes ending in
_v2or_v3, or without a version at all (such asStandard_D4). - Open Reservations and check the expiry date of reservations on these series.
- Under Service Health → Health advisories, Microsoft lists the retirements that affect your subscriptions.
To find them across all your subscriptions, use Azure Resource Graph Explorer with this query:
resources
| where type =~ 'microsoft.compute/virtualmachines'
| extend vmSize = tostring(properties.hardwareProfile.vmSize)
| where vmSize matches regex @'_v[23]$' or vmSize !contains '_v'
| project name, resourceGroup, location, vmSize