Skip to content

FinOps

Last reviewed: August 2026

FinOps (Cloud Financial Operations) is a cloud cost management framework defined by the FinOps Foundation. It aims to have engineering, finance, and business teams collaborate to gain visibility into cloud costs and optimize them.

The three-phase FinOps lifecycle:

Phase Description
Inform Establish cost visibility — understand who is spending what, and how much
Optimize Optimize costs — rightsizing, reservations, spot usage, removing unused resources
Operate Ongoing operations — budget setting, anomaly detection, governance automation

Tracking “cost per user” or “cost per transaction” is more useful for business decisions than asking “what’s the monthly bill?”

Example metric Calculation
Cost per active user Monthly infrastructure cost / monthly active users (MAU)
Cost per transaction Monthly cost / requests processed per month
Infrastructure share of revenue Monthly infrastructure cost / monthly revenue

Tracking unit economics lets you verify whether costs scale linearly with traffic growth and evaluate profitability by service.

Item AWS Azure Google Cloud OCI
Cost analysis AWS Cost Explorer Microsoft Cost Management Cloud Billing Reports OCI Cost Analysis
Budgets/alerts AWS Budgets Azure Budgets Budget Alerts OCI Budgets
Recommendations/advisor AWS Cost Optimization Hub Azure Advisor Recommender Cloud Advisor
Cost allocation Cost Allocation Tags Cost Allocation (Tags + Subscriptions) Labels + Billing Account Cost Tracking Tags + Compartments

AI workloads (LLM API calls, GPU training/inference) have a fundamentally different billing structure than traditional cloud costs — token-based pricing, per-model price differences, and nondeterministic consumption driven by agent loops. Because the traditional FinOps levers of rightsizing and reservations don’t directly apply, separate governance is needed.

Item Traditional cloud cost AI cost
Billing unit Hours, GB, request count Tokens (input/output), GPU-hours, agent sessions
Predictability Estimated by resource count × unit price Nondeterministic, depending on prompt length and agent loop count
Optimization levers Rightsizing, reservations, spot, removing unused resources Model tiering, token budgets, prompt caching, circuit breakers

Practical responses:

  • Per-task token budgets — set maximum token limits per agent/API call
  • Model tiering — use lightweight models (GPT-5.4 mini, Haiku) for simple classification, high-performance models for complex reasoning
  • Prompt caching — cache recurring system prompts to reduce input token cost
  • Cost tags — track AI workloads separately with dedicated tags (ai:true, model:claude-fable-5)

The AWS FinOps Agent (Feature Preview), announced at FinOps X in June 2026, uses AI to automatically detect cost anomalies, analyze root causes, and route them to the responsible team via Slack/Jira.

Feature Description
Anomaly detection Automatically detects anomalies in daily cost patterns
Root cause analysis Analyzes which service/tag/region drove the cost spike
Team routing Automatically sends Slack/Jira notifications to the cost owner
Status Feature Preview (2026-06)

When starting FinOps, it’s more important to first establish a minimum baseline for explaining costs than to adopt many tools at once.

Step What to do Output
1 Organize account/subscription/project structure Cost ownership mapping
2 Define a tag/label standard service, env, owner, cost-center, etc.
3 Set budgets and alerts Monthly budgets, threshold alerts
4 Optimize the biggest cost items first Unused resources, oversizing, storage class
5 Review reservations/commitment discounts RI, Savings Plans, CUD, etc.

Before cutting costs, you must first accurately understand where and how much is being spent.

  • Tag/label policy — tag every resource with team, environment, and cost center to clarify cost attribution.
  • Cost dashboards — visualize daily/weekly trends using vendor-specific cost analysis tools (AWS Cost Explorer, Azure Cost Management, Google Cloud Billing).
  • Anomaly detection alerts — set up alerts to fire immediately on budget overruns or sharp cost increases.
  • Use the FOCUS spec — in multi-cloud environments, use the FinOps FOCUS standard to unify cost data across vendors.

The starting point of FinOps is accurately attributing who spent what, and how much. Separation by account/subscription/project alone is often insufficient (for example, when multiple teams’ resources share the same account), which is why tags/labels are essential.

A vendor-neutral, recommended minimum tag set.

