Bird
Raised Fist0
GCPcloud~15 mins

Machine types and families (E2, N2, C2) in GCP - Mini Project: Build & Apply

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
Machine types and families (E2, N2, C2)
📖 Scenario: You are setting up virtual machines (VMs) on Google Cloud Platform (GCP) for different workloads. Each workload needs a VM with a specific machine family and type to match its performance and cost needs.Machine families like E2, N2, and C2 offer different balances of CPU power and cost. You will create configurations for these VMs to understand how to specify machine types in GCP.
🎯 Goal: Create a dictionary in Python that holds VM configurations for three machine families: E2, N2, and C2. Then add a variable to select a machine family, write code to get the machine type for that family, and finally complete the configuration by adding a zone to deploy the VM.
📋 What You'll Learn
Create a Python dictionary named vm_configs with keys 'E2', 'N2', and 'C2' and values as their default machine types.
Create a variable named selected_family to hold the machine family to use.
Write code to get the machine type from vm_configs using selected_family.
Add a variable named zone with the value 'us-central1-a' to complete the VM configuration.
💡 Why This Matters
🌍 Real World
Cloud engineers often need to choose the right machine types for virtual machines to balance cost and performance. This project simulates selecting machine types from different families in GCP.
💼 Career
Understanding machine types and families is essential for roles like Cloud Engineer, DevOps Engineer, and Infrastructure Architect to design efficient cloud infrastructure.
Progress0 / 4 steps
1
Create VM configurations dictionary
Create a Python dictionary called vm_configs with these exact entries: 'E2': 'e2-medium', 'N2': 'n2-standard-4', and 'C2': 'c2-standard-8'.
GCP
Hint

Use curly braces {} to create a dictionary. Each key-value pair should be separated by a colon :.

2
Select a machine family
Create a variable called selected_family and set it to the string 'N2' to choose the N2 machine family.
GCP
Hint

Assign the string 'N2' to the variable selected_family.

3
Get machine type from selected family
Create a variable called machine_type and set it to the value from vm_configs using the key selected_family.
GCP
Hint

Use square brackets [] to get the value from the dictionary using the key stored in selected_family.

4
Add zone to VM configuration
Create a variable called zone and set it to the string 'us-central1-a' to specify the deployment zone.
GCP
Hint

Assign the string 'us-central1-a' to the variable zone.

Practice

(1/5)
1. Which Google Cloud machine family is best suited for cost-effective general use workloads?
easy
A. E2 family
B. N2 family
C. C2 family
D. M1 family

Solution

  1. Step 1: Understand the purpose of each machine family

    The E2 family is designed for cost-effective general use, N2 balances power and memory, and C2 is optimized for CPU-heavy tasks.
  2. Step 2: Match the workload type to the machine family

    Since the question asks for cost-effective general use, E2 is the best fit.
  3. Final Answer:

    E2 family -> Option A
  4. Quick Check:

    Cost-effective general use = E2 [OK]
Hint: E2 means economical general use machines [OK]
Common Mistakes:
  • Confusing C2 as cost-effective instead of CPU-optimized
  • Choosing N2 for cost savings instead of balance
  • Selecting a non-existent machine family like M1
2. Which of the following is the correct way to specify a C2 machine type in a Google Cloud VM instance configuration?
easy
A. machineType: 'zones/us-central1-a/machineTypes/m1-standard-4'
B. machineType: 'zones/us-central1-a/machineTypes/e2-standard-4'
C. machineType: 'zones/us-central1-a/machineTypes/n2-standard-4'
D. machineType: 'zones/us-central1-a/machineTypes/c2-standard-4'

Solution

  1. Step 1: Identify the correct machine family prefix for C2

    C2 machine types start with 'c2-', so the machine type string must include 'c2-standard-4'.
  2. Step 2: Verify the full machineType format

    The format is 'zones/{zone}/machineTypes/{machineType}', so 'zones/us-central1-a/machineTypes/c2-standard-4' is correct.
  3. Final Answer:

    machineType: 'zones/us-central1-a/machineTypes/c2-standard-4' -> Option D
  4. Quick Check:

    C2 machine type string includes 'c2-' prefix [OK]
Hint: C2 machine types start with 'c2-' in the path [OK]
Common Mistakes:
  • Using 'e2-' or 'n2-' prefix for C2 machines
  • Incorrect zone or path format
  • Using a non-existent machine family like 'm1-'
3. You launch a VM with machine type n2-standard-8. Which statement best describes this VM's characteristics?
medium
A. It is optimized for CPU-heavy workloads with 8 vCPUs.
B. It balances CPU and memory with 8 vCPUs and moderate RAM.
C. It is a cost-effective VM with limited CPU power.
D. It is a high-memory VM with 8 vCPUs and extra RAM.

Solution

  1. Step 1: Understand the N2 machine family purpose

    N2 machines balance CPU power and memory, suitable for general workloads needing moderate resources.
  2. Step 2: Analyze the machine type suffix

    'standard-8' means 8 virtual CPUs with balanced memory, not specialized for CPU-only or high-memory.
  3. Final Answer:

    It balances CPU and memory with 8 vCPUs and moderate RAM. -> Option B
  4. Quick Check:

    N2 = balanced CPU and memory [OK]
Hint: N2 means balanced CPU and memory machines [OK]
Common Mistakes:
  • Confusing N2 with C2 which is CPU-optimized
  • Thinking N2 is cost-effective like E2
  • Assuming N2 is high-memory only
4. A user tries to create a VM with machine type c2-standard-16 but gets an error. Which is the most likely cause?
medium
A. The zone does not support C2 machine types with 16 vCPUs.
B. The machine type name is misspelled; it should be c2-standrd-16.
C. C2 machines cannot have more than 8 vCPUs.
D. The user must specify the machine type without the zone prefix.

Solution

  1. Step 1: Check machine type naming and limits

    'c2-standard-16' is a valid machine type with 16 vCPUs; spelling is correct and allowed size.
  2. Step 2: Consider zone availability

    Some zones do not support all machine types or sizes, so the error likely comes from zone limitations.
  3. Final Answer:

    The zone does not support C2 machine types with 16 vCPUs. -> Option A
  4. Quick Check:

    Zone support limits cause machine type errors [OK]
Hint: Check zone supports machine type size before creating VM [OK]
Common Mistakes:
  • Assuming spelling error when name is correct
  • Believing C2 max vCPUs is 8 (it's higher)
  • Ignoring zone prefix requirement in machineType
5. You need to run a CPU-intensive data processing job that requires maximum CPU power but moderate memory. Which machine type should you choose to optimize performance and cost?
hard
A. e2-standard-16
B. n2-highmem-16
C. c2-standard-16
D. e2-highcpu-16

Solution

  1. Step 1: Identify workload requirements

    The job is CPU-intensive needing maximum CPU power with moderate memory.
  2. Step 2: Match machine family to workload

    C2 family is optimized for CPU-heavy workloads, while E2 is cost-effective general use and N2-highmem is for memory-heavy tasks.
  3. Step 3: Choose the best machine type

    Among options, 'c2-standard-16' provides high CPU power with balanced memory, fitting the requirement best.
  4. Final Answer:

    c2-standard-16 -> Option C
  5. Quick Check:

    CPU-heavy job = C2 machines [OK]
Hint: Use C2 for CPU-heavy jobs, not E2 or N2-highmem [OK]
Common Mistakes:
  • Choosing E2 for CPU-heavy instead of cost-effective use
  • Picking N2-highmem which wastes cost on extra memory
  • Selecting E2-highcpu which is less powerful than C2