📖 Scenario: You are working for a small company that wants to run a simple web application using containers. You want to use Google Cloud Run because it can run containers without managing servers.
🎯 Goal: Build a Cloud Run service configuration that deploys a container image with automatic scaling and secure settings.
📋 What You'll Learn
Create a variable with the container image URL
Add a configuration variable for the maximum number of instances
Write the Cloud Run service deployment configuration using the image and max instances
Complete the configuration with the service name and region
💡 Why This Matters
🌍 Real World
Cloud Run lets you run containerized apps without managing servers, perfect for small teams or projects.
💼 Career
Understanding Cloud Run configuration is useful for cloud engineers and developers deploying scalable container apps.
Progress0 / 4 steps
1
DATA SETUP: Define the container image URL
Create a variable called container_image and set it to the exact string "gcr.io/my-project/my-app:latest".
GCP
Hint
The container image URL is a string that points to your container in Google Container Registry.
2
CONFIGURATION: Set the maximum number of instances
Add a variable called max_instances and set it to the integer 3.
GCP
Hint
Max instances controls how many container instances Cloud Run can create to handle traffic.
3
CORE LOGIC: Write the Cloud Run service deployment configuration
Create a dictionary called cloud_run_service with keys image set to container_image and maxInstances set to max_instances.
GCP
Hint
The dictionary holds the main settings for your Cloud Run service deployment.
4
COMPLETION: Add service name and region to the configuration
Add keys serviceName with value "my-cloud-run-service" and region with value "us-central1" to the cloud_run_service dictionary.
GCP
Hint
Service name and region tell Cloud Run what to call your service and where to run it.
Practice
(1/5)
1. What is the main benefit of using Cloud Run for container applications?
easy
A. It charges a fixed monthly fee regardless of usage.
B. It requires you to manage the underlying servers manually.
C. It only works with virtual machines, not containers.
D. It automatically scales your containers based on traffic.
Solution
Step 1: Understand Cloud Run's scaling feature
Cloud Run automatically adjusts the number of container instances based on incoming traffic, so you don't have to manage scaling yourself.
Step 2: Compare other options
Cloud Run does not require manual server management, works specifically with containers (not virtual machines), and charges based on usage, not a fixed fee.
Final Answer:
It automatically scales your containers based on traffic. -> Option D
Quick Check:
Automatic scaling = A [OK]
Hint: Cloud Run scales containers automatically with traffic [OK]
Common Mistakes:
Thinking Cloud Run requires manual server management
Confusing Cloud Run with virtual machine services
Assuming fixed pricing regardless of usage
2. Which of the following is the correct way to deploy a container to Cloud Run using the gcloud CLI?
easy
A. gcloud app deploy --image gcr.io/my-project/my-image
B. gcloud compute instances create --image gcr.io/my-project/my-image
C. gcloud run deploy my-service --image gcr.io/my-project/my-image --platform managed
D. gcloud container clusters create --image gcr.io/my-project/my-image
Solution
Step 1: Identify the correct command for Cloud Run deployment
The command to deploy a container to Cloud Run is gcloud run deploy my-service --image gcr.io/my-project/my-image --platform managed.
Step 2: Eliminate incorrect commands
gcloud compute instances create is for Compute Engine, gcloud container clusters create for Kubernetes clusters, and gcloud app deploy for App Engine, none for Cloud Run.
Final Answer:
gcloud run deploy my-service --image gcr.io/my-project/my-image --platform managed -> Option C
Quick Check:
Cloud Run deploy uses 'gcloud run deploy' [OK]
Hint: Use 'gcloud run deploy' with --image for Cloud Run [OK]
Common Mistakes:
Using Compute Engine or Kubernetes commands instead
Confusing App Engine deploy command with Cloud Run
Omitting the --platform managed flag
3. You want to run a containerized web app that only needs to be active during user requests and should scale down to zero when idle to save costs. Which Cloud Run feature best supports this requirement?
easy
A. Cloud Run's fixed instance count setting.
B. Cloud Run's automatic scaling to zero instances when idle.
C. Cloud Run's manual server provisioning.
D. Cloud Run's requirement to keep at least one instance always running.
Solution
Step 1: Identify cost-saving scaling feature
Cloud Run automatically scales down to zero instances when there is no traffic, which saves costs by not running containers unnecessarily.
Step 2: Confirm this matches the app requirement
The app needs to be active only during user requests and idle otherwise, so automatic scaling to zero fits perfectly.
Final Answer:
Cloud Run's automatic scaling to zero instances when idle. -> Option B
Quick Check:
Scale to zero for cost saving = A [OK]
Hint: Use Cloud Run's scale-to-zero for cost-efficient apps [OK]
Common Mistakes:
Thinking fixed instance count saves costs
Assuming manual provisioning is needed
Believing one instance must always run
4. Consider this scenario: You deploy a container to Cloud Run. The container receives no traffic for a while, then suddenly gets a burst of requests. What happens to the container instances?
medium
A. Cloud Run scales down to zero instances when idle, then scales up quickly on new requests.
B. Cloud Run crashes the container if no traffic is received for 5 minutes.
C. Cloud Run keeps all container instances running regardless of traffic.
D. Cloud Run requires manual scaling to handle traffic bursts.
Solution
Step 1: Understand Cloud Run's scaling behavior
Cloud Run automatically scales down to zero instances when there is no traffic to save resources and costs.
Step 2: Understand scaling up on traffic burst
When new requests arrive, Cloud Run quickly starts new container instances to handle the traffic burst automatically.
Final Answer:
Cloud Run scales down to zero instances when idle, then scales up quickly on new requests. -> Option A
Quick Check:
Scale to zero and up on demand = C [OK]
Hint: Cloud Run scales to zero when idle, then up on traffic [OK]
Common Mistakes:
Assuming containers always run even with no traffic
Thinking Cloud Run crashes containers on idle
Believing manual scaling is needed for traffic bursts
5. You deployed a container to Cloud Run but it fails to start. The error says the container does not listen on the expected port. What is the likely cause?
medium
A. Cloud Run requires containers to listen on the port defined by the PORT environment variable.
B. Cloud Run only supports containers that listen on port 80 hardcoded.
C. Cloud Run does not allow containers to listen on any port.
D. Cloud Run automatically assigns a random port and no configuration is needed.
Solution
Step 1: Identify Cloud Run port requirement
Cloud Run expects containers to listen on the port specified by the PORT environment variable it sets.
Step 2: Understand common error cause
If the container listens on a different port, Cloud Run cannot route traffic correctly, causing startup failure.
Final Answer:
Cloud Run requires containers to listen on the port defined by the PORT environment variable. -> Option A
Quick Check:
Listen on PORT env variable = B [OK]
Hint: Containers must listen on PORT env variable in Cloud Run [OK]
Common Mistakes:
Assuming port 80 is always used
Thinking Cloud Run forbids listening on ports
Believing no port configuration is needed
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.