FinOps
Last reviewed: August 2026
What Is FinOps
Section titled “What Is FinOps”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 |
Unit Economics
Section titled “Unit Economics”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.
Comparing Major CSP Cost Management Tools
Section titled “Comparing Major CSP Cost Management Tools”| 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 Cost Governance
Section titled “AI Cost Governance”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)
AWS FinOps Agent [Preview]
Section titled “AWS FinOps Agent [Preview]”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) |
Practical Rollout Order
Section titled “Practical Rollout Order”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. |
Inform — Establishing Visibility
Section titled “Inform — Establishing Visibility”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.
Designing Tag/Label Policy
Section titled “Designing Tag/Label Policy”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.
Standard Tag Set
Section titled “Standard Tag Set”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.
Tag Policy Principles
Section titled “Tag Policy Principles”- Consistent casing and naming —
envvs.Envvs.environmentare 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 tags —
app=nginxis technical,cost-center=CC-1001is cost-related. This reduces noise in cost reports.
Vendor Tag Governance Tools
Section titled “Vendor Tag Governance Tools”| 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 |
Enforcement in the Deployment Pipeline
Section titled “Enforcement in the Deployment Pipeline”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, oropa. - Continuous audit — generate periodic reports via AWS Config, Azure Resource Graph, or Google Cloud Asset Inventory queries.
Getting-Started Checklist
Section titled “Getting-Started Checklist”- Define a standard tag key set (start with 8–10, expand later)
- Document allowed tag values (e.g.,
envvalues limited toprod/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
Showback vs. Chargeback
Section titled “Showback vs. Chargeback”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 |
Prerequisites for Implementation
Section titled “Prerequisites for Implementation”Showback/Chargeback requires accurate cost attribution.
- Standardize tags/labels — apply
cost-center,project,owner, andenvtags 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 Spec
Section titled “FOCUS Spec”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) |
Optimize — Optimization
Section titled “Optimize — Optimization”Common Cost Optimization Items
Section titled “Common Cost Optimization Items”- 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 Networking Cost Pitfalls
Section titled “VPC Networking Cost Pitfalls”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
Commitment Discount Strategy
Section titled “Commitment Discount Strategy”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.
Types of Commitment Offerings
Section titled “Types of Commitment Offerings”| 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 |
Application Strategy
Section titled “Application Strategy”- 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
Operate — Operations
Section titled “Operate — Operations”Cost Anomaly Detection
Section titled “Cost Anomaly Detection”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 |
What to Check on Detection
Section titled “What to Check on Detection”- 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)?
Common Mistakes
Section titled “Common Mistakes”- 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.
Checklist
Section titled “Checklist”- 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?