Compute commands (instances, disks) in GCP - Time & Space Complexity
Start learning this pattern below
Jump into concepts and practice - no test required
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.
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 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.
As you add more instances and disks, the number of commands grows roughly in direct proportion.
| Input Size (n) | Approx. Api Calls/Operations |
|---|---|
| 10 | About 30 (10 starts + 10 creates + 10 attaches) |
| 100 | About 300 (100 starts + 100 creates + 100 attaches) |
| 1000 | About 3000 (1000 starts + 1000 creates + 1000 attaches) |
Pattern observation: The total operations increase linearly as the number of instances and disks increase.
Time Complexity: O(n)
This means the total commands grow directly with the number of instances and disks you manage.
[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.
Understanding how command counts grow helps you plan and explain resource management clearly in real projects.
"What if we attached multiple disks to each instance instead of one? How would the time complexity change?"
Practice
gcloud compute instances list do?Solution
Step 1: Understand the command purpose
The commandgcloud compute instances listis used to display existing virtual machines in your project.Step 2: Compare with other options
Creating, deleting, or attaching disks require different commands, not this one.Final Answer:
It shows all virtual machines in your project. -> Option AQuick Check:
List instances = show VMs [OK]
- Confusing list with create or delete commands
- Not specifying resource type
- Assuming it modifies resources
web-server in zone us-central1-a?Solution
Step 1: Identify correct command structure
The correct command starts withgcloud compute instances createfollowed by the instance name and zone flag.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.Final Answer:
gcloud compute instances create web-server --zone=us-central1-a -> Option CQuick Check:
Create instance syntax = gcloud compute instances create web-server --zone=us-central1-a [OK]
- Mixing order of words in command
- Omitting 'compute' or 'instances'
- Using wrong flag format
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?Solution
Step 1: Understand the filter usage
The filter limits results to disks in zone us-central1-a only.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.Final Answer:
Lists only disk1 and disk2 -> Option DQuick Check:
Filter by zone shows matching disks only [OK]
- Assuming filter includes all disks
- Misreading filter syntax
- Expecting syntax error incorrectly
gcloud compute instances delete my-vm but get an error saying the zone is missing. What is the best fix?Solution
Step 1: Identify missing required parameter
The error indicates the zone is not specified, which is required to delete an instance.Step 2: Correct the command by adding zone
Adding--zone=ZONE_NAMEspecifies the location of the instance to delete.Final Answer:
Add the flag --zone=ZONE_NAME with the correct zone. -> Option BQuick Check:
Zone flag required for instance delete [OK]
- Ignoring zone requirement
- Using wrong command syntax
- Assuming project flag fixes zone error
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?Solution
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-buses correct size format '100GB' and specifies zone.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-bincludes these correctly.Final Answer:
First create disk with size and zone, then attach with disk and zone flags. -> Option AQuick Check:
Create disk before attach, specify size with GB [OK]
- Attaching disk before creating it
- Omitting size units (GB)
- Missing zone flags on commands
