Feature Analysis: Cloud Services (extended support) and Virtual Machine Scale Sets
This article provides a feature analysis of Cloud Services (extended support) and Virtual Machine Scale Sets. For more information on Virtual Machine Scale Sets, visit the documentation here
Basic setup
Feature | CSES | Virtual Machine Scale Sets (Flex) | Virtual Machine Scale Sets (Uniform) |
---|---|---|---|
Virtual machine type | Basic Azure PaaS VM (Microsoft.compute/cloudServices) | Standard Azure IaaS VM (Microsoft.compute/virtualmachines) | Scale Set specific VMs (Microsoft.compute /virtualmachinescalesets/virtualmachines) |
Maximum Instance Count (with FD guarantees) | 1100 | 1000 | 3000 (1000 per Availability Zone) |
SKUs supported | D, Dv2, Dv3, Dav4 series, Ev3, Eav4 series, G series, H series | D series, E series, F series, A series, B series, Intel, AMD; Specialty SKUs (G, H, L, M, N) aren't supported | All SKUs |
Full control over VM, NICs, Disks | Limited control over NICs and VM via CS-ES APIs. No support for Disks | Yes | Limited control with virtual machine scale sets VM API |
RBAC Permissions Required | Compute Virtual Machine Scale Sets Write, Compute VM Write, Network | Compute Virtual Machine Scale Sets Write, Compute VM Write, Network | Compute Virtual Machine Scale Sets Write |
Accelerated networking | No | Yes | Yes |
Spot instances and pricing | No | Yes, you can have both Spot and Regular priority instances | Yes, instances must either be all Spot or all Regular |
Mix operating systems | Limited Windows support | Yes, Linux and Windows can reside in the same Flexible scale set | No, instances are the same operating system |
Disk Types | No Disk Support | Managed disks only, all storage types | Managed and unmanaged disks, All Storage Types |
Disk Server Side Encryption with Customer Managed Keys | No | Yes | |
Write Accelerator | No | No | Yes |
Proximity Placement Groups | No | Yes, read Proximity Placement Groups documentation | Yes |
Azure Dedicated Hosts | No | No | Yes |
Managed Identity | No | User Assigned Identity Only | System Assigned or User Assigned |
Azure Instance Metadata Service | No | Yes | Yes |
Add/remove existing VM to the group | No | No | No |
Service Fabric | No | No | Yes |
Azure Kubernetes Service (AKS) / AKE | No | No | Yes |
UserData | No | Yes | Yes |
Autoscaling and instance orchestration
Feature | Cloud Services (extended Support) | Virtual Machine Scale Sets (Flex) | Virtual Machine Scale Sets (Uniform) |
---|---|---|---|
List VMs in Set | No | Yes | Yes |
Automatic Scaling (manual, metrics based, schedule based) | Yes | Yes | Yes |
Auto-Remove NICs and Disks when deleting VM instances | Yes | Yes | Yes |
Upgrade Policy (VM scale sets) | AutoUD and ManualUD policies. No support for Rolling. Cloud Services - Create Or Update - REST API (Azure Compute) | No, upgrade policy must be null or [] during create | Automatic, Rolling, Manual |
Automatic OS Updates | Yes | No | Yes |
Customer Defined OS Images | No | Yes | Yes |
In Guest Security Patching | No | Yes | No |
Terminate Notifications (VM scale sets) | No | Yes, read Terminate Notifications documentation | Yes |
Monitor Application Health | No | Application health extension | Application health extension or Azure Load balancer probe |
Instance Repair (VM scale sets) | No | Yes, read Instance Repair documentation | Yes |
Instance Protection | No | No, use Azure resource lock | Yes |
Scale In Policy | No | No | Yes |
Get Instance View | Yes | No | Yes |
VM Batch Operations (Start all, Stop all, delete subset, etc.) | Yes | Partial, Batch delete is supported. Other operations can be triggered on each instance using VM API) | Yes |
High availability
Feature | Cloud Services (extended Support) | Virtual Machine Scale Sets (Flex) | Virtual Machine Scale Sets (Uniform) |
---|---|---|---|
Availability SLA | SLA | SLA | SLA |
Availability Zones | No | Specify instances land across 1, 2, or 3 availability zones | Specify instances land across 1, 2, or 3 availability zones |
Assign VM to a Specific Availability Zone | No | Yes | No |
Fault Domain – Max Spreading (Azure maximally spreads instances) | Yes | Yes | Yes |
Fault Domain – Fixed Spreading | Five update domains | 2-3 FDs (depending on regional maximum FD Count); 1 for zonal deployments | 2, 3 5 FDs 1, 5 for zonal deployments |
Assign VM to a Specific Fault Domain | No | Yes | No |
Update Domains | Yes | Depreciated (platform maintenance performed FD by FD) | Five update domains |
Perform Maintenance | No | Trigger maintenance on each instance using VM API | Yes |
VM Deallocation | No | Yes | Yes |
Networking
Feature | Cloud Services (extended Support) | Virtual Machine Scale Sets (Flex) | Virtual Machine Scale Sets (Uniform) |
---|---|---|---|
Default outbound connectivity | Yes | No, must have explicit outbound connectivity | Yes |
Azure Load Balancer Standard SKU | No | Yes | Yes |
Application Gateway | No | Yes | Yes |
Infiniband Networking | No | No | Yes, single placement group only |
Azure Load Balancer Basic SKU | Yes | No | Yes |
Network Port Forwarding | Yes (NAT Pool for role instance input endpoints) | Yes (NAT Rules for individual instances) | Yes (NAT Pool) |
Microsoft Edge Sites | No | Yes | Yes |
Ipv6 Support | No | Yes | Yes |
Internal Load Balancer | No | Yes | Yes |
Backup and recovery
Feature | Cloud Services (extended Support) | Virtual Machine Scale Sets (Flex) | Virtual Machine Scale Sets (Uniform) |
---|---|---|---|
Azure Backup | No | Yes | No |
Azure Site Recovery | No | Yes (via PowerShell) | No |
Azure Alerts | Yes | Yes | Yes |
VM Insights | No | Can be installed into individual VMs | Yes |
Next steps
- View the deployment prerequisites for Cloud Services (extended support).
- View frequently asked questions for Cloud Services (extended support).