Bird
Raised Fist0
GCPcloud~30 mins

Deploying workloads in GCP - Mini Project: Build & Apply

Choose your learning style10 modes available
Deploying Workloads on Google Cloud Platform
📖 Scenario: You are working as a cloud engineer for a small company. Your task is to deploy a simple web application workload on Google Cloud Platform (GCP) using Compute Engine virtual machines.This project will guide you step-by-step to create the necessary resources and configurations to deploy your workload successfully.
🎯 Goal: By the end of this project, you will have created a Compute Engine instance with a startup script that deploys a simple web server. You will configure the instance to allow HTTP traffic and verify the deployment setup.
📋 What You'll Learn
Create a Compute Engine instance with a specific name and machine type
Add a startup script to install and start a web server
Configure the instance to allow HTTP traffic
Verify the instance configuration for deployment readiness
💡 Why This Matters
🌍 Real World
Deploying workloads on cloud virtual machines is a common task for running web applications, databases, and other services.
💼 Career
Cloud engineers and DevOps professionals regularly create and configure compute instances to deploy and manage workloads in production environments.
Progress0 / 4 steps
1
Create a Compute Engine instance resource
Create a variable called instance_config that is a dictionary with these exact keys and values: "name": "web-server-1", "machine_type": "e2-micro", and "zone": "us-central1-a".
GCP
Hint

Use a Python dictionary with keys exactly as name, machine_type, and zone.

2
Add a startup script to install a web server
Add a key "startup_script" to the instance_config dictionary with the value set to the string "#!/bin/bash\nsudo apt-get update && sudo apt-get install -y apache2 && sudo systemctl start apache2".
GCP
Hint

The startup script runs commands to update packages, install Apache2, and start the service.

3
Configure the instance to allow HTTP traffic
Add a key "allow_http" to the instance_config dictionary and set its value to True.
GCP
Hint

Setting allow_http to True enables HTTP traffic to the instance.

4
Complete the deployment configuration
Create a variable called deployment_config that is a dictionary with a single key "compute_instance" whose value is the instance_config dictionary.
GCP
Hint

This final dictionary groups the instance configuration under the key compute_instance.

Practice

(1/5)
1. What does deploying a workload on Google Cloud Run primarily do?
easy
A. Stores your application code without running it
B. Creates a virtual machine that you must manage manually
C. Runs your application in a managed environment that scales automatically
D. Only backs up your application data

Solution

  1. Step 1: Understand Cloud Run's purpose

    Cloud Run runs your app in a managed environment that automatically scales based on traffic.
  2. Step 2: Compare options

    Options B, C, and D describe other services or actions, not workload deployment on Cloud Run.
  3. Final Answer:

    Runs your application in a managed environment that scales automatically -> Option C
  4. Quick Check:

    Cloud Run = managed auto-scaling app hosting [OK]
Hint: Cloud Run runs and scales apps automatically [OK]
Common Mistakes:
  • Confusing Cloud Run with virtual machines
  • Thinking Cloud Run only stores code
  • Assuming manual scaling is needed
2. Which of the following is the correct gcloud command to deploy a container image to Cloud Run in region us-central1 with service name my-service?
easy
A. gcloud run deploy my-service --image=gcr.io/my-project/my-image --region=us-central1
B. gcloud deploy run --service=my-service --image=my-image --region=us-central1
C. gcloud run create --name my-service --image gcr.io/my-project/my-image --zone us-central1
D. gcloud container deploy my-service --image=gcr.io/my-project/my-image --region=us-central1

Solution

  1. Step 1: Recall correct gcloud run deploy syntax

    The correct command uses 'gcloud run deploy SERVICE_NAME --image=IMAGE --region=REGION'.
  2. Step 2: Match options to syntax

    gcloud run deploy my-service --image=gcr.io/my-project/my-image --region=us-central1 matches the correct syntax exactly. Others have wrong commands or flags.
  3. Final Answer:

    gcloud run deploy my-service --image=gcr.io/my-project/my-image --region=us-central1 -> Option A
  4. Quick Check:

    Correct gcloud run deploy syntax = gcloud run deploy my-service --image=gcr.io/my-project/my-image --region=us-central1 [OK]
Hint: Use 'gcloud run deploy SERVICE --image=IMAGE --region=REGION' [OK]
Common Mistakes:
  • Using 'gcloud deploy run' instead of 'gcloud run deploy'
  • Confusing --zone with --region
  • Using 'gcloud container deploy' which is invalid
3. Given this command: gcloud run deploy my-app --image=gcr.io/project/app:v1 --region=us-east1, what happens after deployment?
medium
A. The app is uploaded but does not run until manually started
B. The app runs on Cloud Run and scales automatically with traffic
C. A virtual machine is created but the app is not deployed
D. The app runs only on your local machine

Solution

  1. Step 1: Understand Cloud Run deployment behavior

    Deploying with gcloud run deploy starts the app on Cloud Run immediately with auto-scaling.
  2. Step 2: Eliminate incorrect options

    Options B, C, and D describe behaviors not matching Cloud Run's managed service.
  3. Final Answer:

    The app runs on Cloud Run and scales automatically with traffic -> Option B
  4. Quick Check:

    Cloud Run deploy = app runs and scales automatically [OK]
Hint: Deploy starts app running with auto-scaling on Cloud Run [OK]
Common Mistakes:
  • Thinking deployment only uploads code
  • Assuming manual start is needed
  • Confusing Cloud Run with VM creation
4. You run gcloud run deploy my-service --image=gcr.io/my-project/my-image but get an error about missing region. What is the fix?
medium
A. Remove the --image flag and try again
B. Deploy to Cloud Storage instead
C. Use --zone instead of --region
D. Add the flag --region=REGION with a valid region like us-central1

Solution

  1. Step 1: Identify missing required flag

    The error indicates the region flag is missing, which is required for Cloud Run deployment.
  2. Step 2: Correct the command by adding --region

    Adding --region=us-central1 (or another valid region) fixes the error.
  3. Final Answer:

    Add the flag --region=REGION with a valid region like us-central1 -> Option D
  4. Quick Check:

    Missing region error = add --region flag [OK]
Hint: Always specify --region when deploying to Cloud Run [OK]
Common Mistakes:
  • Using --zone instead of --region
  • Removing --image flag which is required
  • Trying to deploy to wrong service like Cloud Storage
5. You want to deploy a new version of your app to Cloud Run but keep the old version running for testing. How can you achieve this?
hard
A. Deploy the new version with the same service name and region
B. Deploy to a different Google Cloud project
C. Use gcloud run update to replace the old version
D. Deploy the new version with a different service name

Solution

  1. Step 1: Understand Cloud Run revisions

    Cloud Run automatically creates a new revision when deploying to an existing service, keeping previous revisions available for testing via revision-specific invocations or traffic splitting.
  2. Step 2: Deploy new version with the same service name and region

    This leverages Cloud Run's built-in revision management to keep both versions accessible.
  3. Final Answer:

    Deploy the new version with the same service name and region -> Option A
  4. Quick Check:

    Same service = new revision, old available for testing [OK]
Hint: Deploy to same service name to use revisions for multi-version testing [OK]
Common Mistakes:
  • Deploying to a different Google Cloud project unnecessarily
  • Using 'gcloud run update' incorrectly for image changes
  • Deploying with a different service name when revisions suffice
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