1

I am new to azure & learning to design application in Azure.

The question might be too naive for someone but I am really confused.

Do availability set are also required when we have scale set or scale set is enough for High availability & automatic scaling both ?

I know both Scale Set & availability set have fault domain & update domain and VMs configured in them & also I know differences among both, but question is both are architecture pattern only or real components in term of architecture?

Pranav Singh
  • 17,079
  • 30
  • 77
  • 104

3 Answers3

1

Scale sets include availability sets. So you dont have to créate one. VMSS behaves as a set of VMs in the same AV set.

AV set is not a component in Azure. Its just a lógical grouping.

4c74356b41
  • 69,186
  • 6
  • 100
  • 141
  • So if I set availability set with all similar vms & have many vms available in availability set then it works as both for availability & scaling if autoscalling is enabled? – Pranav Singh Jan 15 '18 at 11:15
  • well, except for the fact that it wont be able to provision new vms - yes. it will be able to do all of that – 4c74356b41 Jan 15 '18 at 11:18
  • Little bit clear but little bit more confusion. So my application can scale upto no. of systems configured in availability set & that can not be increased after? Also is that means all vms will be provisioned in start & will cost all the time even if one is used? – Pranav Singh Jan 15 '18 at 14:15
  • 1
    no, it means that, contrary to vmss, it wont autoscale beyond what you preconfigured. and shutdowned\deallocated vms dont cost money – 4c74356b41 Jan 15 '18 at 14:21
1

A scale set (VMSS) is an implicit availability set. The difference to an availability set is that a scale set has a central definition (the "model") which defines VM characteristics. This means that all the VMs are created from the same OS disk and configuration, and it is easy to change the number of VMs in the set by changing the "capacity" property. Changing the capacity results in VMs being deleted or created while maintaining high availability (an even spread across fault domains, i.e. physically separate racks in the DC).

VMSS is the only way to do autoscaling in Azure Resource Manager. In the older Cloud Services deployment model, autoscale involved starting/stopping VMs in an Availability Set. In Azure Resource Manager autoscale involves adding/removing VMs to a scale set.

You can create a scale set with a capacity of 0, or up to 1000. If you are using autoscale, you can configure a max, min and default number in the autoscale settings.

In Azure Resource Manager, you'd typically create an availability set if you have a need for your VMs to have their own specific names (rather than a name prefix and a number, which scale set VMs have), or you need VMs to be configured differently by design rather than temporarily (e.g. when rolling out a configuration change across the set).

You'd create a scale set if you want to do autoscale, or if it makes more sense for your app for the VMs to be centrally configured, or if you want to do operations against a set of VMs. E.g. starting 100 VMs is a single command if they are part of a scale set.

sendmarsh
  • 1,046
  • 7
  • 11
1

Best answer I got is from this link: Difference between Azure Scale Set and Availability Sets

Basically, they are very similar. Scale sets also have fault domains and update domains, but the VM's will be identical, and can create new ones on the fly when the need arises. Availability sets provide HA, but there is no scaling, and the VM's are not necessarily identical, they might be configured individually and/or differently.

Lenard Bartha
  • 348
  • 1
  • 9