Skip to main content
idle · gcp

Vertex AI Feature Store online stores with provisioned nodes and no serving requests

resource types
1
rule IDs covered
1
severity
medium

What does ZopNight detect here?

Vertex AI Feature Online Stores are flagged when their node count shows provisioned serving capacity but `aiplatform.googleapis.com/featureonlinestore/online_serving/request_count` records no requests. Bigtable online serving and Optimized online serving nodes are both priced per node hour, so a store nothing reads keeps billing, and ZopNight counts its whole cost as the saving.

Signal and threshold

How ZopNight evaluates Vertex AI Feature Store online stores with provisioned nodes and no serving requests.
Field Value
Rule IDsRC-1218
Categoryidle
Severitymedium
Metricaiplatform.googleapis.com/featureonlinestore/online_serving/request_count
Thresholdprovisioned nodes with zero serving requests
Evaluation windowup to 42d
SourceZopNight
Permissions usedaiplatform.featureOnlineStores.list · aiplatform.featureOnlineStores.get · monitoring.timeSeries.list

Serving nodes that nothing reads from

A Feature Online Store is the low-latency serving layer of Vertex AI Feature Store: models read feature values from it at prediction time. Its cost is the serving capacity behind it. Google’s Vertex AI pricing lists Bigtable online serving nodes and Optimized online serving nodes as hourly node charges, with Bigtable online serving storage billed per GiB-hour on top. Optimized serving runs a minimum of 2 replicas per node for availability, and you are charged for the replicas.

When the model that used the store is retired or moved, the store is easy to forget. It has no traffic of its own to draw attention, only a steady line on the bill.

Checking a store’s traffic

List stores in a region with the Vertex AI REST API:

Terminal window
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/featureOnlineStores"

In Metrics Explorer, chart aiplatform.googleapis.com/featureonlinestore/online_serving/request_count for the store over 30 days, next to its node count under featureonlinestore/storage.

How ZopNight decides the store is idle

  1. A node-count measurement exists for the store, proving it has provisioned serving capacity and that its telemetry is arriving.
  2. Online serving requests are zero across whatever metric history ZopNight holds, up to 42 days, with no minimum history. If the request series has no data points at all, that is read as zero requests, because the node count shows the store is being measured.
  3. The store carries a real cost in your billing data.

Stores that are not flagged

Any serving request in the window clears the store. Without a node-count measurement, the rule does not act on the absence of requests alone, since that could simply be missing data. Stores with no attributed cost are skipped rather than priced from list rates. The legacy Feature Store has its own check, GCP Vertex AI Feature Store Idle.

Counting the saving

Terminal window
saving = current monthly store cost
cost after deletion = 0

Deleting an unused online store

  1. Confirm no model or application reads online features from the store, and stop any online serving that is still in progress.
  2. Record the feature views it contains and their settings, so they can be recreated if needed.
  3. Delete the store and its feature views in one call with force=true, per Google’s deletion guide:
    Terminal window
    curl -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/featureOnlineStores/STORE_NAME?force=true"

See it fire on your bill.

Connect an account read-only. The first findings land in minutes.

472 rule families across 353 resource types on 22 platforms. Every threshold, metric, and IAM action is documented on these pages before you grant anything.

472 rule families documented
353 resource types covered
read-only default access level
Multi-cloud automation· Production-ready in 30 min· SOC 2 · ISO 27001· 20–60% off the bill, first month· 4 platforms · 1 console· Multi-cloud automation· Production-ready in 30 min· SOC 2 · ISO 27001· 20–60% off the bill, first month· 4 platforms · 1 console·