Skip to main content
AzureComputebeginner

Azure VM Series Guide

Understand Azure VM series (B, D, E, F, N) and choose the right size for your workload.

CloudToolStack Team22 min readPublished Feb 22, 2026

Prerequisites

  • Azure subscription with compute permissions
  • Understanding of CPU, RAM, and storage requirements for workloads

Understanding Azure VM Series and Sizes

Azure offers hundreds of virtual machine sizes organized into families, each optimized for different workload types. Picking the right VM size can mean the difference between an application that performs well at reasonable cost and one that wastes money on unused capacity or struggles under load. This guide breaks down every major VM family, explains the naming convention, provides sizing recommendations for common workloads, and covers cost optimization strategies including Spot VMs and Reserved Instances.

Understanding the VM family landscape is essential not just for IaaS workloads but also for services built on VMs under the hood, including AKS node pools, Azure Batch pools, VM Scale Sets, and even some configurations of Azure SQL and Cosmos DB use VM-based compute. Choosing the right underlying VM size affects performance, cost, and feature availability across all of these services.

VM Family Overview

Azure VM sizes are grouped into families identified by a letter prefix. Each family is designed for a specific balance of CPU, memory, storage, and GPU resources. Selecting the right family is the most impactful decision; choosing between sizes within a family is a matter of scaling up or down.

FamilyTypeOptimized ForCPU:Memory RatioExample Use Cases
B-seriesBurstableVariable CPU (credit-based)1:2 to 1:4 GBDev/test, low-traffic web servers, small databases
D-seriesGeneral PurposeBalanced CPU-to-memory1:4 GBEnterprise apps, mid-tier databases, web servers
E-seriesMemory OptimizedHigh memory-to-CPU ratio1:8 GBSQL Server, SAP, in-memory analytics, Redis
F-seriesCompute OptimizedHigh CPU-to-memory ratio1:2 GBBatch processing, gaming servers, CI/CD agents, scientific modeling
L-seriesStorage OptimizedHigh throughput, local NVMe SSDs1:8 GBNoSQL (Cassandra, MongoDB), data warehousing, log analytics
M-seriesMemory OptimizedExtreme memory (up to 4 TB)1:16+ GBSAP HANA, large in-memory databases
N-seriesGPU AcceleratedGPU compute and visualizationVariesML training/inference, rendering, video encoding
H-seriesHPCHigh-performance computing1:2 GBFluid dynamics, weather modeling, molecular simulation
DC-seriesConfidentialHardware-based TEE (SGX/SEV-SNP)1:4 GBConfidential computing, secure enclaves, sensitive data processing

Understanding the Naming Convention

Azure VM size names follow a structured pattern that encodes the family, generation, processor, additive features, and size. Learning to decode these names lets you quickly understand what a VM offers without looking up documentation.

VM Naming Convention Decoded
Standard_D8as_v5
         | || |  |
         | || |  └── Version (v5 = 5th generation)
         | || └───── Additive features (s = Premium Storage)
         | |└──────── Sub-family (a = AMD processor)
         | └───────── vCPU count (8 vCPUs)
         └──────────── Family (D = General Purpose)

Additive feature letters:
  a = AMD processor           i = Isolated (dedicated host)
  b = Block storage           l = Low memory (less RAM/vCPU)
  d = Local temp disk (NVMe)  m = Memory intensive (more RAM/vCPU)
  p = ARM-based processor     s = Premium Storage capable
  t = Tiny memory             C = Confidential

Processor indicators:
  (none) = Intel               a = AMD EPYC
  p = Ampere ARM (Cobalt)

Examples decoded:
  Standard_D4s_v5    = General Purpose, 4 vCPU, Intel, Premium SSD, Gen 5
  Standard_D8as_v5   = General Purpose, 8 vCPU, AMD, Premium SSD, Gen 5
  Standard_E16ds_v5  = Memory Optimized, 16 vCPU, local NVMe, Premium SSD, Gen 5
  Standard_B2ms      = Burstable, 2 vCPU, more memory, Premium SSD
  Standard_F4s_v2    = Compute Optimized, 4 vCPU, Premium SSD, Gen 2
  Standard_NC24ads_A100_v4 = GPU, 24 vCPU, AMD, local disk, Premium SSD, A100 GPU

Always Use Latest Generations

Always use the latest generation (v5 or v6) VMs when available in your region. Newer generations use more efficient processors (Intel Sapphire Rapids, AMD Genoa/Bergamo), offer better price-to-performance ratios (typically 15-30% improvement), and include enhanced networking and storage capabilities. A D4s_v5 outperforms a D4s_v3 at a similar or lower price point. Check availability withaz vm list-skus --location eastus --output table.

General Purpose: D-series Deep Dive

The D-series is the workhorse of Azure compute. With a balanced 1:4 CPU-to-memory ratio (approximately 4 GB RAM per vCPU), it handles the vast majority of production workloads. If you are unsure which family to choose, start with D-series. It covers roughly 80% of cloud workloads.

SizevCPUMemory (GB)Temp StorageMax Data DisksEst. Monthly Cost*
Standard_D2s_v528No local disk4~$70
Standard_D4s_v5416No local disk8~$140
Standard_D8s_v5832No local disk16~$281
Standard_D16s_v51664No local disk32~$562
Standard_D8ds_v5832300 GB NVMe16~$330
Standard_D8as_v5832No local disk16~$253

*Approximate Linux pay-as-you-go rates in East US 2. Actual costs vary by region, OS, and discount programs.

AMD vs Intel Pricing

AMD-based VMs (the “a” sub-family like D8as_v5) typically cost 10-15% less than their Intel equivalents while offering comparable or better performance for most workloads. The AMD EPYC processors (Genoa in v5) match or exceed Intel Sapphire Rapids in most benchmarks. Always benchmark with your specific application, but AMD is often the better value proposition. ARM-based VMs (the “p” sub-family, powered by Ampere Cobalt processors) offer even greater savings for ARM-compatible workloads.

Memory Optimized: E-series

The E-series provides a high memory-to-CPU ratio (1:8, or 8 GB RAM per vCPU), making it ideal for memory-intensive workloads like relational databases, in-memory caching, and real-time analytics. If your application's primary bottleneck is available RAM rather than CPU, E-series delivers more memory per dollar than D-series.

Common E-series Use Cases

  • SQL Server: Database workloads with large buffer pool requirements. E-series provides the memory headroom for in-memory OLTP and columnstore indexes.
  • SAP applications: SAP NetWeaver and S/4HANA require significant memory. E-series (and M-series for very large instances) are SAP-certified.
  • Redis / Memcached: In-memory caching layers benefit from maximum available RAM.
  • Elasticsearch / OpenSearch: Search engines that keep indices in memory for fast query performance.
  • Apache Spark: In-memory data processing frameworks that benefit from large executor memory.
SizevCPUMemory (GB)Est. Monthly Cost*Notes
Standard_E4s_v5432~$183Entry-level memory-optimized
Standard_E8s_v5864~$366Good for mid-size SQL Server
Standard_E16s_v516128~$732Large databases, Elasticsearch clusters
Standard_E32s_v532256~$1,464SAP workloads, large analytics
Standard_E64s_v564512~$2,928Very large in-memory workloads
Standard_E96s_v596672~$4,392Maximum E-series memory

Compute Optimized: F-series

The F-series offers a high CPU-to-memory ratio (1:2, or 2 GB RAM per vCPU) and the highest clock speeds in Azure. It is designed for workloads that are CPU-bound rather than memory-bound. F-series VMs use the latest high-frequency processors, making them the best choice for raw single-threaded performance.

F-series Use Cases

  • Batch processing: CPU-intensive data processing, media transcoding, and ETL pipelines
  • Gaming servers: Multiplayer game servers that need high single-core performance
  • CI/CD build agents: Compilation and testing workloads benefit from fast processors
  • Scientific computing: Financial modeling, Monte Carlo simulations, molecular dynamics
  • Web servers (CPU-bound): Applications with heavy server-side processing and minimal memory needs

