Managing virtual machines at scale can be a challenge, especially when usage patterns vary and demands on applications fluctuate. You want to be able to adjust your virtual machine resources to match demands. At the same time, you might want to keep the virtual machine configuration consistent to ensure application stability. Achieving these goals means you maintain throughput and responsiveness while minimizing the costs of continually running a large collection of virtual machines.

Imagine that you work for a domestic shipping company. Your customers use one of the company's websites to manage and check the status of their shipments. This website is deployed to virtual machines and hosted on-premises. You noticed that increased usage on the site is straining the virtual machines' resources. However, you can't adjust to load fluctuations without manually intervening and creating or deallocating virtual machines.

You decide to move the application to Azure. You need a solution that automatically handles load fluctuations and ensures consistent performance of the website. You also need to quickly roll out application updates to the servers while minimizing the effect on end users.

In this module, you learn how a Virtual Machine Scale Set helps address these challenges of load balancing a web application.

Learning objectives

In this module, you learn to:

  • Identify the features and capabilities of Virtual Machine Scale Sets.
  • Identify the use cases for running applications on Virtual Machine Scale Sets.
  • Deploy an application on a Virtual Machine Scale Set.


  • Basic knowledge of Azure virtual machines
  • Basic knowledge of load-balancing concepts