Tag key Example values Purpose
env / environment prod, staging, dev Cost analysis by environment, deployment policy
owner team-payments@company.com Identify the responsible party, alert routing
cost-center CC-1001 Link to accounting systems, chargeback
project / workload checkout-api, ml-pipeline Cost analysis by service unit
service-tier critical, standard, low Linked to SLO/DR policy
data-classification public, internal, confidential Security/audit requirements
compliance pci, hipaa, isms-p Identify regulated resources
managed-by terraform, manual Whether managed via IaC, drift detection

Organizations may add tags such as business-unit, customer, or cost-allocation depending on their needs.

  • Consistent casing and namingenv vs. Env vs. environment are treated as different keys. Standardize on one.
  • Restrict to an allow-list of values — free-form input leads to aggregation failures from typos. Fix allowed values like prod/staging/dev.
  • Enforce required tags — resources without tags can’t be attributed to a cost owner. Enforce this at creation time.
  • Inherit from higher levels — inheriting tags from the organization/OU/folder/compartment level down to child resources reduces operational overhead.
  • Distinguish technical tags from cost tagsapp=nginx is technical, cost-center=CC-1001 is cost-related. This reduces noise in cost reports.
Vendor Tag enforcement/audit Notes
AWS AWS Tag Policies, Resource Groups Tagging API, Cost Allocation Tags Define tag policies at the Organization level, detect violations with Config Rules
Azure Azure Policy tag enforcement, Cost allocation rules Apply tag policies at the Management Group level, with inheritance policies
Google Cloud Resource Tags, Labels, Organization Policy Resource Tags are used for IAM and policy, Labels for cost analysis (separate purposes)
OCI Tag Namespaces, Tag Defaults, Cost Tracking Tags Manage keys via Tag Namespace, auto-tag at the Compartment level via Tag Defaults

Tags are easily missed when applied manually. Enforce them by codifying policy.

  • Standardize IaC modules — enforce required tags as input variables in Terraform modules. Fail at the plan stage if missing.
  • Policy gates — reject resource creation without tags via AWS SCP, Azure Policy, or Google Cloud Organization Policy.
  • CI/CD validation — verify tag presence in PRs with tflint, checkov, or opa.
  • Continuous audit — generate periodic reports via AWS Config, Azure Resource Graph, or Google Cloud Asset Inventory queries.
  • Define a standard tag key set (start with 8–10, expand later)
  • Document allowed tag values (e.g., env values limited to prod/staging/dev)
  • Apply inheritance policy at the organization/OU/folder/compartment level
  • Enforce required tags as inputs in IaC modules
  • Enable Cost Allocation Tags — disabled by default at most vendors
  • Plan to backfill missing tags on existing resources (bulk update script)
  • Generate a monthly tag compliance report
  • Verify tag-based fields in Showback/Chargeback reports

A model for deciding how to allocate costs internally within an organization, as defined by the FinOps Foundation’s official framework.

Model Description Suitable organization
Showback “Shows” cost usage by department/team without moving actual budget Early-stage FinOps adoption, building cost awareness
Chargeback Deducts department usage costs from actual budgets Mature organizations with department-level P&L

Showback/Chargeback requires accurate cost attribution.

  • Standardize tags/labels — apply cost-center, project, owner, and env tags to every resource
  • Separate accounts/subscriptions/projects — department-level separation provides a clearer cost boundary than tags alone (see Accounts and Organization Structure)
  • Shared cost allocation policy — define how to split shared costs such as networking and security services

FOCUS (FinOps Open Cost and Usage Specification) is a multi-cloud cost data standardization spec led by the FinOps Foundation. It unifies the differing cost data formats across vendors into a single schema, enabling consistent cost analysis in multi-cloud environments.

FOCUS v1.2 (ratified 2025-05-29) strengthened support for SaaS/PaaS, virtual currency (e.g., tokens), and multi-currency normalization. Changes particularly relevant to AI/ML cost analysis include:

  • Virtual currency lifecycle and unit-price comparison use cases for tokens and similar units (tracking input/output token billing patterns)
  • PricingCurrency-family columns to normalize national currencies and units like tokens
  • Commitment/discount-related columns to track committed discounts such as GPU reservations