Burstable B-series: The Cost Optimizer

B-series VMs use a CPU credit model that makes them dramatically cheaper for workloads with low average CPU utilization. They accumulate CPU credits during idle periods and spend them during bursts. If your workload has an average CPU utilization below 20-30% with occasional spikes, B-series can be 50-70% cheaper than equivalent D-series VMs.

How the Credit Model Works

Each B-series size has a baseline CPU percentage. When the VM uses less than the baseline, it banks credits. When it exceeds the baseline, it spends credits. If credits are depleted, the VM is throttled to the baseline level. This makes B-series unsuitable for sustained high-CPU workloads but ideal for bursty, intermittent usage patterns.

SizevCPUMemory (GB)Baseline CPU %Credits/hourMax Banked CreditsEst. Monthly Cost*
Standard_B1s1110%6144~$7.60
Standard_B2s2440%24576~$30.40
Standard_B2ms2860%36864~$60.70
Standard_B4ms41690%541,296~$121
Standard_B8ms832135%811,944~$243
Monitor and manage B-series VMs
# Check CPU credit balance for a B-series VM
az monitor metrics list \
  --resource /subscriptions/<sub-id>/resourceGroups/myRG/providers/Microsoft.Compute/virtualMachines/myBVM \
  --metric "CPU Credits Remaining" "CPU Credits Consumed" "Percentage CPU" \
  --interval PT1H \
  --output table

# List available VM sizes in a region
az vm list-sizes --location eastus2 --output table

# Check which sizes are available in specific availability zones
az vm list-skus --location eastus2 \
  --query "[?resourceType=='virtualMachines' && contains(name, 'Standard_D')].{Name:name, Zones:locationInfo[0].zones}" \
  --output table

# Resize a VM (may require deallocation for cross-family changes)
az vm deallocate --resource-group myRG --name myVM
az vm resize --resource-group myRG --name myVM --size Standard_D4s_v5
az vm start --resource-group myRG --name myVM

# List Azure Advisor right-sizing recommendations
az advisor recommendation list \
  --category Cost \
  --query "[?contains(shortDescription.solution, 'virtual machine')]" \
  --output table

B-series Credit Depletion

If a B-series VM runs out of credits, performance drops to the baseline level (e.g., 10% of a vCPU for B1s). This can cause application timeouts, failed health checks, and service degradation. Monitor “CPU Credits Remaining” and set up an alert when credits drop below 20% of the maximum banked amount. If you frequently deplete credits, upgrade to a D-series VM. The consistent performance will be worth the additional cost.

GPU Accelerated: N-series

The N-series provides GPU-accelerated compute for machine learning, rendering, and visualization workloads. Azure offers several N-series sub-families with different GPU types optimized for different use cases.

Sub-FamilyGPU TypeGPU MemoryOptimized ForStarting Cost/mo*
NCv3NVIDIA V10016-32 GB per GPUML training, HPC~$2,700
NC A100 v4NVIDIA A10080 GB per GPULarge-scale ML training, LLMs~$3,600
ND A100 v48x NVIDIA A100640 GB totalDistributed ML training~$22,000
NV-series v4AMD Radeon Instinct8-16 GB per GPURemote visualization, VDI~$800
NCads A10 v4NVIDIA A1024 GB per GPUML inference, rendering~$1,300

GPU VM Availability

GPU VMs have limited availability and are in high demand. Not all N-series sizes are available in all regions, and quota may be restricted by default. Request quota increases well in advance of need through the Azure portal (Support + troubleshooting → New support request → Quota). For ML training workloads, consider using Azure Machine Learning compute clusters which automatically manage GPU VM allocation and can use low-priority (Spot) instances for significant cost savings.

Storage Optimized: L-series

