Bird
Raised Fist0
GCPcloud~3 mins

Why Health checks configuration in GCP? - Purpose & Use Cases

Choose your learning style10 modes available
The Big Idea

What if your website could fix itself before you even notice a problem?

The Scenario

Imagine you run a website and want to make sure it is always available. You try to check manually if your servers are working by opening them one by one in a browser or pinging them yourself.

The Problem

This manual checking is slow and tiring. You might miss when a server goes down, causing your users to see errors. It's easy to forget or make mistakes, and you can't react fast enough to fix problems.

The Solution

Health checks automatically test your servers regularly. They tell your system if a server is healthy or not, so traffic only goes to working servers. This keeps your website reliable without you watching all the time.

Before vs After
✗ Before
Open browser -> Check server 1
Open browser -> Check server 2
Repeat every hour
✓ After
Configure health check -> System tests servers every minute -> Automatically route traffic
What It Enables

Health checks let your system detect problems early and keep your services running smoothly without manual effort.

Real Life Example

A popular online store uses health checks to make sure customers never get stuck on a broken page. If one server fails, traffic moves instantly to healthy ones, so shopping stays easy and fast.

Key Takeaways

Manual server checks are slow and unreliable.

Health checks automate monitoring and improve uptime.

They help systems respond quickly to failures and keep users happy.

Practice

(1/5)
1.

What is the main purpose of a health check in Google Cloud Platform?

easy
A. To increase server storage capacity
B. To monitor if servers are working properly
C. To speed up network traffic
D. To backup data automatically

Solution

  1. Step 1: Understand health check function

    Health checks regularly test if servers respond correctly to requests.
  2. Step 2: Identify main purpose

    This helps detect unhealthy servers so they can be fixed or replaced.
  3. Final Answer:

    To monitor if servers are working properly -> Option B
  4. Quick Check:

    Health check = Monitor server health [OK]
Hint: Health checks watch server health, not storage or speed [OK]
Common Mistakes:
  • Confusing health checks with backups
  • Thinking health checks increase speed
  • Assuming health checks add storage
2.

Which of the following is the correct way to specify a TCP health check in a Google Cloud load balancer configuration?

{
  "type": "TCP",
  "port": 80,
  "checkIntervalSec": 5
}
easy
A. { "type": "TCP", "port": 80, "checkIntervalSec": 5 }
B. { "type": "HTTP", "port": 80, "checkIntervalSec": 5 }
C. { "type": "UDP", "port": 80, "checkIntervalSec": 5 }
D. { "type": "ICMP", "port": 80, "checkIntervalSec": 5 }

Solution

  1. Step 1: Identify correct health check type

    TCP health checks use "type": "TCP" to test TCP connections on the port.
  2. Step 2: Match correct JSON syntax

    The example matches the correct syntax with type TCP, port 80, and interval 5 seconds.
  3. Final Answer:

    { "type": "TCP", "port": 80, "checkIntervalSec": 5 } -> Option A
  4. Quick Check:

    TCP type with port 80 = { "type": "TCP", "port": 80, "checkIntervalSec": 5 } [OK]
Hint: TCP health check uses type "TCP" exactly [OK]
Common Mistakes:
  • Using HTTP instead of TCP for TCP check
  • Using unsupported types like UDP or ICMP
  • Wrong JSON syntax or missing fields
3.

Given this health check configuration snippet, what will happen if the server does not respond within 10 seconds?

{
  "type": "HTTP",
  "port": 8080,
  "timeoutSec": 10,
  "unhealthyThreshold": 3
}
medium
A. The server is marked unhealthy after 3 failed checks
B. The server is immediately removed after 1 failed check
C. The server is marked healthy regardless of response time
D. The server is restarted after 10 seconds

Solution

  1. Step 1: Understand timeout and threshold

    The timeoutSec of 10 means the check waits 10 seconds for a response before failing.
  2. Step 2: Apply unhealthyThreshold logic

    The server must fail 3 consecutive checks to be marked unhealthy.
  3. Final Answer:

    The server is marked unhealthy after 3 failed checks -> Option A
  4. Quick Check:

    Timeout + 3 failures = unhealthy after 3 tries [OK]
Hint: Unhealthy threshold counts failures before marking unhealthy [OK]
Common Mistakes:
  • Thinking server is removed immediately after 1 failure
  • Ignoring unhealthyThreshold setting
  • Assuming server restarts automatically
4.

Identify the error in this health check configuration snippet:

{
  "type": "HTTP",
  "port": "eighty",
  "requestPath": "/health",
  "checkIntervalSec": 5
}
medium
A. checkIntervalSec must be at least 10 seconds
B. requestPath cannot be used with HTTP type
C. Port must be a number, not a string
D. type "HTTP" is invalid

Solution

  1. Step 1: Check port field type

    The port value is "eighty" as a string, but it must be a numeric value like 80.
  2. Step 2: Validate other fields

    requestPath is valid for HTTP, checkIntervalSec can be 5, and type "HTTP" is correct.
  3. Final Answer:

    Port must be a number, not a string -> Option C
  4. Quick Check:

    Port number must be numeric [OK]
Hint: Port must be a number, not words [OK]
Common Mistakes:
  • Using string instead of number for port
  • Thinking requestPath is invalid for HTTP
  • Assuming checkIntervalSec minimum is 10
5.

You want to configure a health check that verifies your web app responds with HTTP 200 on path /status every 15 seconds, and marks the server unhealthy after 2 failures. Which configuration is correct?

hard
A. { "type": "HTTP", "port": 8080, "requestPath": "/status", "checkIntervalSec": 15, "unhealthyThreshold": 2 }
B. { "type": "TCP", "port": 80, "requestPath": "/status", "checkIntervalSec": 15, "unhealthyThreshold": 2 }
C. { "type": "HTTP", "port": 80, "requestPath": "/health", "checkIntervalSec": 10, "unhealthyThreshold": 3 }
D. { "type": "HTTP", "port": 80, "requestPath": "/status", "checkIntervalSec": 15, "unhealthyThreshold": 2 }

Solution

  1. Step 1: Match health check type and path

    The app uses HTTP checks on path "/status" so type must be "HTTP" and requestPath "/status".
  2. Step 2: Verify timing and thresholds

    Check interval is 15 seconds and unhealthyThreshold is 2, matching requirements.
  3. Step 3: Confirm port number

    Port 80 is standard for HTTP, so it fits the web app default.
  4. Final Answer:

    { "type": "HTTP", "port": 80, "requestPath": "/status", "checkIntervalSec": 15, "unhealthyThreshold": 2 } -> Option D
  5. Quick Check:

    HTTP + /status + 15s + 2 failures = { "type": "HTTP", "port": 80, "requestPath": "/status", "checkIntervalSec": 15, "unhealthyThreshold": 2 } [OK]
Hint: Match type, path, interval, and threshold exactly [OK]
Common Mistakes:
  • Using TCP type for HTTP path
  • Wrong requestPath or port
  • Incorrect checkIntervalSec or unhealthyThreshold
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