Bird
Raised Fist0
Azurecloud~10 mins

Spot VMs for cost savings in Azure - Interactive Code Practice

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to create a Spot VM by setting the eviction policy.

Azure
az vm create --resource-group myResourceGroup --name mySpotVM --image UbuntuLTS --priority [1]
Drag options to blanks, or click blank then click option'
ASpot
Bregular
Clow
Dhigh
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'regular' or 'low' instead of 'Spot' for priority.
Omitting the priority flag.
2fill in blank
medium

Complete the code to set the eviction policy to delete for the Spot VM.

Azure
az vm create --resource-group myResourceGroup --name mySpotVM --image UbuntuLTS --priority Spot --eviction-policy [1]
Drag options to blanks, or click blank then click option'
Adelete
Bpause
Cstop
Dretain
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'stop' which only deallocates the VM but does not delete it.
Using 'retain' which keeps the VM but may incur costs.
3fill in blank
hard

Fix the error in the code to specify the maximum price for the Spot VM.

Azure
az vm create --resource-group myResourceGroup --name mySpotVM --image UbuntuLTS --priority Spot --max-price [1]
Drag options to blanks, or click blank then click option'
A0
Bnone
C1
D-1
Attempts:
3 left
💡 Hint
Common Mistakes
Using 0 which means no price is accepted and VM won't start.
Using 'none' which is invalid.
4fill in blank
hard

Fill both blanks to configure a Spot VM with eviction policy and max price.

Azure
az vm create --resource-group myResourceGroup --name mySpotVM --image UbuntuLTS --priority [1] --eviction-policy [2]
Drag options to blanks, or click blank then click option'
ASpot
Bdelete
Cstop
Dregular
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'regular' priority which creates a normal VM.
Using 'stop' eviction policy which only deallocates the VM.
5fill in blank
hard

Fill all three blanks to create a Spot VM with max price, eviction policy, and priority.

Azure
az vm create --resource-group myResourceGroup --name mySpotVM --image UbuntuLTS --priority [1] --eviction-policy [2] --max-price [3]
Drag options to blanks, or click blank then click option'
ASpot
Bdelete
C-1
Dregular
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'regular' priority which is not a Spot VM.
Using 'stop' eviction policy which only deallocates VM.
Using '0' or other invalid max price values.

Practice

(1/5)
1. What is the main benefit of using Azure Spot VMs?
easy
A. They automatically scale without any configuration.
B. They guarantee 100% uptime for critical applications.
C. They provide cheaper compute by using spare capacity.
D. They offer unlimited storage space for virtual machines.

Solution

  1. Step 1: Understand Spot VM purpose

    Spot VMs use unused cloud capacity to offer lower prices.
  2. Step 2: Compare benefits

    Unlike regular VMs, Spot VMs are cheaper but can be evicted when capacity is needed.
  3. Final Answer:

    They provide cheaper compute by using spare capacity. -> Option C
  4. Quick Check:

    Spot VMs = cheaper compute [OK]
Hint: Spot VMs save cost by using spare capacity [OK]
Common Mistakes:
  • Thinking Spot VMs guarantee uptime
  • Confusing Spot VMs with auto-scaling
  • Assuming Spot VMs provide extra storage
2. Which of the following is the correct way to set a Spot VM priority in Azure CLI?
easy
A. az vm create --priority High
B. az vm create --priority Spot
C. az vm create --spot-priority true
D. az vm create --enable-spot

Solution

  1. Step 1: Recall Azure CLI syntax for Spot VMs

    The correct parameter to set Spot VM priority is --priority Spot.
  2. Step 2: Evaluate options

    The other options use incorrect or non-existent flags.
  3. Final Answer:

    az vm create --priority Spot -> Option B
  4. Quick Check:

    Spot VM priority flag = --priority Spot [OK]
Hint: Use --priority Spot to create Spot VMs [OK]
Common Mistakes:
  • Using incorrect flags like --spot-priority
  • Setting priority to High instead of Spot
  • Assuming --enable-spot is valid
3. Consider this Azure CLI command to create a Spot VM:
az vm create --name mySpotVM --image UbuntuLTS --priority Spot --max-price 0.05
What happens if the current Spot price exceeds 0.05 USD/hour?
medium
A. The VM is converted to a regular VM automatically.
B. The VM continues running at the higher price.
C. The VM price is capped at 0.05 USD/hour but runs normally.
D. The VM is evicted (stopped) automatically.

Solution

  1. Step 1: Understand max-price setting

    The max-price limits the Spot VM cost; if price rises above it, eviction occurs.
  2. Step 2: Analyze behavior when price exceeds max-price

    Spot VMs are stopped or deallocated automatically when price exceeds max-price.
  3. Final Answer:

    The VM is evicted (stopped) automatically. -> Option D
  4. Quick Check:

    Price > max-price = VM eviction [OK]
Hint: Spot VM stops if price goes above max-price [OK]
Common Mistakes:
  • Thinking VM keeps running at higher price
  • Assuming price is capped automatically
  • Believing VM converts to regular VM
4. You tried to create a Spot VM with this command:
az vm create --name testVM --image UbuntuLTS --priority Spot --max-price -2
What is the issue with this command?
medium
A. max-price cannot be negative; it causes an error.
B. Priority Spot is invalid syntax.
C. Image UbuntuLTS is not supported for Spot VMs.
D. VM name testVM is reserved and cannot be used.

Solution

  1. Step 1: Check max-price parameter rules

    max-price must be greater than or equal to -1; other negative values are invalid.
  2. Step 2: Identify error cause

    Using -2 for max-price causes a validation error during VM creation.
  3. Final Answer:

    max-price cannot be negative; it causes an error. -> Option A
  4. Quick Check:

    max-price < -1 = error [OK]
Hint: max-price must be >= -1 [OK]
Common Mistakes:
  • Using negative max-price values
  • Thinking Spot priority syntax is wrong
  • Assuming UbuntuLTS is unsupported
5. You want to run a batch job that can pause and resume without losing progress. Which Spot VM configuration helps minimize cost while ensuring the job restarts automatically if evicted?
hard
A. Set VM priority to Spot, max-price to a low value, and enable automatic redeployment.
B. Use regular VMs with high priority and no max-price limit.
C. Set VM priority to Spot with max-price set to -1 to avoid eviction.
D. Use Spot VMs without max-price and disable automatic redeployment.

Solution

  1. Step 1: Choose Spot VM with cost control

    Setting priority to Spot and max-price low saves cost but risks eviction.
  2. Step 2: Enable automatic redeployment

    Automatic redeployment restarts the VM if evicted, ensuring job resumes.
  3. Final Answer:

    Set VM priority to Spot, max-price to a low value, and enable automatic redeployment. -> Option A
  4. Quick Check:

    Spot + max-price + auto redeploy = cost saving + restart [OK]
Hint: Spot + low max-price + auto redeploy = cost + restart [OK]
Common Mistakes:
  • Using negative max-price to avoid eviction
  • Disabling automatic redeployment
  • Choosing regular VMs for cost savings