The L-series provides high local NVMe SSD throughput and IOPS, designed for workloads that need fast local storage access. The key differentiator is the massive local NVMe storage that is directly attached to the VM (not network-attached managed disks). This local storage provides single-digit microsecond latency and millions of IOPS.

L-series Use Cases

  • NoSQL databases (Cassandra, ScyllaDB, MongoDB): Benefit from high local IOPS for write-heavy workloads
  • Elasticsearch / OpenSearch: Index storage on NVMe for fast search queries
  • Data warehousing (ClickHouse, Apache Druid): Analytical databases that scan large volumes of data
  • Log analytics: Ingestion and indexing of high-volume log data

Local NVMe Storage Is Ephemeral

Local NVMe storage on L-series VMs is not persistent. Data is lost if the VM is deallocated, resized, or moved to a different host due to maintenance. Always replicate data to managed disks, Azure Storage, or use application-level replication (Cassandra replication, MongoDB replica sets) to protect against local storage loss. Local NVMe is for caching and temporary storage, not as a sole data store.

Managed Disk Types

The disk type attached to your VM significantly affects performance and cost. Azure offers five managed disk types, each suited to different IOPS and throughput requirements.

Disk TypeMax IOPSMax ThroughputLatencyCost (128 GB)Best For
Ultra Disk160,0004,000 MB/sSub-msVariableSAP HANA, top-tier databases
Premium SSD v280,0001,200 MB/sSub-ms~$10/moProduction databases, high-perf apps
Premium SSD (v1)20,000900 MB/sSingle-digit ms~$19/moProduction workloads (default choice)
Standard SSD6,000750 MB/sSingle-digit ms~$10/moWeb servers, dev/test, light workloads
Standard HDD2,000500 MB/sTens of ms~$5/moBackup, archival, non-critical data

Cost Optimization Strategies

VM compute is typically the largest line item in Azure bills. Several strategies can significantly reduce VM costs without impacting performance.

Spot VMs

Azure Spot VMs provide access to unused Azure capacity at discounts of up to 90% compared to pay-as-you-go pricing. The trade-off is that Azure can evict Spot VMs with 30 seconds notice when it needs the capacity back.

Create and manage Spot VMs
# Create a Spot VM with a maximum price
az vm create \
  --resource-group myRG \
  --name spot-worker \
  --image Ubuntu2204 \
  --size Standard_D4s_v5 \
  --priority Spot \
  --max-price 0.05 \
  --eviction-policy Deallocate \
  --admin-username azureuser \
  --ssh-key-values ~/.ssh/id_rsa.pub

# Check current Spot pricing for a VM size
az vm list-skus --location eastus2 --size Standard_D4s_v5 \
  --query "[].{Name:name, SpotPrice:capabilities[?name=='MaxResourceVolumeMB']}" \
  --output table

# Create a VMSS with Spot instances for batch processing
az vmss create \
  --resource-group myRG \
  --name batch-workers \
  --image Ubuntu2204 \
  --vm-sku Standard_F4s_v2 \
  --instance-count 10 \
  --priority Spot \
  --eviction-policy Delete \
  --max-price -1 \
  --single-placement-group false

Reserved Instances and Savings Plans

OptionCommitmentFlexibilitySavingsBest For
1-Year Reserved InstanceSpecific VM size + regionSize flexibility within family~36%Stable, known VM requirements
3-Year Reserved InstanceSpecific VM size + regionSize flexibility within family~56-72%Long-term, predictable workloads
1-Year Savings PlanHourly compute spend amountAny VM, App Service, Functions, AKS~15-30%Dynamic workloads, multi-service
3-Year Savings PlanHourly compute spend amountAny VM, App Service, Functions, AKS~30-65%Long-term compute commitment

Azure Hybrid Benefit

If you have existing Windows Server or SQL Server licenses with active Software Assurance, apply Azure Hybrid Benefit (AHUB) to your VMs for up to 40% savings on Windows VMs and 55% on SQL Server VMs. This stacks with Reserved Instances, meaning you can combine a 3-year RI with AHUB for total savings of 80%+ compared to pay-as-you-go with included licensing. Enable AHUB per VM:az vm update --resource-group myRG --name myVM --license-type Windows_Server

