Loading...


Updated 25 Oct 2026 • 5 mins read

Multi-cloud cost management fails on reconciliation: each provider bills in its own format and the spreadsheet that adds them never matches any console. This walkthrough shows how Opslyft normalizes AWS, Azure, GCP, OCI, Kubernetes, Snowflake, and AI spend into one FOCUS-based view, allocates it with one model, and runs budgets, anomalies, and tickets across all of it.
Multi-cloud cost management has a specific failure that everyone who has tried it recognizes: the spreadsheet. AWS exports its bill in one format, Azure in another, Google Cloud in a third, Snowflake in credits, and Kubernetes not at all, and someone in finance or FinOps adds them together every month in a workbook that never reconciles to any console, is always a week late, and cannot answer the question a product leader actually asks, which is what the product costs across all of them. The consoles are each correct about their own cloud. Nothing is correct about the estate.
This page is a walkthrough of what Opslyft does instead: ingest every platform into one normalized model built on the FOCUS specification, show AWS, Azure, GCP, OCI, Kubernetes, Snowflake, and AI spend in one Explorer with the same columns and the same meanings, allocate all of it with one rule set, and run budgets, anomalies, commitments, and tickets across the whole estate from the same numbers. The problems that make this necessary are set out in our top five multi-cloud FinOps challenges; the optimization practice that follows is in our multi-cloud cost optimization guide; this page is about the view.
The short answer: Multi-cloud cost management fails on reconciliation, because each provider bills in its own format with its own definitions, and a spreadsheet that adds them mixes meanings and matches nothing. Opslyft ingests AWS, Azure, Google Cloud, OCI, Kubernetes, Snowflake, and AI providers into one model normalized on the FOCUS specification, so every platform's spend has the same columns with the same meanings: effective cost, list cost, service category, resource, commitment, and the business dimensions Dimension Studio maps them to. Explorer shows the whole estate in one view, by team, product, customer, or platform, with Kubernetes by pod, service, and namespace; Canvas builds a screen per audience from the same numbers; allocation runs with one rule set and typically reaches 95 percent coverage within 30 days; and budgets, anomaly detection, commitment tracking, and tickets run across every platform from the same data. The native consoles stay for each cloud's own hierarchy; the estate is managed in one place.
| What differs | AWS | Azure | Google Cloud | Snowflake | Effect in a spreadsheet |
|---|---|---|---|---|---|
| Export format | Cost and Usage Report | Cost Management export | Billing export to BigQuery | Account usage views, credits | Four schemas to map by hand |
| Cost definitions | Unblended, blended, amortized, net | Actual and amortized, pretax | Cost and credits, net | Credits times rate | Totals mix definitions |
| Commitments | Savings Plans and RIs amortized or not | Reservations and savings plans applied first | CUDs and SUDs | Capacity contracts | Effective rate differs by cloud |
| Allocation keys | Tags, accounts, OUs | Tags, subscriptions, resource groups | Labels, projects, folders | Warehouses, roles | Team key spelled four ways |
| Kubernetes | Nodes only | Nodes only | Nodes only | n/a | Cluster cost unallocated |
| Timing | Finalized monthly with restatements | Daily with lag | Daily with lag | Daily | Never the same day |
Each difference is small and each is a reason the sum is wrong by a few percent nobody can explain. The spreadsheet does not reconcile because it cannot; the definitions underneath it disagree. That is what a normalization standard is for.
Opslyft ingests each platform's billing and usage data and normalizes it into one model built on the FOCUS specification, the FinOps Foundation's open standard for cost and usage data, so that an EC2 instance, an Azure VM, a GCE instance, a Snowflake warehouse, and a Kubernetes namespace appear as comparable rows with the same columns and the same meanings: effective cost after commitments, list cost, service category, region, resource, and the dimensions the business cares about. Cost definitions stop disagreeing because there is one definition. Our guide to FOCUS in FinOps explains the standard; this is it in use.
Explorer shows the whole estate in one place: by platform, team, project, product, customer, service, or environment, with Kubernetes cost by pod, service, or namespace in the same view as the cloud services around the cluster, Snowflake warehouse credits in dollars beside the cloud bill, and AI spend from Bedrock, Azure OpenAI, Vertex, and direct providers such as OpenAI beside the compute it runs on, tracked over time so a spike on any platform is visible before its invoice. Canvas builds the view each audience needs from the same numbers: the AWS lead's, the GCP lead's, finance's, and the product owner's whose product spans all of them.
Dimension Studio defines once how spend maps to the business, normalizes the team key spelled four ways into one, maps accounts, subscriptions, and projects to the teams that own them, and splits shared and untagged cost by fixed, proportional, or usage-driven rules, across every platform at once. The same rule allocates a shared Kubernetes cluster on EKS and one on GKE; the same mapping puts a product's AWS, Azure, and Snowflake cost on one line. Coverage typically rises from around 60 percent to 95 percent or higher within 30 days.
Atlas inventories every resource across every platform with an owner and a cost, flags the idle and orphaned on any of them, and keeps a change history, so the forgotten project on the secondary cloud is found the same way as the orphaned volume on the primary one.
Monitor sets budgets at team, project, business-unit, or organization level on the normalized data, so a team that spans three platforms has one budget, and detects anomalies on any platform with a root-cause explanation, delivered to the same owner in the same Slack channel whether the spike came from Azure, GKE, or Snowflake. Commitment coverage and utilization are measured across every provider rather than per cloud. Tickets turns findings from any platform into assigned items in Jira, ServiceNow, or Asana tracked to a measured saving, and Iris answers estate-wide questions, which products grew spend fastest across all platforms this month, in plain English.
Cost Explorer, Azure Cost Management, and Google Cloud Billing remain the right free view of each cloud's own hierarchy, budgets, and reservation reports. Opslyft does not replace them; it sits across them for the estate they cannot see.
A company runs production on AWS ($1.2 million a month), analytics on Google Cloud ($450,000), a Microsoft estate on Azure ($350,000), and Snowflake ($180,000), with Kubernetes on two of the clouds. Finance consolidates four exports monthly in a workbook that disagrees with the consoles by 2 to 4 percent, takes nine days, and cannot answer what the customer-facing platform, which spans all four, costs.
On Opslyft, the four exports and the Kubernetes clusters land in one normalized model in the first week. Explorer shows $2.18 million a month as one estate, reconciling to each console because the definitions are shared. Dimension Studio maps the platform's AWS accounts, GCP projects, Azure subscriptions, Kubernetes namespaces, and Snowflake warehouses to one product dimension; its cost is one number, about $740,000, including the shared cluster capacity and the warehouse it feeds. The close falls from nine days to two. Monitor sets the platform's budget once, across all four, and its first anomaly, a GKE node pool doubling, reaches the platform team's Slack channel the morning it happens. Commitment coverage, measured estate-wide for the first time, turns out to be 41 percent rather than the 65 percent the per-cloud reports implied, which becomes the next quarter's work.
Proof: Disprz, six environments in one view. Disprz, serving 1.5 million learners across AWS, Azure, GCP, OCI, Talkbox, and PubNub, each producing data in a different format, with 50 to 60 shared services and many untagged resources, spent a week every month reconciling and allocating customer cost by hand. Opslyft connected and normalized all six environments into one view and replaced the spreadsheet with allocation rules that split shared cost by real customer activity: 100 percent automated attribution, 40 hours a month returned, and customer-level profitability by tier for the first time. Read the full story: Disprz saves 40 hours monthly with automated cost attribution
The same unified view across AWS, Azure, GCP, and Snowflake let Innovaccer tie each customer's cloud budget to its MRR and improve its MRR-to-cloud-cost ratio by 35 percent.
If you run one cloud, its native console is the right tool and this page is not for you. The platform earns its place at the second provider.
Multi-cloud cost management is a normalization problem before it is anything else: until every platform's spend has the same columns with the same meanings, nothing can be summed, compared, allocated, or budgeted together, and the spreadsheet that tries will never reconcile. Opslyft builds that normalized model on the FOCUS standard, shows every cloud and platform in one view, allocates with one rule set, and runs budgets, anomalies, commitments, and tickets across the estate from the same numbers, with the native consoles kept for each cloud's own hierarchy. That is what Opslyft's cost visibility is built for; the optimization practice that becomes possible once the view exists is in our multi-cloud cost optimization guide.
Multi-cloud cost management is seeing, allocating, and controlling spend across two or more cloud providers, and increasingly across the platforms around them such as Kubernetes, Snowflake, and AI services, as one estate rather than as separate bills. Its defining problem is that each provider bills in its own format, so nothing lines up until the data is normalized, and its defining failure is a reconciliation spreadsheet that never quite matches any of the consoles.
Because each provider defines cost, usage, service, and discount differently: AWS, Azure, and Google Cloud exports have different columns, different meanings for list versus effective cost, different ways of recording commitments, and different tagging mechanisms. Adding them in a spreadsheet mixes definitions, and the total disagrees with every console by a few percent that nobody can explain. The FOCUS specification exists to fix exactly this.
FOCUS, the FinOps Open Cost and Usage Specification, is an open standard for billing data with a common schema and definitions, now generated natively by AWS, Azure, and Google Cloud and adopted by other providers. Version 1.2 is current. A FOCUS-normalized dataset has the same columns with the same meanings for every provider, so costs can be summed, compared, and allocated with one rule set. Opslyft ingests every platform into a FOCUS-normalized model.
AWS, Azure, Google Cloud, OCI, Kubernetes clusters on any of them (by pod, service, and namespace), Snowflake, and AI providers including OpenAI alongside cloud-billed AI services such as Bedrock, Azure OpenAI, and Vertex, with custom platforms integrated for customers who need them; Disprz, for instance, brought Talkbox and PubNub into the same view. All of it appears in one Explorer, allocated by one model.
Because allocation, budgets, anomalies, commitments, and tickets all run on the same normalized data. A team that spans AWS and GCP has one number and one budget; an anomaly on Snowflake and one on Azure reach the same owner from the same detector; commitment coverage is measured across the estate rather than per cloud; and a finding on any platform becomes a ticket in the same workflow. Reporting is the visible part; the operating model underneath is the point.
Once billing exports and platform connections are in place, normalized spend appears in Explorer immediately and allocation follows Dimension Studio's mapping; allocation coverage typically reaches 95 percent or higher within the first 30 days. Disprz unified six environments, including two non-cloud platforms, and replaced a week-long monthly allocation process with 100 percent automated attribution.
Yes, and you should: Cost Explorer, Azure Cost Management, and Google Cloud Billing are free and remain the right native view of each cloud's own hierarchy, budgets, and reservation utilization. Opslyft sits across them for what none of them does: the normalized estate-wide view, allocation across platforms, and one workflow for the teams that run more than one.