Use regional views for resilient control-plane reads

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 projectViews endpoint provides regional read-only access to the global project resource.
  • OS images: the imageViews endpoint 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 projectViews and imageViews API 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