Bird
Raised Fist0
GCPcloud~20 mins

Deployment Manager as native IaC in GCP - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Deployment Manager Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
2:00remaining
Understanding Deployment Manager Templates

What is the primary purpose of a template in Google Cloud Deployment Manager?

ATo store user credentials for cloud access
BTo define reusable resource configurations for deployments
CTo monitor deployed resources in real-time
DTo automatically scale virtual machines based on load
Attempts:
2 left
💡 Hint

Think about what you reuse when creating multiple similar resources.

❓ Configuration
intermediate
2:00remaining
YAML Configuration for a Compute Engine Instance

Given the following Deployment Manager YAML snippet, how many VM instances will be created?

resources:
- name: my-vm
  type: compute.v1.instance
  properties:
    zone: us-central1-a
    machineType: zones/us-central1-a/machineTypes/n1-standard-1
    disks:
    - deviceName: boot
      type: PERSISTENT
      boot: true
      autoDelete: true
      initializeParams:
        sourceImage: projects/debian-cloud/global/images/family/debian-10
    networkInterfaces:
    - network: global/networks/default
      accessConfigs:
      - name: External NAT
        type: ONE_TO_ONE_NAT
ADepends on the number of zones
B0
C1
D2
Attempts:
2 left
💡 Hint

Count the resource entries defined in the YAML.

❓ Architecture
advanced
2:00remaining
Deployment Manager Resource Dependencies

In Deployment Manager, if you want to ensure a Cloud Storage bucket is created before a Compute Engine instance that uses it, which approach correctly enforces this order?

AUse the 'dependsOn' field in the instance resource to reference the bucket resource
BCreate the bucket and instance in separate deployments
CDeploy the instance first, then the bucket manually
DSpecify the bucket name as a property without dependencies
Attempts:
2 left
💡 Hint

Think about how to tell Deployment Manager about resource creation order.

❓ security
advanced
2:00remaining
Managing Secrets in Deployment Manager

Which is the best practice to handle sensitive data like API keys in Deployment Manager templates?

ASend secrets via email to deployment team before deployment
BHardcode API keys directly in the YAML configuration
CInclude secrets in public Git repositories for easy access
DStore secrets in Google Secret Manager and reference them in templates
Attempts:
2 left
💡 Hint

Consider secure storage options provided by Google Cloud.

❓ service_behavior
expert
2:00remaining
Deployment Manager Update Behavior

When you update a Deployment Manager configuration that changes the machine type of a Compute Engine instance, what is the expected behavior during deployment update?

ADeployment Manager deletes the existing instance and creates a new one with the new machine type
BDeployment Manager updates the machine type in place without downtime
CDeployment Manager ignores the change and keeps the old machine type
DDeployment Manager pauses the deployment and requires manual intervention
Attempts:
2 left
💡 Hint

Think about how immutable some resource properties are in GCP.

Practice

(1/5)
1. What is the main purpose of Google Cloud Deployment Manager?
easy
A. To define and manage cloud resources using code
B. To manually create resources through the console
C. To monitor cloud resource usage in real-time
D. To provide a graphical interface for cloud billing

Solution

  1. Step 1: Understand Deployment Manager's role

    Deployment Manager lets you write code to define cloud resources instead of manual setup.
  2. Step 2: Compare options

    Only To define and manage cloud resources using code describes defining and managing resources using code, which matches Deployment Manager's purpose.
  3. Final Answer:

    To define and manage cloud resources using code -> Option A
  4. Quick Check:

    Deployment Manager = Infrastructure as Code [OK]
Hint: Deployment Manager = write code for cloud setup [OK]
Common Mistakes:
  • Confusing Deployment Manager with monitoring tools
  • Thinking it is a manual console tool
  • Mixing it with billing or cost tools
2. Which of the following is the correct way to start a Deployment Manager YAML configuration file?
easy
A. services:
B. resources:
C. instances:
D. deployments:

Solution

  1. Step 1: Recall YAML structure for Deployment Manager

    The root key to list cloud resources is resources:.
  2. Step 2: Check other options

    Options like deployments:, instances:, and services: are not valid root keys in Deployment Manager YAML.
  3. Final Answer:

    resources: -> Option B
  4. Quick Check:

    YAML starts with resources: [OK]
Hint: Deployment Manager YAML always starts with resources: [OK]
Common Mistakes:
  • Using wrong root keys like deployments or instances
  • Confusing resource types with YAML structure
  • Starting with service names instead of resources
3. Given this Deployment Manager snippet:
resources:
- name: my-vm
  type: compute.v1.instance
  properties:
    zone: us-central1-a
    machineType: zones/us-central1-a/machineTypes/n1-standard-1

What resource is being created?
medium
A. A network firewall rule
B. A storage bucket in us-central1-a
C. A SQL database instance
D. A virtual machine instance in zone us-central1-a

Solution

  1. Step 1: Identify resource type

    The type compute.v1.instance means a virtual machine (VM) instance.
  2. Step 2: Check properties

    The zone and machineType confirm it's a VM in zone us-central1-a with a standard machine type.
  3. Final Answer:

    A virtual machine instance in zone us-central1-a -> Option D
  4. Quick Check:

    compute.v1.instance = VM instance [OK]
Hint: compute.v1.instance means VM instance [OK]
Common Mistakes:
  • Confusing instance with storage or database
  • Ignoring the type field
  • Assuming default zone without checking properties
4. You wrote this Deployment Manager YAML:
resources:
- name: my-vm
  type: compute.v1.instance
  properties:
    zone: us-central1-a
    machineType: n1-standard-1

Why does deployment fail?
medium
A. name property cannot be my-vm
B. zone property is invalid
C. machineType property is missing zone prefix
D. type compute.v1.instance is deprecated

Solution

  1. Step 1: Check machineType format

    machineType must include full path with zone prefix like zones/us-central1-a/machineTypes/n1-standard-1.
  2. Step 2: Validate other fields

    zone is valid, name is allowed, and type is current. Only machineType format is wrong.
  3. Final Answer:

    machineType property is missing zone prefix -> Option C
  4. Quick Check:

    machineType needs full path [OK]
Hint: machineType needs full zone path like zones/zone/machineTypes/type [OK]
Common Mistakes:
  • Using short machineType without zone prefix
  • Changing name to fix error
  • Assuming type is deprecated
5. You want to create two VM instances in Deployment Manager using one YAML file. Which approach is best?
hard
A. List two separate resource entries under resources with different names
B. Create one resource with two names separated by commas
C. Use a loop inside YAML to repeat the resource
D. Write two separate YAML files and deploy them separately

Solution

  1. Step 1: Understand YAML resource listing

    Deployment Manager YAML supports multiple resources by listing each with a unique name under resources:.
  2. Step 2: Evaluate options

    List two separate resource entries under resources with different names correctly lists two resources separately. Create one resource with two names separated by commas is invalid syntax. Use a loop inside YAML to repeat the resource is not supported natively in YAML. Write two separate YAML files and deploy them separately works but is less efficient and not best practice.
  3. Final Answer:

    List two separate resource entries under resources with different names -> Option A
  4. Quick Check:

    Multiple resources = multiple entries [OK]
Hint: Multiple resources = multiple entries under resources: [OK]
Common Mistakes:
  • Trying to name one resource with multiple names
  • Expecting loops inside YAML
  • Splitting into multiple files unnecessarily
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard