Group 1: Core Compute
Foundational compute primitives for customizable VM-based workloads: Virtual Machines, Scale Sets, Dedicated Host, Batch, SQL on VM.
Guiding Idea: Optimize for required control vs. operational overhead; escalate abstraction only when feature velocity or elasticity outweighs bespoke tuning needs.
Services & Roles
Virtual Machine
Single instance compute with full OS control.
- Custom images
- Full admin
- Broad SKU set
Scale Set
Elastic group of VMs with autoscaling + uniform config.
- Instance scaling
- Load distribution
- Rolling upgrades
Dedicated Host
Isolated physical server for compliance & license affinity.
- Hardware isolation
- Host-level control
- Bring licenses
Batch
Managed job scheduling & pool lifecycle for HPC/batch.
- Job queues
- Auto pool mgmt
- Task retries
SQL on VM
Lift-and-shift SQL Server with OS/instance management.
- SQL Agent
- Customization
- Legacy features
Key Differences
Dimension | VM | Scale Set | Dedicated Host | Batch | SQL on VM |
---|---|---|---|---|---|
Primary | Unit compute | Elastic fleet | Isolation | Job orchestration | DB workload |
Scaling | Manual/automation | Autoscale rules | Host capacity | Queue-based | Vertical (manual) |
Ops Overhead | High | Medium | High | Low-medium | High (DB admin) |
Cost Control | Spot/RI/Hybrid | Spot/RI | BYOL savings | Pool optimization | Hybrid/RI |
Selection Model
0–10 sliders weight emphasis.
Score_VM = 0.25*C_control + 0.20*C_customImage + 0.18*C_legacy + 0.14*C_opsSkill + 0.12*C_costFlex + 0.11*(10 - C_elasticity)
Score_VMSS = 0.30*C_elasticity + 0.22*C_autoScale + 0.18*C_uniformity + 0.12*C_imageVersion + 0.10*C_resilience + 0.08*(10 - C_control)
Score_DedHost = 0.32*C_isolation + 0.24*C_licenseAffinity + 0.16*C_stability + 0.12*C_compliance + 0.10*C_hostVisibility + 0.06*(10 - C_elasticity)
Score_Batch = 0.34*C_jobQueue + 0.24*C_ephemeral + 0.16*C_retryPolicy + 0.12*C_hpcNeed + 0.08*C_costFlex + 0.06*(10 - C_interactive)
Score_SQLVM = 0.30*C_sqlFeatures + 0.22*C_instanceControl + 0.18*C_migrationEase + 0.12*C_licenseReuse + 0.10*C_backupStrategy + 0.08*(10 - C_modernize)
VM {{vm.scores.vm|number:2}}
Scale Set {{vm.scores.vmss|number:2}}
Dedicated Host {{vm.scores.dh|number:2}}
Batch {{vm.scores.batch|number:2}}
SQL on VM {{vm.scores.sqlvm|number:2}}
Primary Emphasis: {{vm.recommended.name}} ({{vm.recommended.score|number:2}})
Heuristics
- High C_elasticity + C_autoScale → Scale Set.
- Strong isolation + license reuse → Dedicated Host.
- Large batch/ephemeral parallelism → Batch pools.
- Legacy SQL dependencies → SQL on VM (plan modernization).
Anti-Patterns
- Running long batch jobs on manually managed single VMs.
- Overusing Dedicated Hosts without compliance / licensing driver.
- Delaying database modernization indefinitely on SQL on VM.
Summary
Select VM for bespoke control, Scale Sets for elastic homogenous fleets, Dedicated Host for isolation/licensing, Batch for orchestrated parallel jobs, and SQL on VM for transitional database workloads.