Bird
Raised Fist0
GCPcloud~5 mins

Instance states (running, stopped, terminated) 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: Instance states (running, stopped, terminated)
O(n)
Understanding Time Complexity

We want to understand how the time to check or change instance states grows as we handle more instances.

How does the number of instances affect the work done by the system?

Scenario Under Consideration

Analyze the time complexity of the following operation sequence.

# List all instances in a project
instances = compute.instances().list(project=project_id, zone=zone).execute()

# For each instance, check its state
for instance in instances['items']:
    state = instance['status']
    if state == 'TERMINATED':
        # Optionally delete or ignore
        pass
    elif state == 'STOPPED':
        # Optionally start instance
        pass
    elif state == 'RUNNING':
        # Optionally stop instance
        pass

This code lists all instances and checks their current state to decide what action to take.

Identify Repeating Operations

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

  • Primary operation: Checking each instance's state via the list API and iterating over each instance.
  • How many times: Once per instance in the project and zone.
How Execution Grows With Input

As the number of instances grows, the number of state checks grows at the same rate.

Input Size (n)Approx. Api Calls/Operations
1010 state checks
100100 state checks
10001000 state checks

Pattern observation: The work grows linearly with the number of instances.

Final Time Complexity

Time Complexity: O(n)

This means the time to check or act on instance states grows directly with how many instances there are.

Common Mistake

[X] Wrong: "Checking all instance states takes the same time no matter how many instances exist."

[OK] Correct: Each instance adds one more check, so more instances mean more work and longer time.

Interview Connect

Understanding how operations scale with instance count helps you design efficient cloud management scripts and shows you think about system behavior as it grows.

Self-Check

"What if we batch instance state checks instead of checking one by one? How would the time complexity change?"

Practice

(1/5)
1. What does the RUNNING state of a Google Cloud VM instance indicate?
easy
A. The VM is paused and cannot be restarted
B. The VM is permanently deleted
C. The VM is active and ready to use
D. The VM is being created

Solution

  1. Step 1: Understand VM states

    The RUNNING state means the virtual machine is powered on and operational.
  2. Step 2: Compare with other states

    TERMINATED means stopped but restartable; DELETED means removed permanently.
  3. Final Answer:

    The VM is active and ready to use -> Option C
  4. Quick Check:

    RUNNING = active and ready [OK]
Hint: RUNNING means VM is active and ready [OK]
Common Mistakes:
  • Confusing TERMINATED with RUNNING
  • Thinking DELETED means stopped
  • Assuming RUNNING means VM is paused
2. Which command correctly stops a running Google Cloud VM instance named my-vm using gcloud CLI?
easy
A. gcloud compute instances stop my-vm
B. gcloud compute instances delete my-vm
C. gcloud compute instances terminate my-vm
D. gcloud compute instances suspend my-vm

Solution

  1. Step 1: Identify the correct stop command

    The command to stop a VM is gcloud compute instances stop.
  2. Step 2: Check other commands

    delete removes the VM, terminate is not a valid gcloud command, suspend preserves memory state but is different from stop.
  3. Final Answer:

    gcloud compute instances stop my-vm -> Option A
  4. Quick Check:

    Stop VM = gcloud compute instances stop [OK]
Hint: Use 'stop' to halt VM without deleting [OK]
Common Mistakes:
  • Using delete instead of stop
  • Typing terminate which is invalid
  • Confusing suspend with stop
3. Given this gcloud command output:
NAME    ZONE       STATUS
vm-1    us-central1-a  TERMINATED
vm-2    us-central1-a  RUNNING
vm-3    us-central1-a  TERMINATED

Which VM(s) can be restarted without creating a new instance?
medium
A. Only vm-2
B. vm-1 and vm-3
C. All vm-1, vm-2, and vm-3
D. None of them

Solution

  1. Step 1: Understand TERMINATED state

    TERMINATED means the VM is stopped but can be restarted later.
  2. Step 2: Identify which VMs are TERMINATED

    vm-1 and vm-3 are TERMINATED, so they can be restarted; vm-2 is already RUNNING.
  3. Final Answer:

    vm-1 and vm-3 -> Option B
  4. Quick Check:

    TERMINATED = restartable VMs [OK]
Hint: TERMINATED means stopped but restartable [OK]
Common Mistakes:
  • Thinking RUNNING VMs need restart
  • Assuming TERMINATED means deleted
  • Selecting all VMs regardless of state
4. You tried to restart a VM but got an error saying the instance does not exist. What is the most likely cause?
medium
A. The VM was DELETED and no longer exists
B. The VM is in SUSPENDED state
C. The VM is in TERMINATED state
D. The VM is in RUNNING state

Solution

  1. Step 1: Analyze error message

    Error 'instance does not exist' means the VM resource is gone.
  2. Step 2: Match with VM states

    Only DELETED means the VM is removed permanently; RUNNING, TERMINATED, SUSPENDED still exist.
  3. Final Answer:

    The VM was DELETED and no longer exists -> Option A
  4. Quick Check:

    Deleted VM = does not exist error [OK]
Hint: Deleted VM no longer exists, causing errors [OK]
Common Mistakes:
  • Confusing TERMINATED with DELETED
  • Assuming STOPPED means deleted
  • Ignoring error message meaning
5. You want to save costs by stopping a VM but keep its data and configuration intact for later use. Which state should you put the VM in, and why?
hard
A. RUNNING, because it keeps the VM active and ready
B. SUSPENDED, because it pauses the VM without data loss
C. DELETED, because it frees all resources immediately
D. TERMINATED, because it stops the VM but preserves data and allows restart

Solution

  1. Step 1: Understand cost-saving states

    Stopping a VM saves costs but keeps data if the VM is TERMINATED.
  2. Step 2: Evaluate options

    RUNNING uses full resources; DELETED removes VM and data; SUSPENDED preserves memory but standard stop uses TERMINATED.
  3. Final Answer:

    TERMINATED, because it stops the VM but preserves data and allows restart -> Option D
  4. Quick Check:

    Stop VM = TERMINATED state for cost saving [OK]
Hint: TERMINATED stops VM but keeps data for restart [OK]
Common Mistakes:
  • Choosing RUNNING to save costs
  • Deleting VM to save costs but losing data
  • Choosing SUSPENDED instead of TERMINATED