Storage cost

Cast AI provides visibility into storage costs as part of its comprehensive cost-monitoring capabilities for Kubernetes clusters. This dimension lets you track and analyze the costs associated with persistent volumes (PVs) and ephemeral storage in your clusters.

Overview

Storage costs can be a significant component of overall Kubernetes cluster expenses. Cast AI's storage cost monitoring helps you:

  • Track and visualize storage provisioning, requested capacity, and costs across your clusters.
  • Identify storage over-provisioning and optimization opportunities.
  • Break down storage costs by cluster, namespace, and workload.

Supported Storage

Cast AI's storage cost monitoring feature is designed for the storage types described in the following sections. While other cloud providers or Kubernetes distributions are not currently supported, Cast AI is committed to expanding support to other major cloud providers and storage types in future releases.

GKE Persistent Volumes and Ephemeral Storage

Cast AI supports storage cost monitoring features for:

  • Google Kubernetes Engine (GKE) clusters running on Google Cloud Platform (GCP)
  • GCP persistent disk types used as Kubernetes persistent volumes (PVs)
  • Ephemeral storage provisioned on cluster nodes

📘

Note

While ephemeral storage is included in totals, detailed cost and requested capacity analysis is only available for persistent volumes.

Supported Persistent Disk Types

The following Google Cloud persistent disk types are supported:

StringNameCategoryDescription
pd-standardStandard persistent diskHDDBacked by standard hard disk drives (HDD).
pd-balancedBalanced persistent disksSSDBacked by solid-state drives (SSD). They are an alternative to SSD persistent disks that balance performance and cost.
pd-ssdSSD persistent diskSSDBacked by solid-state drives (SSD).

Amazon AWS Elastic Block Store (EBS)

Default storage type when creating an Amazon EKS cluster. Cast AI supports reporting data for EBS volumes when used as Kubernetes persistent volumes (PVs) in Amazon EKS clusters.

📘

Important limitations

  • Only provisioned capacity costs are currently monitored and reported
  • Additional pricing components (IOPS and throughput) are not included in cost calculations
  • Only persistent volumes are supported; ephemeral storage monitoring is not yet available for EKS clusters

Supported Persistent Disk Types

The following Amazon EBS volume types are supported for capacity cost reporting:

Volume TypeNameCategoryDescription
io2 Block ExpressAmazon EBS Provisioned IOPS SSD volumeSSDHighest performance SSD volume
io1Amazon EBS Provisioned IOPS SSD volumeSSDHigh-performance SSD
gp3Amazon EBS General Purpose SSD volumeSSDGeneral purpose SSD
gp2Amazon EBS General Purpose SSD volumeSSDGeneral purpose SSD
st1Throughput Optimized HDD volumeHDDThroughput-optimized HDD
sc1Cold HDD volumeHDDCold storage HDD

Metrics Tracked

Cast AI collects and reports on the following storage metrics, with availability varying by cloud provider:

Cloud providerProvisioned persistent storage capacityClaimed persistent storage capacityEphemeral storageStorage costs
GCP (GKE)Persistent + Ephemeral
AWS (EKS)-Persistent only (capacity costs)

📘

Note

For AWS EKS clusters, only provisioned capacity costs are included in storage cost calculations. IOPS and throughput costs are not currently included.

Understanding Storage Metrics

  • Provisioned storage: Total storage capacity provisioned in the cluster (persistent + ephemeral).
  • Claimed storage: Persistent storage capacity requested and bound to workloads.
  • Over-provisioning: Difference between provisioned and claimed persistent storage.

Storage costs are calculated based on the provisioned capacity and pricing for the specific disk type.

Viewing Storage Metrics

Storage metrics are integrated throughout the Cast AI console reporting suite and available via our public APIs.

Cluster-level Reports

Cluster Dashboard

The cluster dashboard now includes a storage gauge showing the following:

  • Total provisioned storage capacity (persistent + ephemeral)
  • Amount of persistent storage requested by workloads
Storage widget in the Cluster Dashboard

Storage widget in the Cluster Dashboard

  • Storage utilization metrics (based on persistent storage claims vs. total provisioned storage)
Storage utilization widget in the Cluster Dashboard

Storage utilization widget in the Cluster Dashboard

Cluster Cost

The Cluster compute cost report includes average storage costs per GiB, reflecting both persistent and ephemeral storage:

Average daily cost per resource, including storage

Average daily cost per resource, including storage

Total cost metrics in the Cluster cost report now account for storage costs, which are included in the totals:

Daily compute spending details

Daily compute spending details

Cluster Efficiency

The Efficiency tab has an at-a-glance Storage widget showing storage over-provisioning:

As well as a dedicated Storage section showing:

  • Graphs of provisioned vs. claimed storage capacity and costs over time.

  • A table of daily storage efficiency details, like cost per provisioned and requested storage, and overprovisioning information.

Workloads

Workload-level reports include:

  • Storage claimed by each workload
  • Associated storage costs

Detailed storage cost and requested capacity information at the workload level allow you to analyze storage requests for individual applications or services within your clusters.

The Workloads compute cost page provides a high-level summary of storage costs across all workloads:

Key features:

  • Storage cost and capacity (GiB) for each workload
  • Ability to filter and sort workloads based on storage requests

Individual Workload View

Clicking on a specific workload provides a detailed view of its storage requests and costs:

  1. Cost Overview:

    • Average daily cost per resource type, including storage:
    Average daily cost per resource, including storage

    Average daily cost per resource, including storage

  2. Provisioned Storage Cost:

    • Chart showing provisioned storage cost over time
    Provisioned storage cost over time

    Provisioned storage cost over time

  3. Daily Compute Cost Details:

    • Detailed table showing daily storage costs
    • Includes storage capacity (GiB) provisioned each day
    • Cost per GiB of storage
Daily compute cost details

Daily compute cost details

Namespaces

Detailed storage cost and requested capacity information at the namespace level allow you to analyze storage requests across different groupings within your clusters.

The Namespaces overview page provides a summary of storage costs across all namespaces:

  • Storage cost and requested capacity (GiB) for each namespace
  • Detailed list of namespaces with storage metrics
  • Ability to filter and sort namespaces based on storage requests
Cost breakdown for namespaces on a cluster

Cost breakdown for namespaces on a cluster

Individual Namespace View

Clicking on a specific namespace provides a detailed view of its storage requests and costs.

Organization-level Reports

Organization-wide views allow you to analyze storage costs and capacity requests across all clusters in your organization. These reports offer a higher-level perspective on your Kubernetes infrastructure costs.

The organization cluster cost report gives you a comprehensive view of storage costs across all your clusters:

Key features:

  • At-a-glance total storage cost for all clusters in the organization
  • Storage capacity (GiB) provisioned across all clusters
Total storage cost for all clusters in the right-most widget

Total storage cost for all clusters in the right-most widget

  • Storage capacity and cost breakdown by cluster

This breakdown helps you identify which clusters consume the most storage resources and incur the highest costs, allowing for targeted optimization efforts.

Recommendations and Best Practices

To optimize storage costs:

  1. Right-size your persistent volume claims (PVCs) based on actual requested and claimed capacity observed by leveraging Cast AI's reports.
  2. Use storage classes with the appropriate performance characteristics for your use case.
  3. Clean up unused PVs and PVCs.

By leveraging Cast AI's storage cost monitoring, you can gain deeper insights into your Kubernetes storage expenses and identify opportunities for optimization across both persistent and ephemeral storage resources.