Understanding the Naming Convention
Azure VM names follow a consistent pattern. Once you learn to read it, you can instantly understand what any VM offers:
[Family][Sub-family][vCPUs][Constrained vCPUs]_[Add-on features][Version]
Examples:
Standard_D4s_v5 → D family, 4 vCPUs, premium storage support, version 5
Standard_E8ds_v5 → E family, 8 vCPUs, local temp disk + premium storage, v5
Standard_B2ms → B family, 2 vCPUs, large memory variant
Standard_F4s_v2 → F family, 4 vCPUs, premium storage, version 2
| Suffix Letter | Meaning |
|---|---|
s | Premium Storage support (SSD) |
d | Local temp disk (NVMe) |
a | AMD processor instead of Intel |
l | Low memory variant |
m | Large memory variant |
t | Small memory variant |
v5, v4 | Generation/version number |
Standard_D4s_v4 and Standard_D4s_v5, always choose v5 — same price, better hardware.
B-Series — Burstable
The B-series is designed for workloads that don't need full CPU performance continuously. The VM earns CPU credits when idle and spends them when bursting. It's the most cost-effective series for low-to-moderate workloads.
How CPU Credits Work
A B1s earns 6 credits/hour when idle. Each credit = 1 minute of 100% CPU usage. The VM can accumulate up to 144 credits (24 hours of burst). This is perfect for workloads like dev servers, small websites, or microservices that have occasional spikes but are mostly quiet.
| Size | vCPUs | RAM | Approx Cost/Month (India) | Best For |
|---|---|---|---|---|
| B1s | 1 | 1 GB | ~₹550 | Learning, tiny apps |
| B1ms | 1 | 2 GB | ~₹1,100 | Small websites |
| B2s | 2 | 4 GB | ~₹2,200 | Dev/test environments |
| B2ms | 2 | 8 GB | ~₹4,400 | Small production apps |
| B4ms | 4 | 16 GB | ~₹8,800 | Medium applications |
D-Series — General Purpose
The D-series is the most commonly used VM family. It offers a balanced CPU-to-memory ratio (1:4, meaning 1 vCPU per 4 GB RAM) and is suitable for most production workloads — web servers, application servers, small-to-medium databases.
| Size | vCPUs | RAM | Approx Cost/Month (India) | Best For |
|---|---|---|---|---|
| D2s_v5 | 2 | 8 GB | ~₹6,500 | Small web apps |
| D4s_v5 | 4 | 16 GB | ~₹13,000 | Web/app servers |
| D8s_v5 | 8 | 32 GB | ~₹26,000 | Medium workloads |
| D16s_v5 | 16 | 64 GB | ~₹52,000 | Large applications |
| D32s_v5 | 32 | 128 GB | ~₹104,000 | Heavy workloads |
E-Series — Memory Optimised
The E-series has a high RAM-to-CPU ratio (1:8, meaning 1 vCPU per 8 GB RAM). Use it when your workload needs lots of memory — in-memory databases, large caches, analytics engines, or SAP HANA.
| Size | vCPUs | RAM | Best For |
|---|---|---|---|
| E2s_v5 | 2 | 16 GB | Small in-memory workloads |
| E4s_v5 | 4 | 32 GB | Redis, small HANA |
| E8s_v5 | 8 | 64 GB | Medium databases |
| E16s_v5 | 16 | 128 GB | Large in-memory databases |
| E32s_v5 | 32 | 256 GB | SAP HANA, enterprise DB |
F-Series — Compute Optimised
The F-series has a high CPU-to-memory ratio (1:2, meaning 1 vCPU per 2 GB RAM). Use it when raw CPU performance matters more than memory — batch processing, game servers, analytics, video transcoding, or CI/CD build agents.
| Size | vCPUs | RAM | Best For |
|---|---|---|---|
| F2s_v2 | 2 | 4 GB | Light compute tasks |
| F4s_v2 | 4 | 8 GB | Game servers, build agents |
| F8s_v2 | 8 | 16 GB | Batch processing |
| F16s_v2 | 16 | 32 GB | Heavy analytics |
| F32s_v2 | 32 | 64 GB | Intensive compute jobs |
N-Series — GPU
The N-series VMs include NVIDIA GPUs. They are significantly more expensive but are the only choice for machine learning training, 3D rendering, video encoding, or scientific simulations.
| Sub-family | GPU | Best For |
|---|---|---|
| NC-series | NVIDIA Tesla | Machine learning training, scientific compute |
| NV-series | NVIDIA Tesla M60 | GPU virtualisation, remote visualisation |
| ND-series | NVIDIA Tesla P40/V100 | Deep learning, large model training |
| NVads A10 v5 | NVIDIA A10 | GPU-accelerated apps, VDI |
L-Series — Storage Optimised
L-series VMs have high local disk throughput and IOPS — ideal for I/O-heavy workloads like NoSQL databases (Cassandra, MongoDB), data warehousing, or any workload that needs fast local storage access.
M-Series — Large Memory
M-series is Azure's largest memory option — up to 11.4 TB of RAM in a single VM. Used exclusively for very large enterprise workloads like massive SAP HANA databases or in-memory analytics platforms. These are extremely expensive and should only be used when truly needed.
How to Choose the Right Size
Follow this decision process when selecting a VM size:
| Question | If Yes → Consider |
|---|---|
| Is this for learning or dev/test? | B-series (cheapest) |
| Is this a general web or app server? | D-series |
| Does your app need lots of RAM? | E-series |
| Is this CPU-intensive batch processing? | F-series |
| Do you need a GPU? | N-series |
| Is this a high-I/O database? | L-series |
| Massive enterprise in-memory workload? | M-series |
Resizing a VM
You can change a VM's size after deployment — but it requires a restart. The VM will be briefly unavailable during the resize operation.
# Check available sizes in your region
az vm list-vm-resize-options \
--resource-group myResourceGroup \
--name myVM \
--output table
# Resize the VM (requires a restart)
az vm resize \
--resource-group myResourceGroup \
--name myVM \
--size Standard_D4s_v5