Control plane dependencies are the APIs and metadata services that manage resource definitions in your applications. To build highly available, resilient applications and to automate deployment workflows on Compute Engine, it's critical that you isolate these dependencies. Although global API endpoints provide strong consistency across all regions, any transient latency spike or disruption in the global control plane or in a remote region can delay or block local services.
To build reliable applications that can survive global API disruptions and operate independently within each region, you can configure your services to query regional views of global resources. By using regionalized read-only API endpoints to read resource definitions, your application communicates strictly with the control plane for a specific region. This regional fault isolation ensures your services stay highly available and responsive even across global disruptions.
Supported resource types
Regional view endpoints are available for the following global resources:
- Projects: the
projectViewsendpoint provides regional read-only access to the global project resource. - OS images: the
imageViewsendpoint provides regional read-only access to global OS image resources.
Limitations
Metadata for all global resources is stored in a central global database. When you create, read, update, or delete a resource using standard global API endpoints, Compute Engine requests read from and write directly to the central global database, providing strong consistency.
Regional view endpoints read resource metadata from regional read-only replicas of the central global database. Because changes are copied to these regional replicas asynchronously, you might experience the following behaviors when you query regional views:
- Slight delays: when you create, update, or delete a resource globally, it can take up to 60 seconds for that change to copy over to all regional view endpoints. During this short window, reading from a regional view might return slightly older data.
- Automatic fallback: if you request a resource from a regional view before it finishes copying to that region, Compute Engine automatically reads directly from the central global database so that your request still succeeds.
Differences between regional view and global API
The following tabs summarize the differences between regional view endpoints and standard global API endpoints for each resource type:
Projects
The following tables summarize the differences between regional view endpoints and standard global API endpoints for the project resource:
| Feature | Global API | Regional view API |
|---|---|---|
| Endpoint | Global | Regional |
| Resource URL | /projects/PROJECT_ID |
/projects/PROJECT_ID/regions/REGION/projectViews |
| Failure domain | Global | Isolated to the specified region |
| Supported methods | Read and write | Read-only (Get) |
| API quota | Consumes global API read and write quota buckets | Consumes regional API read quota buckets |
| Read-after-write consistency | Strongly consistent (reads from central global database) | Eventually consistent (reads from regional replica) |
| Quota field behavior | Returns the quota array, using cross-regional fanouts to
provide real-time quota usage data across all regions and zones. |
The quota array is excluded from the returned
Project object. Because the projectViews
endpoint reads strictly from a regional replica and does
not perform cross-region fanouts to collect quota metrics, the
quota array is not returned at all. For quota configuration
limits and accurate real-time usage metrics, query the global
projects.get
endpoint. |
OS images
The following tables summarize the differences between regional view endpoints and standard global API endpoints for the OS image resource:
| Feature | Global API | Regional view API |
|---|---|---|
| Endpoint | Global | Regional |
| Resource URL | /projects/PROJECT_ID/global/images |
/projects/PROJECT_ID/regions/REGION/imageViews |
| Failure domain | Global | Isolated to the specified region |
| Supported methods | Read and write | Read-only (Get and List) |
| API quota | Consumes global API read and write quota buckets | Consumes regional API read quota buckets |
| Read-after-write consistency | Strongly consistent (reads from central global database) | Eventually consistent (reads from regional replica) |
Pricing
Accessing regional views through regional read-only API endpoints doesn't incur additional charges. Like standard global Compute Engine API requests, requests to regional view endpoints consume your project's standard API quotas, specifically regional API read quotas, but don't incur additional fees.
Best practices for high availability
To maximize application resilience, prevent disproportionate control plane load, and avoid creating single-region hotspots, follow these reliability practices when you configure automated systems and client workloads:
- Query local regions to reduce the affected area: send
projectViewsandimageViewsAPI requests to the exact region where your client workload or deployment cluster runs. For zonal workloads, use the parent region. Localizing reads ensures that a network disruption or outage in another region doesn't impact your local service. - Detect region strings dynamically: don't hardcode specific default region strings in shared client libraries or deployment templates. Instead, dynamically detect the workload's current execution region from its local runtime environment so that multi-region failovers work transparently.
- Use regional quota isolation against competing workloads:
Compute Engine enforces API rate limits per region. Traffic spikes
or runaway scripts in one region consume read quota from that specific
region's bucket without impacting API availability or triggering rate
limits (
429 Too Many Requests) in your other critical regions.
What's next
- Learn how to Access global resources regionally for high availability.
- Learn how to Troubleshoot regional views of global resources.