Bird
Raised Fist0
GCPcloud~10 mins

Why Compute Engine provides VM flexibility in GCP - Test Your Understanding

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 specify the machine type for a VM instance.

GCP
machine_type = "zones/us-central1-a/machineTypes/[1]"
Drag options to blanks, or click blank then click option'
An1-standard-1
Bstandard-1
Cvm-standard-1
Dtype-n1-standard-1
Attempts:
3 left
💡 Hint
Common Mistakes
Using incomplete or incorrect machine type names.
Omitting the 'n1-' prefix.
2fill in blank
medium

Complete the code to create a custom VM with specific CPU and memory.

GCP
custom_machine = f"custom-[1]"  # CPUs and memory in MB
Drag options to blanks, or click blank then click option'
A4-8192
B4,8192
C4_8192
D4x8192
Attempts:
3 left
💡 Hint
Common Mistakes
Using commas or other separators instead of dashes.
Confusing memory units.
3fill in blank
hard

Fix the error in the code to set the number of CPUs for a custom VM.

GCP
custom_cpu = int([1])  # Number of CPUs as integer
Drag options to blanks, or click blank then click option'
A'four'
B4.0
C4
D"4"
Attempts:
3 left
💡 Hint
Common Mistakes
Passing float values to int() causing errors.
Using non-numeric strings.
4fill in blank
hard

Fill both blanks to create a VM instance with a custom machine type and zone.

GCP
instance_config = {
  "machineType": "zones/[1]/machineTypes/custom-4-8192",
  "zone": "[2]"
}
Drag options to blanks, or click blank then click option'
Aus-central1-a
Beurope-west1-b
Casia-east1-c
Dus-west1-b
Attempts:
3 left
💡 Hint
Common Mistakes
Using different zones in machineType and zone fields.
Using invalid zone names.
5fill in blank
hard

Fill all three blanks to define a VM instance with custom CPU, memory, and zone.

GCP
vm_instance = {
  "machineType": "zones/[1]/machineTypes/custom-[2]-[3]",
  "name": "custom-vm-1"
}
Drag options to blanks, or click blank then click option'
Aus-east1-b
B6
C12288
Dus-west1-a
Attempts:
3 left
💡 Hint
Common Mistakes
Mixing zone names or using invalid zones.
Using non-numeric CPU or memory values.

Practice

(1/5)
1. Why does Google Compute Engine offer flexibility in choosing virtual machine (VM) sizes?
easy
A. To force users to use only fixed VM sizes
B. To limit the number of VMs a user can create
C. To let users pick VM sizes that best fit their workload needs
D. To prevent users from changing VM settings after creation

Solution

  1. Step 1: Understand Compute Engine VM sizing

    Compute Engine allows users to select VM sizes that match their workload requirements, such as CPU and memory.
  2. Step 2: Recognize the benefit of flexibility

    This flexibility helps users optimize performance and cost by choosing the right VM size.
  3. Final Answer:

    To let users pick VM sizes that best fit their workload needs -> Option C
  4. Quick Check:

    VM size flexibility = pick best fit [OK]
Hint: Flexibility means choosing VM size that fits your needs [OK]
Common Mistakes:
  • Thinking VM sizes are fixed and cannot be changed
  • Believing flexibility limits VM creation
  • Confusing flexibility with VM quantity limits
2. Which of the following is the correct way to change the machine type of a VM in Compute Engine using gcloud CLI?
easy
A. gcloud compute vm update INSTANCE_NAME --machine NEW_TYPE
B. gcloud compute instances change-type INSTANCE_NAME --type NEW_TYPE
C. gcloud compute instances modify INSTANCE_NAME --machine-type NEW_TYPE
D. gcloud compute instances set-machine-type INSTANCE_NAME --machine-type NEW_TYPE

