alphaspirit - Fotolia
When should I use Azure VM Scale Sets?
Microsoft Azure VM Scale Sets help cloud admins manage a collection of VMs as a single unit. But what workloads are they best suited for?
Microsoft Azure VM Scale Sets are collections of virtual machines that can be managed as a single unit. They are especially useful for stateless applications with varying workloads, such as customer-facing Web and mobile applications, and for big data analytics applications that require distributed processing across multiple virtual machines.
Virtual machines in a scale set are all configured in the same way. Cloud administrators define the configuration of a scale set using a JSON configuration file, and can also use templates. The configuration file specifies parameters such as the number of instances to include in the scale set, administrator username and password, and account name.
In addition to defining the virtual machine configurations, administrators must also specify network configurations, such as subnets, and other components, such as load balancers and storage. Public IP addresses can be specified, as well.
Although virtual machines are deployed as a group, administrators can still directly connect to individual virtual machines as needed. This is enabled through a port-mapping specification in the configuration file.
Admins can define Azure VM Scale Sets in the Azure console, or by using the command-line interface and Microsoft PowerShell. Scale sets are available with both Windows and Linux operating systems.
When scale sets are integrated with Azure Insights Autoscale, resources can scale up and down as workloads change.
Azure VM Scale Sets are similar to AWS Elastic Beanstalk, which enables the deployment of a complete stack of resources -- such as Web servers, network address translation servers, application servers and database servers -- as a unit. The Elastic Beanstalk service also manages the provisioning process and monitors the health of components in the stack.