# OneLens Operational Cost

## Amazon Web Services (AWS)

The following table outlines the key cost components associated with the integration to help you estimate costs for your AWS infrastructure.

<table data-full-width="false"><thead><tr><th width="230.42578125">Feature</th><th width="295.85546875">Unit of Usage</th><th width="188.71875">Estimated Cost</th></tr></thead><tbody><tr><td><a href="#cost-optimization-policies"><strong>Cost Optimization Policies</strong></a></td><td>~10,000 Resources</td><td>~$0.7 per day</td></tr><tr><td><a href="#cost-estimate-based-on-storage-size"><strong>Cost Reporting</strong></a></td><td>100 GB CUR</td><td>~$2.30 per month</td></tr><tr><td><a href="#automated-remediation"><strong>Automated Remediation</strong></a></td><td>1 Runbook execution <em>(after free tier)</em></td><td>~$0.31 per execution</td></tr><tr><td><a href="#agent-cost-based-on-number-of-pods"><strong>Kubernetes Agent</strong></a></td><td>Monitoring 500 pods</td><td>~$6 per month</td></tr><tr><td><a href="#additional-cost-for-split-allocation-in-eks"><strong>EKS Split Allocation</strong></a></td><td>10,000 pods</td><td>~$2.73 per month</td></tr></tbody></table>

{% hint style="warning" %}
These are *illustrative estimates*. Actual cost may vary based on your **workloads** and **AWS pricing region**.&#x20;
{% endhint %}

{% hint style="success" %}
For general understanding, the **simplified version of OneLens** that is without automated remediation and K8 Agent, the cost will be **less than $10/month**.&#x20;

The remaining cost is highly variable:

* **Remediations**: It depends on the number of runs you execute.
* **Kubernetes Agent**: It varies based on the number of pods you run simultaneously.
  {% endhint %}

The sections below breaks down where charges apply and how they’re calculated:

### Costs incurred for Optimization Policies

OneLens cost optimization policies targets **to find cost optimization opportunities** in your AWS resources with 3 types of datasets:

1. **Resource metadata** that tells the resource configuration
2. **Resource metrics** relevant to policy evaluation
3. **Cost and Usage Report (CUR)** data

{% hint style="info" %}

## Few examples to understand this better

* Evaluating GP2 EBS volumes for migration to GP3, and identifying EC2 instances suited for Graviton, both rely entirely on resource configuration.
* Evaluating underutilized instance in EC2, RDS, MSK requires resource configuration and metrics data.
* Finding idle resources will combine resource configuration, metrics and cost data.
  {% endhint %}

### Costs incurred for Resource and Metric Data Extraction

OneLens leverages the **official AWS SDK** **to collect** both resource and metric cost data. Currently, it onboarded **15 AWS services** and gathers only the metadata and metrics related to these specific services.&#x20;

**Retrieving resource metadata is entirely free.** However, the cost is incurred in getting the metrics information. OneLens collect CloudWatch metrics using the **`GetMetricData`** API, typically charged at $.01 for 1000 API calls.&#x20;

Costs are primarily driven by the number of API calls, calculated using the following formula:

