Bird
Raised Fist0
Azurecloud~30 mins

VM Scale Sets for auto scaling in Azure - Mini Project: Build & Apply

Choose your learning style10 modes available
VM Scale Sets for Auto Scaling
📋 What You'll Learn
💡 Why This Matters
🌍 Real World
Auto scaling VM Scale Sets helps applications handle changing traffic smoothly and saves costs by running only needed resources.
💼 Career
Cloud engineers and DevOps professionals use VM Scale Sets and autoscaling to build scalable, reliable cloud applications.
Progress0 / 4 steps
1
Create the VM Scale Set resource

Create an Azure VM Scale Set resource named myScaleSet in the eastus region. Use the VM size Standard_DS1_v2 and the image UbuntuLTS. Define the scale set with a capacity of 2 instances.

Azure
Hint

Use the azurerm_linux_virtual_machine_scale_set resource with the exact name myScaleSet. Set location to eastus, sku to Standard_DS1_v2, and instances to 2. Use the Ubuntu 18.04 LTS image from Canonical.

2
Add autoscale configuration variables

Create a variable called autoscale_min and set it to 2. Create another variable called autoscale_max and set it to 5. These will define the minimum and maximum number of VM instances for autoscaling.

Azure
Hint

Use Terraform variable blocks named exactly autoscale_min and autoscale_max with default values 2 and 5 respectively.

3
Add autoscale rules for CPU usage

Create an autoscale setting resource named myAutoscaleSetting linked to the VM Scale Set myScaleSet. Add a rule to increase instances by 1 when average CPU percentage is above 70% for 5 minutes. Add another rule to decrease instances by 1 when average CPU percentage is below 30% for 5 minutes.

Azure
Hint

Use the azurerm_monitor_autoscale_setting resource named myAutoscaleSetting. Link it to the VM Scale Set using target_resource_id. Add two rules: one to increase instances when CPU > 70%, and one to decrease when CPU < 30%. Use 5 minutes cooldowns.

4
Complete the autoscale setting with cooldown and default capacity

In the autoscale setting myAutoscaleSetting, ensure the default capacity is set to 2. Set the cooldown period for both scale actions to PT5M (5 minutes). Confirm the autoscale setting is fully configured with these values.

Azure
Hint

Check that the capacity block has default = "2". Both scale_action blocks should have cooldown = "PT5M".

Practice

(1/5)
1. What is the main purpose of Azure VM Scale Sets in cloud infrastructure?
easy
A. To store data permanently in the cloud
B. To create a single virtual machine with fixed resources
C. To automatically adjust the number of virtual machines based on demand
D. To manage user access and permissions

Solution

  1. Step 1: Understand VM Scale Sets function

    VM Scale Sets allow running multiple VMs that can increase or decrease automatically.
  2. Step 2: Identify the main benefit

    This automatic adjustment helps handle changes in workload efficiently.
  3. Final Answer:

    To automatically adjust the number of virtual machines based on demand -> Option C
  4. Quick Check:

    Auto scaling = Adjust VM count [OK]
Hint: Think 'auto' means adjusting VM count automatically [OK]
Common Mistakes:
  • Confusing VM Scale Sets with storage services
  • Thinking it manages user permissions
  • Assuming it creates only one VM
2. Which of the following is the correct way to define an autoscale rule in Azure VM Scale Sets to add instances when CPU usage is above 70%?
easy
A. Set a rule to add instances when CPU > 70% using metric 'Percentage CPU' and operator 'GreaterThan' with threshold 70
B. Set a rule to decrease instances when CPU > 70%
C. Set a rule to add instances when CPU < 70% using metric 'Percentage CPU' and operator 'LessThan' with threshold 70
D. Set a rule to add instances when memory usage > 70% ignoring CPU metrics

Solution

  1. Step 1: Identify correct metric and operator

    The autoscale rule should trigger when CPU usage is greater than 70%, so metric 'Percentage CPU' and operator 'GreaterThan' are correct.
  2. Step 2: Confirm action to add instances

    The rule must add instances when the condition is met, not decrease or use wrong metrics.
  3. Final Answer:

    Set a rule to add instances when CPU > 70% using metric 'Percentage CPU' and operator 'GreaterThan' with threshold 70 -> Option A
  4. Quick Check:

    CPU > 70% triggers add instances [OK]
