Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Difference in Azure Availability Sets and Scale Sets

Tags:

Can someone define the difference between the two in the ARM portal. Also what would be the PowerShell if i need to add a new Azure RM VM to a existing AS(Availability Set)? Thanks Prab

like image 873
Prab Thind Avatar asked Jun 30 '16 02:06

Prab Thind


People also ask

Do scale sets work with Azure availability sets?

Do scale sets work with Azure availability zones? Yes. For more information, see the scale set zone doc.

What are Azure scale sets?

Microsoft Azure VM Scale Sets are groups of individual virtual machines (VMs) within the Microsoft Azure public cloud that information technology (IT) administrators can configure and manage as a single unit. Administrators can use Azure VM Scale Sets to deploy complete services, rather than duplicate the same VMs.

What are Azure availability sets?

An availability set is a logical grouping of VMs that allows Azure to understand how your application is built to provide for redundancy and availability. We recommended that two or more VMs are created within an availability set to provide for a highly available application and to meet the 99.95% Azure SLA.

What is the difference between availability set and availability zone in Azure?

However, there is a distinct difference. While availability sets are used to protect applications from hardware failures within an Azure data center, availability zones, protect applications from complete Azure data center failures. An availability zone is a unique physical location that exists within an Azure region.


2 Answers

An availability set consists of a set of discrete VMs which have their own names and individual properties, but are spread across fault domains, which means when you have more than one VM in a set it reduces the chances of losing all your VMs in event of a hardware failure in the host or rack.

A scale set consists of a set of identically configured VMs, also spread across fault domains (in fact a scale set is an implicit availability set with 5 fault domains). The main difference is scale sets, being identical, make it very easy to add or remove VMs from the set while preserving high availability, which in turn makes it easy to implement autoscale, and to perform operations on the whole set or a subset of VMs. There are also API calls that support re-imaging and upgrading VMs, allowing you to roll out an update while keeping the service running. They are useful for cloud architectures which require deploying large numbers of similar VMs, or need to be elastic. A typical architecture might use a scale set for agent or worker nodes, and an availability set for master or control nodes. See https://azure.microsoft.com/en-us/services/virtual-machine-scale-sets/ for more detail.

For your question about adding a new VM to an existing AS, see Azure Resource Manager: move VM to availability group and https://gallery.technet.microsoft.com/Set-Azure-Resource-Manager-f7509ec4

like image 159
sendmarsh Avatar answered Oct 13 '22 10:10

sendmarsh


  1. The main difference is that Scale Sets have Identical VMs where in Availability Sets does not require them to be identical.

  2. Availability set, in concept, are for enhancing application availability in case one primary VM fails/needs update another VM from Fault/Update domain can be provisioned

    Scale sets on another hand, in concept, are designed for automatic scaling (horizontal) in application where load can vary extensively to fulfill more compute needs.

  3. Provisioning new VM in Azure when needed is easier for Scale sets as all other VMs are same in all aspects & replica of one golden copy.

For more details refer:

https://docs.microsoft.com/en-us/azure/virtual-machine-scale-sets/

https://docs.microsoft.com/en-us/cli/azure/vm/availability-set?view=azure-cli-latest

like image 32
Pranav Singh Avatar answered Oct 13 '22 09:10

Pranav Singh