For column definitions and vendor export support coverage, refer to the FOCUS spec and each CSP’s export documentation.

Vendor FOCUS support status
AWS Data Exports — FOCUS 1.2 with AWS columns (a separate export from CUR 2.0)
Azure Cost Management FOCUS export
Google Cloud BigQuery cost export (FOCUS-compatible)
OCI Cost Report (FOCUS support in progress)

  • Compute rightsizing — scale down or terminate VMs with low CPU/memory utilization.
  • Scheduling — automatically stop development/test environments outside business hours.
  • Storage lifecycle — move old logs and backups to cheaper storage classes.
  • Egress cost — review inter-region and inter-cloud data transfer paths.
  • VPC networking cost — review hidden costs like NAT Gateway and cross-AZ traffic.
  • Commitment discounts — apply reservations/commitments to stable baseline workloads.

VPC-related costs are often hidden, making unexpected bills easy to incur.

Cost item Description Response
NAT Gateway Hourly cost + per-GB processing cost. Can reach hundreds to thousands of dollars per month with heavy outbound traffic Use VPC Endpoints to bypass NAT for access to AWS services
Cross-AZ traffic Even within the same region, inter-AZ communication is billed per GB Keep communication within the same AZ where possible, use AZ-aware routing
VPC Endpoint vs. internet routing Accessing S3 and similar services via NAT Gateway incurs processing costs Gateway Endpoints (S3, DynamoDB) are free
Transit Gateway Hourly cost + per-GB data processing cost Compare against VPC peering (billed for data transfer only)

Vendor differences:

  • AWS — cross-AZ traffic is $0.01/GB bidirectional. NAT Gateway is $0.045/hour + $0.045/GB
  • Google Cloud — free within the same zone. $0.01/GB for different zones within the same region
  • Azure — free within the same VNet. VNet peering is billed separately for inbound/outbound

The figures above reflect pricing at the time of writing and are subject to change. Check each vendor’s official pricing page for the latest rates.

Related: VPC and Subnets

Each vendor offers discounts of up to 70–72% for 1-year or 3-year commitments. However, committing to more than you actually use wastes money.

Type Characteristics AWS Azure Google Cloud OCI
Instance reservation Fixed to a specific instance type Reserved Instances Reserved VM Instances
Spend commitment (flexible) Commit to hourly spend, instance type can change Savings Plans Savings Plans CUD (Flexible) Universal Credits
Automatic discount Automatic discount based on usage, no commitment SUD (Sustained Use Discount)
Spot/Preemptible 60–90% discount in exchange for interruptibility Spot Instances Spot VMs Spot VMs / Preemptible Preemptible Instances
  • 70/30 principle — commit 70% of stable baseline workload while keeping 30% on-demand for flexibility
  • Staged commitment — start with a 1-year term instead of 3 years to validate usage patterns first
  • Use Spot — move interruption-tolerant workloads (batch, CI, dev environments) to Spot
  • Periodic reevaluation — check commitment utilization every quarter

A capability that uses machine learning to automatically detect abnormal cost increases without continuous human monitoring.

Vendor Service
AWS AWS Cost Anomaly Detection
Azure Microsoft Cost Management — Anomaly Detection
Google Cloud Recommender / Cost Anomaly Detection
OCI OCI Monitoring alarm-based configuration
  • Was this an intentional traffic increase (marketing, an event)?
  • Was a resource left running by mistake (a large test instance, an unused NAT Gateway)?
  • Is autoscaling misbehaving (not scaling back down after an event)?
  • Is malicious usage from a security incident involved (crypto mining, external attack)?
  • Creating resources without tags — untagged resources can’t be attributed to a team/service/environment, making it impossible to determine who’s spending what.
  • Not setting budget alerts — without budget alerts, abnormal cost increases are only discovered weeks later on the bill.
  • Over-purchasing commitments — buying large commitments without sufficiently analyzing usage patterns wastes the unused portion and loses flexibility.
  • Are tag policies (env, owner, cost-center) applied to all resources?
  • Have budget alerts been set (at 50%, 80%, 100% thresholds)?
  • Are monthly cost reviews conducted regularly?
  • Are unused resources (stopped VMs, unattached disks, empty load balancers) being cleaned up?