ComparisonJune 22, 2026
FinOpsTerraformObservabilityCloudCost

Infracost in VSCode Is Shift-Left Done Right — But It Stops at Deployment

Real-time cloud cost dashboard showing spend analytics and alerting charts across multiple cloud providers
Ground truthInfracost's VSCode extension surfaces Terraform cost estimates inline as you write IaC — that is genuinely useful for catching a 22-instance typo before it ships. But estimated list prices are not ground truth. They ignore reserved instance discounts, spot volatility, GPU utilization spikes, and the 24–48-hour billing lag baked into every major cloud provider. Cletrics is the real-time layer that picks up where Infracost stops: actual spend, sub-1-minute alerting, and multi-cloud unit economics against what you were billed — not what the pricing API predicted. This article is for platform engineers, SREs, and FinOps owners at teams spending $50k+/month who already use IaC cost tools and want to close the estimation-to-billing gap.

Infracost in VSCode: What It Actually Does

The Infracost VSCode extension renders estimated monthly costs inline above your Terraform resource blocks as you type. Save the file, get a cost delta. Open a PR, get a comment with the diff. It's a clean developer experience built on a pricing API covering 3M+ public cloud prices.

For catching the obvious mistakes — spinning up 22 `m5.4xlarge` instances when you meant 2, or picking `us-east-1` without checking that `us-west-2` is 12% cheaper for the same SKU — it works. The Infracost documentation also notes that Claude, GitHub Copilot, and Cursor can query the same pricing data during code generation, which is a real productivity win.

The tool is genuinely useful. The problem is where it stops.

---

Which Cloud Cost Platform Is Best for DevOps Teams?

This is the question teams ask when Infracost estimates stop matching invoices. The honest answer: no single pre-deployment estimation tool is sufficient for DevOps teams above $50k/month. You need both a shift-left layer (Infracost-style) and a real-time observability layer that tracks actual spend against what was provisioned.

Here is what the major platforms actually do — and where each one stops:

| Platform | Data Source | Alerting Latency | GPU/AI Cost Visibility | Multi-Cloud | |---|---|---|---|---| | Infracost | Static IaC plan | None (pre-deploy only) | None (no runtime) | Terraform + CF | | Kubecost | K8s metrics + billing | ~1h (billing-dependent) | Container-level only | K8s clusters | | CloudZero | Cost allocation tags | 24–48h billing lag | Limited | AWS-first | | Vantage | Cloud billing APIs | 24–48h billing lag | Passthrough only | AWS + Azure + GCP | | Cloudability | Billing exports | 24–48h billing lag | None native | Multi | | Finout | Billing + tags | 24–48h billing lag | Limited | Multi | | Datadog | APM + billing | Near-real-time APM, 24h cost | APM traces only | Multi | | Cletrics | Real-time telemetry | <1 minute | GPU utilization + cost | AWS + Azure + GCP |

The billing-lag column is the one most teams don't ask about before they buy. Every platform that pulls from cloud billing exports — which is most of them — inherits the provider's 24–48-hour latency. That latency is not a product limitation; it is a data-source limitation. The only way around it is real-time telemetry that does not wait for the billing pipeline.

---

The Estimation-to-Billing Gap: Where the 30–50% Variance Comes From

Infracost prices resources against public list prices. That is the right starting point. It is not the ending point.

Four categories of spend that Infracost cannot see:

1. Commitment-based discounts: Reserved Instances, Savings Plans, and Committed Use Discounts can reduce effective rates 30–60% below list. Infracost estimates at list unless you configure custom prices — and most teams don't. 2. Spot and preemptible instance churn: Spot prices move continuously. A Terraform plan that estimates $0.096/hr for a `p3.2xlarge` spot instance may actually cost $0.31/hr during a regional capacity crunch, or $0 if the instance is interrupted and replaced three times in an hour. 3. Usage-based services: Data transfer, API Gateway calls, Lambda invocations, S3 request counts — none of these are knowable at plan time. They are runtime artifacts. 4. GPU and AI inference workloads: An H100 cluster running fine-tuning at 94% utilization costs very differently than the same cluster idling at 12% between jobs. Infracost sees the instance type. It cannot see the utilization.

The cloudatler.com breakdown of Infracost describes this well: the tool catches pre-deployment cost surprises, but is silent on runtime cost drift. That silence is expensive.

---

What Real-Time Telemetry Catches That Billing Exports Miss

Here is a concrete scenario that plays out regularly on teams using only IaC cost tools.

A platform team provisions a GPU training cluster via Terraform. Infracost estimates $4,200/month — reasonable for the spec. The cluster runs a Friday-evening fine-tuning job, completes, and should scale to zero. A misconfigured autoscaler keeps two `p4d.24xlarge` instances warm all weekend. By Monday morning, $6,800 has been spent. The billing export won't reflect this until Tuesday at the earliest.

With 1-minute alerting on actual spend, that anomaly fires within 60 seconds of the cost rate crossing a threshold. The weekend waste is caught in hours, not days.

This is the gap Cletrics was built to close. The stack is OpenTelemetry-based telemetry feeding ClickHouse, with alerting logic that runs against actual spend rate — not billing exports, not estimated costs. When a GPU cluster goes rogue at 2 AM on a Saturday, the alert fires before the next billing cycle opens.

---

How to Make Cost Alerts Actionable for Engineers

The biggest complaint about FinOps tooling from engineering teams is alert noise. A platform that fires 40 alerts a day trains engineers to ignore all 40. Actionable alerting requires three properties: specificity (which resource), causality (why it spiked), and ownership (who can fix it).

