1. Home
  2. Training Library
  3. Microsoft Azure
  4. Courses
  5. Azure Resource Manager Virtual Machines

Scale Up vs Scale Out VMs


Overview of the course
Course Intro
Course Overview
Start course
2h 17m

Azure Resource Manager Virtual Machines

Virtual Machines are a very foundational and fundamental resource in Cloud Computing. Deploying virtual machines gives you more flexibility and control over your cloud infrastructure and services, however, it also means you have more responsibility to maintain and configure these resources. This course gives you an overview of why use virtual machines as well as how to create, configure, and monitor VMs in Azure Resource Manager.

Azure Resource Manager Virtual Machines: What You'll Learn

Lesson What you'll learn
Overview Overview of the course and the Learning Objectives
What is a Virtual Machine? Understand what are Azure Virtual Machines and what workloads are ideal for VMs
Creating and Connecting to Azure VMs Learn to deploy Windows and Linux VMs as well as how to connect to these VMs
Scaling Azure Virtual Machines Understand VM scaling, load-balancing, and Availability Sets in Azure Resource Manager
Configuration Management Understand the basic concepts of Desired State Configuration and the options available to Azure VMs
Design and Implement VM Storage Gain an understanding of the underlying Storage options available to VMs as well as Encryption
Configure Monitoring & Alerts for Azure VMs Learn to monitor VMs in Azure Resource Manager as well as configure alerts.
Summary Course summary and conclusion


GitHub Code Repository



We’ll do a demo shortly on creating a Virtual Machine Scale Set but first we must understand how to use Virtual Machine Scale Sets which in a way helps to explain its purpose. We have two ways of scaling VMs: Scaling Up and Scaling Out. Scaling Up, sometimes referred to as scaling vertically, involves upgrading your virtual machine to a more powerful VM. In Azure this means resizing your VM to a higher SKU. Just like we resize standalone VMs in the Portal, we may also resize all the VMs in an entire VM Scale Set all at once.

Scaling Out is commonly referred to as scaling horizontally, meaning we keep the same VM size for all our VMs but we instead add more VM instances to our VM Scale Set in order to service resource demand.

Knowing when to scale up or scale out can be a tricky scenario. Sometimes you have a well known peak period where you can anticipate a need for higher resource capacity to keep your services running well during this peak period. Other times, however, you may have a web application which gets unexpectedly high loads of traffic early one morning which exceeds the capacity your currently running infrastructure. In both these scenarios, you would want some way to prepare for such events. This is where Autoscaling comes to play. With Autoscaling you may manipulate the Scale Out feature of Azure VM Scale Sets based on a predefined schedule or other predefined thresholds such a CPU usage. So let’s say that if CPU usage hit 80% across your currently running VMs. You may configure a threshold that says when we hit 80% CPU utilization, I want Azure to automatically spin up two additional VM instances in order to service the request. And if we then again hit 80% then spin-up two more VMs. Consequently we may say that if after a while the cpu traffic drops back down lower than say 10% CPU utilization, then we’d like to Scale-In by removing two VM instances. This is the power of VM Scale Sets and Autoscaling and now I think it’s time for a Demo putting together all that we have learned.

About the Author
Learning Paths

Chris has over 15 years of experience working with top IT Enterprise businesses.  Having worked at Google helping to launch Gmail, YouTube, Maps and more and most recently at Microsoft working directly with Microsoft Azure for both Commercial and Public Sectors, Chris brings a wealth of knowledge and experience to the team in architecting complex solutions and advanced troubleshooting techniques.  He holds several Microsoft Certifications including Azure Certifications.

In his spare time, Chris enjoys movies, gaming, outdoor activities, and Brazilian Jiu-Jitsu.