Submit feedback on
Outdated Virtual Machine Version in Azure
We've received your feedback.
Thanks for reaching out!
Oops! Something went wrong while submitting the form.
Close
Outdated Virtual Machine Version in Azure
Jurian van Hoorn
Service Category
Compute
Cloud Provider
Azure
Service Name
Azure Virtual Machines
Inefficiency Type
Outdated Resource
Explanation

Many organizations choose a VM SKU and version (e.g., `D4s_v3`) during the initial planning phase of a project, often based on availability, compatibility, or early cost estimates. Over time, Microsoft releases newer hardware generations (e.g., `D4s_v4`, `D4s_v5`) that offer equivalent or better performance at the same or reduced cost. However, existing VMs are not automatically migrated, and these newer versions are often overlooked unless intentionally evaluated.

This inefficiency tends to persist because switching to a newer version typically requires VM deallocation and resizing, which introduces temporary downtime. As a result, outdated VM series versions continue to run indefinitely, even in environments where brief downtime is acceptable. The cost delta between series versions—especially across certain families like `D`, `E`, or `F`—can be significant when scaled across environments or multiple VMs. Note that VM series versions (v3, v4, v5) are distinct from VM generations (Gen 1 vs Gen 2), with series versions representing the primary opportunity for cost optimization.

Relevant Billing Model

Azure VMs are billed per second based on instance size, operating system, and hardware generation (series version). Newer VM versions typically offer equivalent or better performance at the same of reduced cost due to improved infrastructure efficiency.. Legacy versions may persist in production environments despite suboptimal price/performance ratios, simply because they were originally selected during initial provisioning or project planning.

Detection
  • Identify running VMs using older version SKUs ((e.g., v3 when v4 or v5 are available)
  • Compare current SKUs to newer available versions within the same family and size class
  • Check whether newer versions are available in the same region and support the required OS or workload
  • Assess cost differences using the Azure Pricing Calculator
  • Confirm with application teams whether brief downtime for resizing is acceptable
  • Review whether the original SKU selection is still aligned with performance and cost objectives
  • Consider that some older series may have limited regional availability or eventual deprecation timelines
Remediation
  • Evaluate alternative VM versions (e.g., v4 or v5) within the same family to identify better cost/performance options
  • Plan and schedule VM resizing during maintenance windows to avoid unplanned downtime
  • Coordinate with application owners to validate compatibility and risk tolerance
  • Periodically audit VM fleet for outdated versions as part of cost governance
  • Prioritize migrations from significantly outdated series (e.g., v3 to v5) for maximum benefit
Relevant Documentation
  • https://learn.microsoft.com/en-us/azure/virtual-machines/sizes
  • https://azure.microsoft.com/en-us/pricing/details/virtual-machines/
  • https://learn.microsoft.com/en-us/azure/virtual-machines/change-vm-size
Submit Feedback