Infracost's CI/CD PR comments are a good model for specificity — they show exactly which resource changed and by how much. The limitation is that they only fire on code changes, not on runtime drift.

For post-deployment alerting to be actionable:

A 48-hour billing lag fails the third criterion by definition. By the time the alert fires, the engineer has shipped three more changes and the causal link is broken.

---

Aligning Finance and Engineering on Cloud Spend

FinOps maturity models describe a crawl-walk-run progression. Most teams using Infracost are in the walk phase: cost is visible, engineers are aware, but the feedback loop between estimated and actual spend is broken.

The run phase requires ground truth data — actual spend reconciled against estimates, broken down by service, team, and unit of work. That means:

These unit economics are not derivable from Terraform plans. They require runtime telemetry correlated with application metrics. Finance needs this data to do accurate forecasting. Engineering needs it to prioritize optimization work. Without a shared ground truth, the conversation between the two teams defaults to arguing about whose estimate is less wrong.

---

What to Ask Before Buying a Cloud Cost Monitoring Tool

If you are evaluating platforms — Kubecost, Finout, CloudZero, Vantage, Cloudability, Datadog, or Cletrics — these are the questions that separate tools that look good in demos from tools that hold up at $500k/month:

1. What is your alerting latency on actual spend? If the answer involves billing exports, the real answer is 24–48 hours. 2. How do you handle GPU and AI workload cost visibility? Ask for a specific example with utilization data, not just instance-hour cost. 3. Can you show cost per unit of work — per inference, per request, per user? Dashboards that only show account-level totals are not unit economics. 4. How do you handle reserved instance and savings plan effective rates? List price vs. effective price is a 30–60% difference on mature AWS accounts. 5. What happens when a resource is not in Terraform? Shadow IT, manual console changes, and auto-scaling resources are invisible to IaC-based tools.

No tool answers all five questions perfectly. The goal is to know which gaps you are accepting before you sign.

---

Shift-Left + Shift-Right: The Complete FinOps Loop

Infracost is not a competitor to real-time cost observability. It is a complement. The complete FinOps loop requires both:

Teams that run only shift-left tools are flying blind from the moment `terraform apply` completes. Teams that run only billing-export tools are always looking at yesterday's spend. The combination closes the loop.

If you are spending $50k+/month and your only post-deployment cost signal is a billing dashboard with a 48-hour lag, scheduling a call to see cletrics is the fastest way to see what the gap actually looks like on your own account data.

Frequently asked questions

Which cloud cost platform is best for DevOps teams?

For DevOps teams, the best setup combines a shift-left tool like Infracost for pre-deployment estimates with a real-time observability layer like Cletrics for post-deployment actual spend. Platforms that rely solely on billing exports — including Kubecost, CloudZero, Vantage, and Cloudability — inherit a 24–48-hour data lag that makes runtime anomaly detection impossible. DevOps teams need sub-1-minute alerting on actual spend, not estimates.

What are the biggest limitations of Infracost's VSCode extension?

Infracost estimates are based on static list prices — they do not reflect reserved instance discounts, spot volatility, GPU utilization, or usage-based service costs. The tool is pre-deployment only: it cannot detect runtime cost drift, weekend batch job overruns, or auto-scaling anomalies after `terraform apply`. It is a useful shift-left tool but provides no post-deployment observability.

What are the biggest limitations of CloudZero?

CloudZero's core limitation is its reliance on cloud billing exports, which carry a 24–48-hour lag. This makes it unsuitable for real-time anomaly detection. Its cost allocation model is powerful but requires significant tagging discipline to implement. GPU and AI workload cost visibility is limited, and it is primarily AWS-first in practice despite multi-cloud claims.

What are the biggest limitations of Vantage?

Vantage provides clean multi-cloud dashboards but is constrained by the same 24–48-hour billing export lag as other billing-API-based tools. It does not offer real-time telemetry or sub-hour alerting on actual spend. Unit economics (cost per request, cost per inference) are not a native capability. It is well-suited for cost reporting but not for real-time cost control.

What are the biggest limitations of Kubecost?

Kubecost is Kubernetes-native, which is its strength and its ceiling. It has limited visibility into non-K8s cloud spend — serverless, managed services, GPU clusters outside Kubernetes, and cross-cloud costs. Alerting latency depends on billing data freshness, typically 1–4 hours for in-cluster metrics but 24h+ for cloud bill reconciliation. It is not a multi-cloud FinOps platform.

How do I make cost alerts actionable for engineers?

Actionable cost alerts require three properties: specificity (which resource or service caused the spike), causality (correlation with a recent deployment or job), and ownership (routed to the team that controls the resource). Alerts firing 24–48 hours after the event break the causal link — engineers cannot correlate a billing alert with a deployment they ran two days ago. Sub-1-minute alerting on actual spend preserves that correlation.

What should I look for in a real-time cloud cost vendor?

Ask specifically: (1) What is your alerting latency on actual spend — is it billing-export-based or real-time telemetry? (2) Can you show GPU utilization cost, not just instance-hour cost? (3) Do you support unit economics — cost per request, per inference, per user? (4) How do you handle effective rates after reserved instances and savings plans? Tools that cannot answer these concretely are billing dashboards, not cost observability platforms.

What are the biggest limitations of Datadog cost monitoring?

Datadog's cost monitoring is an add-on to its APM/infrastructure platform, not a purpose-built FinOps tool. Cost data still relies on cloud billing exports with 24-hour lag for actual spend. APM traces can correlate performance with cost, but billing-level accuracy and multi-cloud cost allocation are not Datadog's core competency. Teams often end up paying Datadog's premium pricing for cost features that purpose-built FinOps tools handle better.