Solution

  1. Step 1: Recall gcloud command for changing machine type

    The correct command uses 'set-machine-type' to change the VM's machine type.
  2. Step 2: Verify command syntax

    gcloud compute instances set-machine-type INSTANCE_NAME --machine-type NEW_TYPE matches the correct syntax: 'gcloud compute instances set-machine-type INSTANCE_NAME --machine-type NEW_TYPE'.
  3. Final Answer:

    gcloud compute instances set-machine-type INSTANCE_NAME --machine-type NEW_TYPE -> Option D
  4. Quick Check:

    Change machine type command = set-machine-type [OK]
Hint: Use 'set-machine-type' to change VM size with gcloud [OK]
Common Mistakes:
  • Using incorrect verbs like 'change-type' or 'modify'
  • Mixing VM commands with wrong flags
  • Assuming 'vm update' is valid gcloud syntax
3. Consider this Python snippet using Google Cloud SDK to list machine types in a zone:
from google.cloud import compute_v1
client = compute_v1.MachineTypesClient()
machine_types = client.list(project='my-project', zone='us-central1-a')
for mt in machine_types:
    if mt.name == 'n1-standard-1':
        print(mt.memory_mb)
What will this code output?
medium
A. The memory size in MB of the 'n1-standard-1' machine type
B. The CPU count of the 'n1-standard-1' machine type
C. An error because 'memory_mb' is not a valid attribute
D. No output because the loop never finds 'n1-standard-1'

Solution

  1. Step 1: Understand the code logic

    The code lists machine types in the specified zone and checks for the one named 'n1-standard-1'.
  2. Step 2: Identify the output for matching machine type

    When it finds 'n1-standard-1', it prints the memory size in MB, which is a valid attribute.
  3. Final Answer:

    The memory size in MB of the 'n1-standard-1' machine type -> Option A
  4. Quick Check:

    Print memory_mb for 'n1-standard-1' = memory size [OK]
Hint: Look for matching name, then print memory_mb attribute [OK]
Common Mistakes:
  • Confusing memory_mb with CPU count
  • Assuming attribute 'memory_mb' does not exist
  • Thinking loop won't find the machine type
4. A user tries to resize a Compute Engine VM but gets an error. The command used is:
gcloud compute instances set-machine-type my-vm --machine-type n1-standard-4
What is the most likely cause of the error?
medium
A. The VM must be stopped before changing its machine type
B. The machine type 'n1-standard-4' does not exist
C. The command syntax is incorrect
D. The user does not have permission to list machine types

Solution

  1. Step 1: Recall Compute Engine resizing rules

    To change a VM's machine type, the VM must be stopped first.
  2. Step 2: Analyze the error cause

    If the VM is running, the command will fail with an error about the VM state.
  3. Final Answer:

    The VM must be stopped before changing its machine type -> Option A
  4. Quick Check:

    Stop VM before resize = required [OK]
Hint: Stop VM before resizing machine type [OK]
Common Mistakes:
  • Assuming machine type name is invalid
  • Thinking command syntax is wrong
  • Ignoring VM running state requirement
5. You want to optimize costs by resizing your Compute Engine VM based on workload changes. Which approach best uses Compute Engine's flexibility features?
hard
A. Manually delete and recreate VMs with different sizes every time workload changes
B. Use custom machine types and resize VM during low and high workload periods
C. Use only predefined machine types and never change VM size after creation
D. Create multiple fixed-size VMs and keep them all running constantly

Solution

  1. Step 1: Understand Compute Engine flexibility

    Compute Engine allows custom machine types and resizing VMs to match workload needs.
  2. Step 2: Identify cost optimization strategy

    Resizing VMs during workload changes saves cost and improves efficiency compared to fixed or manual recreation.
  3. Final Answer:

    Use custom machine types and resize VM during low and high workload periods -> Option B
  4. Quick Check:

    Resize VM with custom types for cost saving [OK]
Hint: Resize VMs with custom types to match workload [OK]
Common Mistakes:
  • Keeping all VMs running regardless of workload
  • Avoiding resizing after creation
  • Deleting and recreating VMs manually often