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
Using Preemptible and Spot VMs on Google Cloud
📖 Scenario: You are managing a cloud project on Google Cloud Platform (GCP). You want to save costs by using special virtual machines called Preemptible and Spot VMs. These VMs are cheaper but can be stopped by Google at any time. You will create a simple configuration to launch a Spot VM instance.
🎯 Goal: Build a Google Cloud VM instance configuration that uses a Spot VM to reduce costs. You will create the basic VM setup, add a config for Spot VM usage, apply the core VM creation logic, and finalize the configuration with the required properties.
📋 What You'll Learn
Create a VM instance configuration dictionary with a name and machine type
Add a config variable to specify the VM as a Spot VM
Use the core logic to include the Spot VM configuration in the instance
Complete the configuration with the required scheduling property for Spot VMs
💡 Why This Matters
🌍 Real World
Many companies use Spot or Preemptible VMs to save money on cloud costs for batch jobs, testing, or flexible workloads.
💼 Career
Understanding how to configure Spot VMs is useful for cloud engineers and developers aiming to optimize cloud infrastructure costs.
Progress0 / 4 steps
1
Create the basic VM instance configuration
Create a dictionary called vm_instance with these exact entries: 'name': 'cost-saving-vm' and 'machine_type': 'e2-medium'.
GCP
Hint
Think of vm_instance as a simple dictionary holding the VM's name and type.
2
Add the Spot VM configuration variable
Create a variable called spot_config and set it to a dictionary with the key 'preemptible' set to True.
GCP
Hint
This config tells Google Cloud to treat the VM as a Spot VM that can be stopped anytime.
3
Add the Spot VM config to the VM instance
Add a new key 'scheduling' to the vm_instance dictionary and set its value to the spot_config dictionary.
GCP
Hint
This step links the Spot VM settings to the VM instance configuration.
4
Complete the VM configuration with required Spot VM property
Add the key 'on_host_maintenance' with the value 'TERMINATE' inside the spot_config dictionary to complete the Spot VM scheduling configuration.
GCP
Hint
This property ensures the VM stops properly when Google Cloud needs to maintain the host.
Practice
(1/5)
1. What is the main advantage of using Preemptible or Spot VMs in Google Cloud?
easy
A. They offer unlimited storage capacity
B. They provide guaranteed uptime for critical applications
C. They cost less but can be stopped at any time
D. They automatically scale without user input
Solution
Step 1: Understand the cost and availability trade-off
Preemptible and Spot VMs are cheaper because Google can stop them anytime to reclaim resources.
Step 2: Identify the main benefit
The main benefit is cost savings with the risk of interruption, not guaranteed uptime or unlimited storage.
Final Answer:
They cost less but can be stopped at any time -> Option C
Quick Check:
Cost savings with interruptions = D [OK]
Hint: Cheaper VMs can be stopped anytime, so cost saving is main benefit [OK]
Common Mistakes:
Thinking they guarantee uptime
Assuming they scale automatically
Confusing with storage features
2. Which of the following is the correct way to specify a Spot VM in a Google Cloud VM creation command?
easy
A. gcloud compute instances create my-vm --spot
B. gcloud compute instances create my-vm --interruptible
C. gcloud compute instances create my-vm --preemptible
D. gcloud compute instances create my-vm --ephemeral
Solution
Step 1: Recall the flag for Spot VMs
Spot VMs use the flag --spot in the gcloud command.
Step 2: Differentiate from Preemptible flag
--preemptible is for older Preemptible VMs, --spot is the newer recommended option.
Final Answer:
gcloud compute instances create my-vm --spot -> Option A
Quick Check:
Spot VM flag = --spot [OK]
Hint: Spot VMs use --spot flag, not --preemptible [OK]
Common Mistakes:
Using --preemptible for Spot VMs
Confusing --interruptible as a flag
Using unrelated flags like --ephemeral
3. Consider this snippet of a VM creation command: gcloud compute instances create test-vm --zone=us-central1-a --spot --machine-type=e2-medium What will happen if Google Cloud needs the resources back?
medium
A. The VM will automatically migrate to another zone
B. The VM will continue running without interruption
C. The VM will be stopped immediately without warning
D. The VM will receive a 30-second warning before stopping
Solution
Step 1: Understand Spot VM behavior on resource reclamation
Spot VMs are interruptible but Google Cloud sends a 30-second warning before stopping them.
Step 2: Eliminate other options
Immediate stop without warning is incorrect; automatic migration does not happen for Spot VMs; uninterrupted running contradicts the interruptible nature.
Final Answer:
The VM will receive a 30-second warning before stopping -> Option D
Quick Check:
Spot VMs get 30-second warning before stop = A [OK]
Hint: Spot VMs get 30-second warning before stopping [OK]
Common Mistakes:
Assuming immediate stop without warning
Thinking Spot VMs migrate automatically
Believing Spot VMs never stop
4. You created a VM with the command: gcloud compute instances create my-vm --preemptible --zone=us-east1-b But you want to switch to Spot VM instead. What is the correct fix?
medium
A. Add --spot flag without removing --preemptible
B. Replace --preemptible with --spot in the command
C. Change the zone to a Spot-only zone
D. Use --interruptible flag instead of --preemptible
Solution
Step 1: Identify the correct flag for Spot VMs
Spot VMs require the --spot flag, not --preemptible.
Step 2: Correct the command by replacing flags
Remove --preemptible and add --spot to switch VM type.
Final Answer:
Replace --preemptible with --spot in the command -> Option B
Quick Check:
Switching VM type requires flag replacement = B [OK]
Hint: Remove --preemptible, add --spot to switch VM type [OK]
Common Mistakes:
Adding --spot without removing --preemptible
Changing zone expecting Spot-only zones
Using non-existent --interruptible flag
5. You want to run a batch job that can tolerate interruptions and save costs. Which approach best uses Spot VMs to handle sudden stops and restarts?
hard
A. Design the job to save progress frequently and restart automatically on VM preemption
B. Use Spot VMs without any checkpointing or restart logic
C. Run the job on standard VMs to avoid interruptions
D. Use Spot VMs but disable automatic restarts
Solution
Step 1: Understand Spot VM interruption nature
Spot VMs can stop anytime, so jobs must handle interruptions gracefully.