> **Total API Calls per day = Σ (#Metrics × Resources)**

Where:

* **Metrics**: The number of CloudWatch metrics collected per resource (varies by service).
* **Resource Count**: The number of resources available in your accounts for each service.

{% hint style="success" %}

## NOTE

The cost of extracting metrics does not depend on your Cloud bill but actual number of resources under the services OneLens monitor.&#x20;

For instance, a small bill of $50K/year bill may have 1 million resources, leading to high cost. Whereas, a $10M/year account may have a few resources (such as costly GPU machines).
{% endhint %}

<details>

<summary>Sample Estimate</summary>

For simplicity, lets assume you have 10000 EC2 instances and  100 resources across 14 other services we observe. The table below simplifies the calculations for this infrastructure:&#x20;

<table><thead><tr><th width="228.3828125">Service (Namespace)</th><th width="100.51953125"># Metrics</th><th># Resources</th><th width="118.67578125">API Calls/Day</th><th>Cost/Day ($)</th></tr></thead><tbody><tr><td>AWS/EC2</td><td>7</td><td>10,000</td><td>70,000</td><td>0.70</td></tr><tr><td>AWS/RDS</td><td>6</td><td>100</td><td>600</td><td>0.006</td></tr><tr><td>AWS/DynamoDB</td><td>3</td><td>100</td><td>300</td><td>0.003</td></tr><tr><td>AWS/ElastiCache</td><td>27</td><td>100</td><td>2,700</td><td>0.027</td></tr><tr><td>AWS/ApplicationELB</td><td>1</td><td>100</td><td>100</td><td>0.001</td></tr><tr><td>AWS/NetworkELB</td><td>1</td><td>100</td><td>100</td><td>0.001</td></tr><tr><td>AWS/GatewayELB</td><td>1</td><td>100</td><td>100</td><td>0.001</td></tr><tr><td>AWS/PrivateLinkEndpoints</td><td>1</td><td>100</td><td>100</td><td>0.001</td></tr><tr><td>AWS/Redshift</td><td>2</td><td>100</td><td>200</td><td>0.002</td></tr><tr><td>AWS/ES</td><td>13</td><td>100</td><td>1,300</td><td>0.013</td></tr><tr><td>AWS/S3</td><td>3</td><td>100</td><td>300</td><td>0.003</td></tr><tr><td>CWAgent</td><td>2</td><td>100</td><td>200</td><td>0.002</td></tr><tr><td>AWS/Lambda</td><td>4</td><td>100</td><td>400</td><td>0.004</td></tr><tr><td>LambdaInsights</td><td>1</td><td>100</td><td>100</td><td>0.001</td></tr><tr><td>AWS/NATGateway</td><td>5</td><td>100</td><td>500</td><td>0.005</td></tr><tr><td><strong>Total</strong></td><td><strong>77</strong></td><td></td><td><strong>76,000</strong></td><td><strong>0.76</strong></td></tr></tbody></table>

</details>

### Costs incurred for Reporting (CUR 2.0)

The cost you incur here is for storing the Cost and Usage Report (CUR 2.0) in your S3 bucket. You are charged for the storage of the CUR report before OneLens ingests the data for analysis and provides granular insights.

<details>

<summary>Cost Estimate Based on Storage Size</summary>

| **Storage Size** | **Approx. Cost per Month** |
| ---------------- | -------------------------- |
| 100 GB -500 GB   | $2.30 - $11.50             |
| 500GB – 1 TB     | $11.50 - $23.00            |
| 1 TB – 2 TB      | $23.00 - $46.00            |

{% hint style="success" %}
The AWS cost pricing for storage is based on the region where the bucket is stored. To get the exact cost as per your region, head to [AWS S3 pricing](https://aws.amazon.com/s3/pricing/).
{% endhint %}

</details>

### Costs incurred for Automated Remediation

When automated remediation is enabled, you are charged based on the AWS Systems Manager services used during runbook execution via Change Manager and Systems Manager Automation.

<details>

<summary>Charges Based on AWS Pricing</summary>

| Components       | Cost                | Free Tier Limits                   |
| ---------------- | ------------------- | ---------------------------------- |
| Change Request   | $0.296 per request  | 30 days free trial per new account |
| Automation Steps | $0.002              | Upto 100,000 steps/month           |
| Script Duration  | $0.00003 per second | Upto 5,000 seconds/month           |

</details>

{% hint style="warning" %}
**NOTE** : Charges apply after exceeding the **free tier limits**.
{% endhint %}

<details>

<summary><strong>Estimate Example</strong>: Cost for running EBS volumes migration from gp2 to gp3 runbook</summary>

After exhausting your free tier, here’s the breakdown of the charges for a runbook called **migrating EBS volumes from gp2 to gp3**:

| Component        | Units       | Price Per Unit | Total Cost              |
| ---------------- | ----------- | -------------- | ----------------------- |
| Change Request   | 1 request   | $0.296         | $0.296                  |
| Automation Steps | 7 steps     | $0.002         | $0.014                  |
| Script Duration  | 1-5 seconds | $0.00003       | $0.00003 - $0.00015     |
| **Total**        | **-**       | **-**          | **$0.31003 - $0.31015** |

</details>

### Costs incurred for K8s Visibility and Optimization

#### OneLens Agent

The OneLens agent runs as a set of lightweight pods within the cluster. These pods monitor container-level metrics, resource limits, and usage trends. The cost structure is mainly influenced by the number of pods in the cluster.

<details>

<summary>Agent Cost based on Number of Pods</summary>

The agent incurs a variable cost per cluster, based on pod count:

| Cluster Size (Pods) | CPU (Cores) | Memory (GB) | Total Monthly Cost ($) |
| ------------------- | ----------- | ----------- | ---------------------- |
| < 100               | 0.237       | 1.33        | \~ $3                  |
| 100-499             | 0.386       | 1.92        | \~ $6                  |
| 500-999             | 0.587       | 3.70        | \~ $17                 |
| 1000-1499           | 0.696       | 5.47        | \~ $22                 |
| 1500-2000           | 0.805       | 7.25        | \~ $27                 |

</details>

Please note that we run our agent pods on shared nodes. The given pricing is an indication and actual price depends on node which the pods are placed.

Refer to the [Agent Setup](https://docs.onelens.cloud/integrations/kubernetes/onelens-agent) for more details on how the agent works and how to deploy it.

#### Split Allocation in EKS

You may incur an estimated <kbd>**$2.73/month per 10,000 pods**</kbd> due to increased CUR data size and processing overhead.

Refer to the [Split Allocation Setup Guide](https://docs.onelens.cloud/integrations/kubernetes/enable-split-cost-allocation-for-eks) for steps to enable this option and understand its cost implications.

## Google Cloud Platform (GCP)

The following table outlines the key cost components associated with the integration to help you estimate costs for your GCP infrastructure.

<table><thead><tr><th width="253">Feature</th><th width="221">Unit of Usage</th><th width="218">Estimated Cost per month</th></tr></thead><tbody><tr><td>Cost Reporting (BigQuery Storage)</td><td>100 GiB billing data stored</td><td>~$1.50</td></tr><tr><td>Cost Reporting (BigQuery Queries)</td><td>1 TiB data scanned</td><td>~$6.25 per TiB</td></tr><tr><td>Cost Reporting (BigQuery Storage Read API)</td><td>1 TiB bulk read</td><td>~$1.10 per TiB</td></tr><tr><td>Resource Rightsizing / Optimization</td><td>~500 API calls per project</td><td>Free</td></tr><tr><td>Cloud Monitoring API</td><td>1000 API read calls</td><td>~$0.01 per 1K calls</td></tr><tr><td>IAM</td><td>IAM bindings to Service Account &#x26; External User</td><td>Free</td></tr><tr><td>API Enablement</td><td>15 APIs per project</td><td>Free</td></tr><tr><td>Network Egress</td><td>Per GiB transferred cross-region</td><td>~$0.12 per GiB (0-1 TiB)<br>~$0.11 per GiB (1-10 TiB)</td></tr></tbody></table>

{% hint style="warning" %}
All prices are as of February 2026 and based on standard US multi-region pricing. Actual costs may vary based on workload characteristics, query patterns, and GCP pricing updates.
{% endhint %}

Google provides generous free tiers for various usage types, relevant to our setup. Also, costs incurred for the setup largely depends on the number of projects your organisation is onboarding onto OneLens.&#x20;

Considering the above, we have listed approximate pricing for various scales applying the free tier discount (and without, as your other workloads may have exhausted the quota).

### Cost Summary (with Free tier)

<table><thead><tr><th width="229">Category</th><th width="102">10 Projects</th><th width="111">50 Projects</th><th width="110">100 Projects</th><th width="105">500 Projects</th><th width="105">1000 Projects</th></tr></thead><tbody><tr><td>BigQuery Storage</td><td>$0.00</td><td>$0.00</td><td>$0.10</td><td>$1.00</td><td>$2.12</td></tr><tr><td>BigQuery Queries</td><td>$0.00</td><td>$0.00</td><td>$0.00</td><td>$3.12</td><td>$12.50</td></tr><tr><td>BigQuery Storage Read API</td><td>$0.00</td><td>$0.00</td><td>$0.00</td><td>$0.00</td><td>$0.00</td></tr><tr><td>Cloud Monitoring</td><td>$0.00</td><td>$0.00</td><td>$0.00</td><td>$0.00</td><td>$0.00</td></tr><tr><td>IAM and Service Accounts</td><td>$0.00</td><td>$0.00</td><td>$0.00</td><td>$0.00</td><td>$0.00</td></tr><tr><td>API Enablement and Read Calls</td><td>$0.00</td><td>$0.00</td><td>$0.00</td><td>$0.00</td><td>$0.00</td></tr><tr><td>Network Egress</td><td>$1.38</td><td>$6.72</td><td>$13.44</td><td>$65.53</td><td>$133.02</td></tr><tr><td><strong>Total Monthly Cost</strong></td><td><strong>$1.38</strong></td><td><strong>$6.72</strong></td><td><strong>$13.54</strong></td><td><strong>$69.65</strong></td><td><strong>$147.64</strong></td></tr></tbody></table>

### Cost Summary (without Free tier)

<table><thead><tr><th width="189">Category</th><th width="108">10 Projects</th><th width="111">50 Projects</th><th width="106">100 Projects</th><th width="109">500 Projects</th><th width="105">1000 Projects</th></tr></thead><tbody><tr><td>BigQuery Storage</td><td>$0.02</td><td>$0.11</td><td>$0.23</td><td>$1.12</td><td>$2.25</td></tr><tr><td>BigQuery Queries</td><td>$0.31</td><td>$1.22</td><td>$2.44</td><td>$9.38</td><td>$18.75</td></tr><tr><td>BigQuery Storage Read API</td><td>$0.01</td><td>$0.05</td><td>$0.11</td><td>$0.54</td><td>$1.10</td></tr><tr><td>Cloud Monitoring</td><td>$0.02</td><td>$0.10</td><td>$0.20</td><td>$1.00</td><td>$2.00</td></tr><tr><td>IAM and Service Accounts</td><td>$0.00</td><td>$0.00</td><td>$0.00</td><td>$0.00</td><td>$0.00</td></tr><tr><td>API Enablement and Read Calls</td><td>$0.00</td><td>$0.00</td><td>$0.00</td><td>$0.00</td><td>$0.00</td></tr><tr><td>Network Egress</td><td>$1.38</td><td>$6.72</td><td>$13.44</td><td>$65.53</td><td>$133.02</td></tr><tr><td><strong>Total Monthly Cost</strong></td><td><strong>$1.74</strong></td><td><strong>$8.20</strong></td><td><strong>$16.42</strong></td><td><strong>$77.57</strong></td><td><strong>$157.12</strong></td></tr></tbody></table>

Next, let's go through each integration component to break down the costs associated.

### Costs incurred for BigQuery

This includes the cost of setting up a Detailed Usage cost report in GCP, to be ingested by OneLens for pinpointing your costs. Three components make up this cost:

<details>

<summary>BigQuery Storage</summary>

Pricing:

* Active (modified < 90 days): **$0.02/GiB/month**
* Long-term (unmodified > 90 days): **$0.01/GiB/month** (auto-transition, no action needed)
* **Free Tier:** First **10 GiB** free per month.

</details>

<details>

<summary>BigQuery Queries (On-Demand)</summary>

* **Pricing:** **$6.25/TiB** of data processed (US multi-region on-demand).
* **Free Tier:** First **1 TiB/month** free.

</details>

<details>

<summary>BigQuery Storage Read API</summary>

* **Pricing:** **$1.10/TiB** of data read via the Storage Read API.
* **Free Tier:** First **300 TiB/month** free per billing account — this is an extremely generous free tier.
* *Note: Even at 1,000 projects (< 1 TiB/month), this stays well within the 300 TiB free tier. This component is **effectively always $0.00**.*

</details>

### Costs incurred for Cloud Monitoring API Reads

This is the cost due to querying the Cloud Monitoring API to read metrics on target projects.

<details>

<summary>Cloud Monitoring</summary>

* **Pricing:** **$0.01 per 1,000 read API calls** after free tier.
* **Free Tier:** First **1,000,000 read calls** per billing account per month.
* At 1,000 projects × \~200 monitoring calls = \~200K calls/month - within the 1M free tier.
* If free tier is exhausted: 200K × ($0.01/1K) = **$2.00/month** at 1,000 projects.

</details>

### Costs incurred for Network Egress

This cost consists of the data transfer from your BigQuery dataset to our environment.

<details>

<summary>Network Egress</summary>

Egress volume estimates:

* 10 projects: 1.50 GiB results + 10 GiB Storage API = 11.50 GiB -> $1.38/month
* 50 projects: 6.00 GiB + 50 GiB = 56.00 GiB -> $6.72/month
* 100 projects: 12.00 GiB + 100 GiB = 112.00 GiB -> $13.44/month
* 500 projects: 46.08 GiB + 500 GiB = 546.08 GiB -> $65.53/month
* 1,000 projects: 92.16 GiB + 1,024 GiB = 1,116.16 GiB -> (1,024 x $0.12) + (92.16 x $0.11) = $133.02/month

</details>

### Other Components (Free)

These operations are either provided free of charge by Google or well under the free tier limits.

<details>

<summary>IAM</summary>

* Creation of Service Account
* Creation of External User
* Assigning of roles at Organization-level for Service Account and External User
* Assigning of roles at Project/Folder-level for Service Account and External User
* Assigning of roles at Billing Account-level for Service Account and External User
* Assigning of roles at Billing Project-level for Service Account and External User

</details>

<details>

<summary>APIs</summary>

* Enabling APIs at Project-level and Billing Project-level
* API Read calls for metadata & metrics
* Service Account Impersonation (Token Creator API)

</details>

<details>

<summary>Billing</summary>

* Creating a Billing Project (with a BigQuery dataset)
* Enabling Detailed Usage report

</details>

## Microsoft Azure

The following table outlines the key cost components associated with the integration to help you estimate costs for your Azure infrastructure.

<table><thead><tr><th width="226">Feature</th><th width="282">Unit of Usage</th><th width="152">Estimated Cost per month</th></tr></thead><tbody><tr><td>Cost Reporting (Storage)</td><td>45 GB billing data stored (500 subs after 12 months)</td><td>~$1.07</td></tr><tr><td>Cost Reporting (Write Operations)</td><td>60K write operations per month (500 subs)</td><td>~$0.30</td></tr><tr><td>Cost Reporting (Read Operations)</td><td>60K read operations per month (500 subs)</td><td>~$0.02</td></tr><tr><td>Azure Resource Manager API Calls</td><td>Per call</td><td>Free</td></tr><tr><td>IAM</td><td>IAM bindings to App Registration &#x26; External User</td><td>Free</td></tr><tr><td>Resource Provider Enablement</td><td>Per provider</td><td>Free</td></tr><tr><td>Network Egress (same region)</td><td>Per GB</td><td>Free</td></tr></tbody></table>

Considering different scales (by number of Subscriptions) and free tiers provided by Microsoft for various usage types, we have listed approximate pricing for this setup.

### Cost Summary

<table><thead><tr><th width="294">Feature</th><th width="95">5 Subs</th><th width="106">20 Subs</th><th width="104">50 Subs</th><th width="110">200 Subs</th><th width="112">500 Subs</th></tr></thead><tbody><tr><td>Cost Reporting (Blob Storage)</td><td>$0.01</td><td>$0.04</td><td>$0.11</td><td>$0.43</td><td>$1.07</td></tr><tr><td>Cost Reporting (Write Ops)</td><td>$0.00</td><td>$0.01</td><td>$0.03</td><td>$0.12</td><td>$0.30</td></tr><tr><td>Cost Reporting (Read Ops)</td><td>$0.00</td><td>$0.00</td><td>$0.00</td><td>$0.01</td><td>$0.02</td></tr><tr><td>Cost Management Exports</td><td>$0.00</td><td>$0.00</td><td>$0.00</td><td>$0.00</td><td>$0.00</td></tr><tr><td>Resource Rightsizing / Optimization</td><td>$0.00</td><td>$0.00</td><td>$0.00</td><td>$0.00</td><td>$0.00</td></tr><tr><td>Identity and Access Management</td><td>$0.00</td><td>$0.00</td><td>$0.00</td><td>$0.00</td><td>$0.00</td></tr><tr><td>Network Egress (Same-Region)</td><td>$0.00</td><td>$0.00</td><td>$0.00</td><td>$0.00</td><td>$0.00</td></tr><tr><td>Total Monthly Cost</td><td>$0.01</td><td>$0.06</td><td>$0.14</td><td>$0.56</td><td>$1.40</td></tr></tbody></table>

Next, let's go through each integration component to break down the costs associated.

### Costs incurred for Blob Storage

This is the cost attributed to storing and performing operations on the cost export data. This cost is divided into 3 parts:

<details>

<summary>Blob Storage</summary>

* **Cost:** $0.0238/GB/month (Hot LRS, South India, first 50 TB) + operations costs.
* After 12 months at 500 subscriptions (Typical Enterprise profile): \~45 GB → $1.07/month storage cost.
* **Storage sizing:** Based on Microsoft's reference of \~1M rows ≈ 1 GB CSV data, with \~30K rows/sub/month (typical enterprise), 2 exports, and Parquet+Snappy 8x compression.

</details>

<details>

<summary>Blob Write Operations</summary>

* **Pricing:** $0.05 per 10,000 write operations (Hot tier, South India).
* **Volume:** \~4 writes per subscription per day (2 exports x 2 files each) = \~120 writes/sub/month.
* At 500 subscriptions: 60,000 writes x ($0.05/10K) = $0.30/month.

</details>

<details>

<summary>Blob Read Operations</summary>

* **Pricing:** $0.004 per 10,000 read operations (Hot tier, South India).
* **Volume:** \~4 reads per subscription per day = \~120 reads/sub/month.
* At 500 subscriptions: 60,000 reads x ($0.004/10K) = $0.024/month.
* Extremely small cost, negligible at all scales.

</details>

### Other Components (Free)

These operations are either provided free of charge by Microsoft or well under the free tier limits.

<details>

<summary>Billing</summary>

* Azure Cost Management service
* Cost exports

</details>

<details>

<summary>IAM</summary>

* Creation of App Registration
* Creation of External User
* Roles assigned to App Registration
* Roles assigned to External User

</details>

<details>

<summary>APIs</summary>

* Enabling of Resource Providers
* API calls to Azure Resource Manager

</details>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.onelens.cloud/getting-started/onelens-operational-cost.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
