Bird
Raised Fist0
GCPcloud~5 mins

Compute commands (instances, disks) in GCP - Time & Space Complexity

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
Time Complexity: Compute commands (instances, disks)
O(n)
Understanding Time Complexity

When using compute commands to manage instances and disks, it's important to know how the number of commands grows as you manage more resources.

We want to understand how the total work changes when we increase the number of instances or disks.

Scenario Under Consideration

Analyze the time complexity of the following operation sequence.

for instance in instances:
  gcloud compute instances start $instance

for disk in disks:
  gcloud compute disks create $disk --size=100GB

for instance in instances:
  gcloud compute instances attach-disk $instance --disk=${instance}-disk

This sequence starts multiple instances, creates multiple disks, and attaches disks to instances one by one.

Identify Repeating Operations

Identify the API calls, resource provisioning, data transfers that repeat.

  • Primary operation: Starting instances, creating disks, attaching disks
  • How many times: Each operation runs once per instance or disk, so the number of calls grows with the number of resources.
How Execution Grows With Input

As you add more instances and disks, the number of commands grows roughly in direct proportion.

Input Size (n)Approx. Api Calls/Operations
10About 30 (10 starts + 10 creates + 10 attaches)
100About 300 (100 starts + 100 creates + 100 attaches)
1000About 3000 (1000 starts + 1000 creates + 1000 attaches)

Pattern observation: The total operations increase linearly as the number of instances and disks increase.

Final Time Complexity

Time Complexity: O(n)

This means the total commands grow directly with the number of instances and disks you manage.

Common Mistake

[X] Wrong: "Starting or creating multiple resources happens all at once, so time stays the same no matter how many."

[OK] Correct: Each command runs separately, so more resources mean more commands and more time overall.

Interview Connect

Understanding how command counts grow helps you plan and explain resource management clearly in real projects.

Self-Check

"What if we attached multiple disks to each instance instead of one? How would the time complexity change?"

Practice

(1/5)
1. What does the command gcloud compute instances list do?
easy
A. It shows all virtual machines in your project.
B. It creates a new virtual machine.
C. It deletes a virtual machine.
D. It attaches a disk to a virtual machine.

Solution

  1. Step 1: Understand the command purpose

    The command gcloud compute instances list is used to display existing virtual machines in your project.
  2. Step 2: Compare with other options

    Creating, deleting, or attaching disks require different commands, not this one.
  3. Final Answer:

    It shows all virtual machines in your project. -> Option A
  4. Quick Check:

    List instances = show VMs [OK]
Hint: List commands show current resources, not create or delete [OK]
Common Mistakes:
  • Confusing list with create or delete commands
  • Not specifying resource type
  • Assuming it modifies resources
2. Which of the following is the correct syntax to create a new VM instance named web-server in zone us-central1-a?
easy
A. gcloud instances create web-server --zone=us-central1-a
B. gcloud create instance web-server zone us-central1-a
C. gcloud compute instances create web-server --zone=us-central1-a
D. gcloud compute create instance web-server --zone us-central1-a

Solution

  1. Step 1: Identify correct command structure

    The correct command starts with gcloud compute instances create followed by the instance name and zone flag.
  2. Step 2: Check option syntax

    gcloud compute instances create web-server --zone=us-central1-a matches the correct syntax exactly with proper flags and order.
  3. Final Answer:

    gcloud compute instances create web-server --zone=us-central1-a -> Option C
  4. Quick Check:

    Create instance syntax = gcloud compute instances create web-server --zone=us-central1-a [OK]
Hint: Remember: 'gcloud compute instances create' + name + --zone [OK]
Common Mistakes:
  • Mixing order of words in command
  • Omitting 'compute' or 'instances'
  • Using wrong flag format
3. What will be the output of the command gcloud compute disks list --filter="zone:(us-central1-a)" if there are two disks named disk1 and disk2 in zone us-central1-a and one disk named disk3 in zone us-east1-b?
medium
A. Lists disk1, disk2, and disk3
B. Shows an error due to filter syntax
C. Lists only disk3
D. Lists only disk1 and disk2

Solution

  1. Step 1: Understand the filter usage

    The filter limits results to disks in zone us-central1-a only.
  2. Step 2: Apply filter to disk list

    Disks disk1 and disk2 are in us-central1-a, so they appear; disk3 is in a different zone and is excluded.
  3. Final Answer:

    Lists only disk1 and disk2 -> Option D
  4. Quick Check:

    Filter by zone shows matching disks only [OK]
Hint: Filter narrows results to matching zone disks only [OK]
Common Mistakes:
  • Assuming filter includes all disks
  • Misreading filter syntax
  • Expecting syntax error incorrectly
4. You run gcloud compute instances delete my-vm but get an error saying the zone is missing. What is the best fix?
medium
A. Add --project=PROJECT_ID flag instead.
B. Add the flag --zone=ZONE_NAME with the correct zone.
C. Run the command without any flags again.
D. Use gcloud delete instances my-vm instead.

Solution

  1. Step 1: Identify missing required parameter

    The error indicates the zone is not specified, which is required to delete an instance.
  2. Step 2: Correct the command by adding zone

    Adding --zone=ZONE_NAME specifies the location of the instance to delete.
  3. Final Answer:

    Add the flag --zone=ZONE_NAME with the correct zone. -> Option B
  4. Quick Check:

    Zone flag required for instance delete [OK]
Hint: Always specify zone when deleting or managing instances [OK]
Common Mistakes:
  • Ignoring zone requirement
  • Using wrong command syntax
  • Assuming project flag fixes zone error
5. You want to create a new persistent disk named data-disk of size 100GB in zone europe-west1-b and attach it to an existing instance app-server. Which sequence of commands is correct?
hard
A. 1) gcloud compute disks create data-disk --size=100GB --zone=europe-west1-b
2) gcloud compute instances attach-disk app-server --disk=data-disk --zone=europe-west1-b
B. 1) gcloud compute instances attach-disk app-server --disk=data-disk --zone=europe-west1-b
2) gcloud compute disks create data-disk --size=100GB --zone=europe-west1-b
C. 1) gcloud compute disks create data-disk --zone=europe-west1-b
2) gcloud compute instances attach-disk app-server --disk=data-disk
D. 1) gcloud compute disks create data-disk --size=100 --zone=europe-west1-b
2) gcloud compute instances attach-disk app-server --disk=data-disk --zone=europe-west1-b

Solution

  1. Step 1: Create the disk first with correct size and zone

    The disk must be created before attaching. 1) gcloud compute disks create data-disk --size=100GB --zone=europe-west1-b
    2) gcloud compute instances attach-disk app-server --disk=data-disk --zone=europe-west1-b uses correct size format '100GB' and specifies zone.
  2. Step 2: Attach the created disk to the instance with zone specified

    Attaching requires the disk and instance zone flags; 1) gcloud compute disks create data-disk --size=100GB --zone=europe-west1-b
    2) gcloud compute instances attach-disk app-server --disk=data-disk --zone=europe-west1-b includes these correctly.
  3. Final Answer:

    First create disk with size and zone, then attach with disk and zone flags. -> Option A
  4. Quick Check:

    Create disk before attach, specify size with GB [OK]
Hint: Create disk before attach; size needs units like GB [OK]
Common Mistakes:
  • Attaching disk before creating it
  • Omitting size units (GB)
  • Missing zone flags on commands