Choosing the Right VM Size

Follow this decision framework to select the best VM for your workload:

  1. Profile your workload: Understand CPU, memory, disk IOPS, and network throughput requirements. Use Azure Monitor to measure actual utilization patterns on existing workloads, or use vendor sizing guides for new deployments.
  2. Select the right family: Match the CPU:memory ratio to your needs. D-series (1:4) for balanced, E-series (1:8) for memory-heavy, F-series (1:2) for CPU-heavy, B-series for bursty/low-utilization.
  3. Choose the latest generation: Always prefer v5 or v6 over older generations. Better performance at the same or lower cost.
  4. Consider AMD vs Intel: AMD VMs are 10-15% cheaper with comparable performance. Test with your workload and choose based on benchmarks.
  5. Right-size continuously: Use Azure Advisor to identify VMs running below 40% average CPU. Downsize to the next smaller size or switch to B-series for consistently low utilization.
  6. Apply cost optimizations: Spot VMs for interruptible work, Reserved Instances for steady-state, Azure Hybrid Benefit for Windows/SQL, and auto-shutdown schedules for dev/test.

Check Availability Zone Support

Not all VM sizes are available in all regions and availability zones. Before designing your architecture around a specific VM size, verify availability usingaz vm list-skus --location eastus2 --output table. This is especially important for specialized sizes like M-series, N-series, and H-series which may only be available in specific zones or require quota requests.

Optimize VM costs with budgets, reservations, and FinOps practicesChoose between VMs, AKS, and App Service for your compute workloadsApply Performance Efficiency and Cost Optimization pillars to VM sizingDesign network architecture for VM deployments

Key Takeaways

  1. 1B-series burstable VMs are cost-effective for variable workloads with low average utilization.
  2. 2D-series general-purpose VMs are the default choice for most production workloads.
  3. 3E-series memory-optimized VMs suit databases, caching, and in-memory analytics.
  4. 4F-series compute-optimized VMs excel at CPU-intensive tasks like batch processing.
  5. 5N-series GPU VMs support AI/ML training, rendering, and high-performance computing.
  6. 6Use Azure Advisor and right-sizing recommendations to optimize VM costs.

Frequently Asked Questions

What do Azure VM series letters mean?
B = burstable, D = general purpose, E = memory optimized, F = compute optimized, L = storage optimized, M = large memory, N = GPU-equipped. Version numbers indicate generation (v5 is newer than v4). Suffixes like 's' mean premium storage capable.
Should I use B-series VMs for production?
B-series VMs are good for production workloads with low average CPU usage (web servers, small databases, dev/test). They earn CPU credits when idle and burst when needed. Monitor credit balance to avoid throttling during sustained load.
What is the difference between Dv5 and Dsv5 VMs?
The 's' suffix indicates premium SSD storage support. Dsv5 VMs can attach premium SSD and ultra disks with guaranteed IOPS. Dv5 without 's' only supports standard HDD/SSD. Always use 's' variants for production database workloads.
How do I choose between D-series and E-series?
D-series has balanced CPU:memory ratios (1:4). E-series has higher memory ratios (1:8). Choose D-series for web apps, microservices, and general workloads. Choose E-series for SQL Server, SAP, Redis, and applications needing large memory.
Can I resize a running Azure VM?
You can resize a VM but it requires a restart. Some sizes are available within the same hardware cluster (quick resize). Others require deallocation and reallocation. Check size availability in your region before planning resizes.

Written by CloudToolStack Team

Cloud engineers and architects with hands-on experience across AWS, Azure, and GCP. We write guides based on real-world production patterns, not just documentation rewrites.

Disclaimer: This guide is for educational purposes. Cloud services change frequently; always refer to official documentation for the latest information. AWS, Azure, and GCP are trademarks of their respective owners.