1. Home
  2. Training Library
  3. Microsoft Azure
  4. Courses
  5. Developing for Autoscaling on Azure

Autoscaling Overview

Autoscaling Overview

Develop your skills for autoscaling on Azure with this course from Cloud Academy. Learn how to improve your teams and development skills and understand how they relate to scalable solutions. What's more, in this course you can analyze and execute how to deal with transient faults.

This Course is made up of 19 lectures that will guide you through the process from beginning to end. 

To discover more Azure Courses visit our content training library.

Learning Objectives

  • Learn how to develop applications for autoscale
  • Prepare for the Azure AZ-303 certification
  • Design and Implement code that addresses singleton application instances


Intended Audience

This course is recommended for:

  • IT Professionals preparing for Azure certification
  • IT Professionals that need to develop applications that can autoscale


There are no prior requirements necessary in order to do this training course, although an understanding of MS Azure will prove helpful



The term autoscaling refers to the process of automatically allocating resources in order to allow an application to meet performance requirements. As the amount of work grows, applications sometimes need additional resources to maintain a desired level of performance and to satisfy service-level agreements. As workloads decrease additional resources are no longer necessary. As such, those resources can be deallocated in order to minimize costs. By taking advantage of elasticity of cloud-hosted environments, such as Azure, autoscaling eases management overhead by reducing the need for an administrator to constantly monitor an application or systems performance and to make decisions about modifying resources. There are two key ways that an application can scale. These include vertical scaling and horizontal scaling. Vertical scaling is often referred to as scaling up and down. 

This type of scaling refers to changing capacity for a resource. For example, a vertical scaling would be moving an application to a larger virtual machine. Vertical scaling, as a rule of thumb, generally requires that a system experience some amount of downtime while the system is being redeployed with the upgraded resources. As such, vertical scaling is not typically automated. Horizontal scaling is referred to as scaling out and in. This typically refers to the addition or removal of instances of a resource or application. Horizontal scaling allows an application to continue running without any downtime while new resources are provisioned for it. After additional resources are provisioned, the application or solution is then deployed across the new resources. If the demand for the application or resource drops at any point, these additional resources can then be deallocated and removed cleanly. Most cloud systems, including Microsoft Azure, offer support for horizontal scaling. It's also important to note that autoscaling typically applies to computer resources. Although a database or message queue can be horizontally scaled, this typically involves data partitioning, which is often not automated. 

A functional autoscaling strategy often involves monitoring systems at the application, service, and infrastructure levels. The systems capture key metrics that can include response times, CPU utilization, memory utilization, and other key metrics. An autoscaling strategy also involves decision-making logic that evaluates these metrics against predefined thresholds or against predefined schedules. This decision-making logic then decides whether or not to scale. The actual components that scale the system are also an important piece to an overall autoscaling strategy, as are testing, monitoring, and tuning of the autoscale strategy. This ensures that the autoscaling solution functions as expected. Microsoft Azure offers built-in autoscaling mechanisms that are useful for addressing these common scenarios.

About the Author
Learning Paths

Tom is a 25+ year veteran of the IT industry, having worked in environments as large as 40k seats and as small as 50 seats. Throughout the course of a long an interesting career, he has built an in-depth skillset that spans numerous IT disciplines. Tom has designed and architected small, large, and global IT solutions.

In addition to the Cloud Platform and Infrastructure MCSE certification, Tom also carries several other Microsoft certifications. His ability to see things from a strategic perspective allows Tom to architect solutions that closely align with business needs.

In his spare time, Tom enjoys camping, fishing, and playing poker.