Hint: Match metric and operator to condition exactly [OK]
Common Mistakes:
  • Using 'LessThan' instead of 'GreaterThan'
  • Confusing CPU with memory metrics
  • Setting decrease action instead of add
3. Given this autoscale rule for a VM Scale Set:
{
  "metricTrigger": {
    "metricName": "Percentage CPU",
    "operator": "GreaterThan",
    "threshold": 80
  },
  "scaleAction": {
    "direction": "Increase",
    "value": "2"
  }
}

What happens when CPU usage goes above 80%?
medium
A. The VM Scale Set decreases by 2 instances
B. The VM Scale Set increases by 2 instances
C. The VM Scale Set stays the same
D. The VM Scale Set increases by 1 instance

Solution

  1. Step 1: Analyze metric trigger

    The rule triggers when CPU usage is greater than 80%.
  2. Step 2: Analyze scale action

    The action is to increase the VM count by 2 instances.
  3. Final Answer:

    The VM Scale Set increases by 2 instances -> Option B
  4. Quick Check:

    CPU > 80% triggers increase by 2 [OK]
Hint: Look for 'Increase' and 'value' in scaleAction [OK]
Common Mistakes:
  • Confusing increase with decrease
  • Ignoring the value number
  • Assuming default increase of 1
4. You configured an autoscale rule to add 1 instance when CPU usage is above 60%, but the VM Scale Set never scales out. What is the most likely error?
medium
A. The metric name is misspelled or incorrect
B. The scale action direction is set to 'Decrease'
C. The threshold is set to 10 instead of 60
D. The VM Scale Set has no instances initially

Solution

  1. Step 1: Check metric name correctness

    If the metric name is wrong, the rule never triggers because it can't read CPU usage.
  2. Step 2: Verify other options

    Direction 'Decrease' would scale down, threshold 10 is too low but would still trigger, and initial instances are usually at least one.
  3. Final Answer:

    The metric name is misspelled or incorrect -> Option A
  4. Quick Check:

    Wrong metric name blocks scaling [OK]
Hint: Always verify metric names exactly match Azure docs [OK]
Common Mistakes:
  • Setting wrong scale direction
  • Ignoring metric name spelling
  • Assuming zero initial instances
5. You want to configure a VM Scale Set to maintain between 3 and 10 instances. It should add 2 instances when average CPU is above 75% and remove 1 instance when CPU is below 30%. Which setup correctly achieves this?
hard
A. Set minimum 5, maximum 15 instances; add 2 when CPU < 30%; remove 1 when CPU > 75%
B. Set minimum 1, maximum 5 instances; add 1 when CPU > 75%; remove 2 when CPU < 30%
C. Set minimum 3, maximum 10 instances; add 1 when CPU > 30%; remove 2 when CPU < 75%
D. Set minimum 3, maximum 10 instances; add 2 when CPU > 75%; remove 1 when CPU < 30%

Solution

  1. Step 1: Confirm instance limits

    The requirement is minimum 3 and maximum 10 instances, so only Set minimum 3, maximum 10 instances; add 2 when CPU > 75%; remove 1 when CPU < 30% matches this.
  2. Step 2: Check autoscale rules

    Set minimum 3, maximum 10 instances; add 2 when CPU > 75%; remove 1 when CPU < 30% adds 2 instances when CPU > 75% and removes 1 when CPU < 30%, exactly as required.
  3. Final Answer:

    Set minimum 3, maximum 10 instances; add 2 when CPU > 75%; remove 1 when CPU < 30% -> Option D
  4. Quick Check:

    Limits and rules match requirements [OK]
Hint: Match min/max and scale rules exactly to requirements [OK]
Common Mistakes:
  • Mixing up CPU thresholds for add/remove
  • Setting wrong min or max instance counts
  • Reversing scale directions
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard