1. Google Cloud Blog - Tutorial: Autoscaling Cloud Spanner: This official tutorial explicitly details the recommended architecture for autoscaling Cloud Spanner. It states
"In this architecture
Cloud Monitoring periodically checks the CPU utilization of your Spanner instance. When the CPU utilization crosses a threshold
Monitoring sends a notification to a webhook. The notification triggers a Cloud Function that adds or removes a node from your Spanner instance." This directly validates option D.
Source: Google Cloud Blog
"Autoscaling Cloud Spanner".
2. Cloud Monitoring Documentation - Notification options: The official documentation lists webhooks as a notification channel. It explains
"You can use webhooks to send a notification to other services... When you create a webhook notification channel
you provide a URL to which Monitoring sends a POST request when a notification is triggered." This confirms the trigger mechanism.
Source: Google Cloud Documentation
Cloud Monitoring
"Notification options"
Section: "Webhooks".
3. Cloud Spanner Documentation - Monitoring with Cloud Monitoring: The documentation highlights high-priority CPU utilization as a key metric for monitoring Spanner performance and determining when to scale. It recommends keeping CPU utilization below 65% for multi-region instances and 75% for regional instances to ensure optimal performance. This validates using CPU metrics as the basis for scaling decisions.
Source: Google Cloud Documentation
Cloud Spanner
"Monitoring with Cloud Monitoring"
Section: "Alerting".
4. Cloud Functions Documentation - HTTP Triggers: This documentation explains how to create functions that can be invoked via HTTP requests
which is precisely how a webhook integration works. "HTTP functions can be invoked from standard HTTP requests. These functions must send a response."
Source: Google Cloud Documentation
Cloud Functions
"Develop"
"HTTP Triggers".