Whether you’re new to Kubernetes or a bona fide wizard, it may seem like getting any meaningful cost data out of it is a miracle.
This is because many organizations that migrate to Kubernetes unwittingly step into the Black Box of Kubernetes Spend. In pre-Kubernetes life, teams could allocate costs by tagging resources.
Post-Kubernetes, applications are decoupled from the infrastructure they run on — and the link between business metrics (products, features, customers) and cloud cost shatters.
Most major cloud cost management tools don’t offer a meaningful way out of the Black Box.
Native cloud provider tooling (e.g.: AWS Cost Explorer) generally focuses on billing line items, such as EC2. And while other major tools support Kubernetes, they often show Kube and non-Kube spend in two separate panes of glass —i.e.: “Separated” cost tracking.
When finance inevitably comes calling with questions about cost metrics and overarching cloud unit economics — cost of goods sold (COGS), cost per product, cost per team —Separated tracking leaves engineering marrying together Kubernetes and non-Kubernetes spend in spreadsheets with fuzzy math.
To fully understand Kubernetes’s financial impact, and to reach the FinOps nirvana state we call “Cloud Unit Economics,” organizations need to combine all sources of cloud spend—i.e.: “Unified” cost tracking.
When done effectively, combining Kubernetes and non-Kubernetes spend into a common stream turns cloud and Kubernetes spend into a foundry for strategic data.
Here Are 4 Financial Goals That Call For Unified Visibility:
1. Tracking unit costs — cost per feature, product, customer, etc.
No business can evaluate its financial health without an accurate understanding of its unit costs.
Honda must weigh warehousing and production equipment costs into their Civic pricing; bakeries must factor egg, flour, and sugar costs into their pastry pricing; digital-native businesses must factor cloud cost into their software go to market strategy.
Separated: When cost management tools separate Kubernetes and non-Kubernetes spend, engineering or FinOps has to use fuzzy math to combine them and answer finance’s unit cost questions. [explanation of fuzzy math and why it’s not super accurate]
Unified: Combining Kubernetes with the rest of your cloud expenses gives you a master statistic to parse against different units. Rather than investing engineering resources in fuzzy solutions, you get reliable unit data, readily layerable against whatever business dimension matters to you.
2. Launches: Measuring the financial impact of new products and/or features
Unit costs become especially crucial at pivotal strategic moments, like when you launch a new feature or product. As more customers use it, your cloud cost will inevitably rise — the question is whether the increase is proportionate to new usage.
Separated: Cost solutions that separate Kuberenetes and non-Kubernetes spend complicate this evaluation. Working with CloudZero customers, we periodically see new feature releases where the impact to compute is relatively stable, while storage costs skyrocket.
Only tracking one or the other against the overall spend differential would give businesses misleading data on the new features’ cost efficiency. Misleading data leads to inapt strategic decisions.
Unified: Fortunately, our platform offers unified cost tracking, so we’re able to factor each dimension of cloud usage into pre- and post-launch unit cost comparisons.
Kubernetes spend (compute) and non-Kubernetes spend (storage and other non-compute cloud costs) are combined into a single stream, giving you a full snapshot of how the new feature impacts your overall cloud spend.
When the spend increases more than anticipated, it’s usually the result of architectural inefficiencies (which engineering can then diagnose and address).
When the spend increase tracks with —or is less than — expectations, it confirms the new features’ architectural efficiency. This enables more accurate financial forecasting and validates engineers’ building and buying decisions.
3. Granular Fluctuation: When and how much do our cloud costs fluctuate (and how should we respond)?
The beauty of Kubernetes is that it automatically scales up and down according to demand.
When customers are using a product, Kubernetes spins up new resources; when they’re not, Kubernetes spins them down. When you use Kubernetes in your microservice architecture, your unit costs may fluctuate more than you’re used to.
These fluctuations can happen on a moment-by-moment basis, and understanding them is crucial to making sound strategic decisions.
Separated: There are two potential hazards here:
- First, cost tracking tools that omit Kubernetes will omit compute fluctuations from your overall cloud spend trends. Since the main draw of Kubernetes is its ability to fluctuate according to user demand, fluctuation data is crucial to understanding the real value of your cloud investment.
- Second, most major cost tracking tools only track Kubernetes spend at a daily level, which obscures information about Kubernetes activity throughout the day. Depending on your business, customers may actively use your products at different times of day, and day-level reporting destroys this granular info.
Unified: Combining Kubernetes and non-Kubernetes cloud spend gives you an accurate image of how cloud spend is fluctuating. Moreover, CloudZero provides hourly reporting, letting you compare Kubernetes spend in 24 distinct phases each day.
Knowing when customers are using which products and features most heavily informs savvier decisions around cost and usage optimization.
4. Showback for Product Teams: Who should we (finance teams) bill for Kubernetes usage?
After moving to Kubernetes, many organizations have a centralized team manage a large cluster for various business units or product teams to use. At the end of the month, finance teams get a bill for their Kubernetes usage, and they have to figure out which team is responsible for it.
Separated: Because the centralized team is managing the Kubernetes cluster, the spend shows up in their account, and so finance has little recourse other than to bill the centralized team for the Kubernetes compute costs.
The problem is, the centralized team is only managing the cluster — other business units are using it, and so the spend should really be attributed to business units/teams driving the usage.
Moreover, the team-level bill only includes the non-Kubernetes spend (storage and non-compute). Now, finance has improper data, and business decisions are being made on uninformed pretenses.
Unified: Ideally, your cost visibility tool can aggregate spend by workloads or namespaces (Kubernetes data), map it back to individual teams, and then combine this info with non-Kubernetes spend to give finance teams an accurate picture of what each team and/or business unit is costing the organization.
Yes, CloudZero does this.
As companies’ cloud stacks grow ever more complex, unified cost reporting grows ever more urgent. It’s especially necessary with Kubernetes, whose flexibility gives it enormous potential both for cost savings and reporting challenges. A unified solution gives you accurate unit costs, reliable data at strategic inflection points, and a maximally granular view of it all.
CloudZero’s mission is to make efficient innovation a reality for all cloud-driven businesses.
Our platform provides customizable options for all dimensions of your cloud spend, arming you with precise, unit-level data. With CloudZero, you can sidestep the Black Box of Kubernetes Spend, building cost-efficient architecture and scaling sustainably.