Discover the power of cloud cost intelligence
Give your team a better cost platform
Give engineering a cloud cost coach
Learn more about CloudZero and who we are
Learn more about CloudZero's pricing
Take a customized tour of CloudZero
Understand your cloud unit economics and measure cost per customer on AWS
Discover and monitor your real Kubernetes and container costs
Measure and monitor the unit metrics that matter most to your business
Allocate cost and gain cost visibility even if your tagging isn’t perfect
Identify and measure your software COGS
Decentralize cost decisions to your engineering teams
Automatically identify wasted spend, then proactively build cost-effective infrastructure
Monitor your AWS cost and track progress in real-time as you move to the cloud
Discover the best cloud cost intelligence resources
Browse helpful webinars, ebooks, and other useful resourcesBlog
Discover the best cloud cost intelligence contentCase Studies
Learn how we’ve helped happy customers like SeatGeek, Drift, Remitly, and moreEvents
Check out our best upcoming and past eventsFree Cloud Cost Assessment
Gauge the health and maturity level of your cost management and optimization efforts
Discover how SeatGeek decoded its AWS bill and measures cost per customerRead customer story
Learn how Skyscanner decentralized cloud cost to their engineering teamsRead customer story
Learn how Malwarebytes measures cloud cost per productRead customer story
Learn how Remitly built an engineering culture of cost autonomyRead customer story
Discover how Ninjacat uses cloud cost intelligence to inform business decisionsRead customer story
Learn Smartbear optimized engineering use and inform go-to-market strategiesRead customer story
In this guide, we cover the differences between Kubecost and OpenCost — as well as the drawbacks of both of these Kubernetes cost tools.
Kubernetes (K8s) adoption has exploded over the past few years. But it hasn't been easy to monitor, manage, and optimize K8s costs. To provide greater cost visibility into Kubernetes clusters and environments, Kubecost launched in 2019 while OpenCost debuted in 2022.
OpenCost has several founding contributors. But it is Kubecost that developed the cost allocation engine that the OpenCost implementation uses. Kubecost also announced the launch of OpenCost on June 2, 2022. Both tools have remarkably similar features for managing Kubernetes costs.
But OpenCost and Kubecost differ in crucial respects, as we'll discover in this guide.
Table of Contents
First, a little background.
Kubecost is a tool for monitoring and optimizing Kubernetes costs. Kubecost collects, visualizes, and reports real-time cost data within and outside Kubernetes clusters. In addition, the platform runs continuously, so you can view your K8s cost metrics as they change and optimize them as necessary.
Credit: Kubecost dashboard - ContainIQ
Kubecost started out as an open-source project for small engineering teams. It still maintains a freemium plan and tightly integrates with cloud-native, open-source tools, including Kubernetes, Prometheus, and Grafana.
Kubecost features include the following:
So, how does OpenCost compare?
OpenCost is an open-source cost monitoring and optimization platform for Kubernetes. OpenCost measures and allocates in-cluster and some external Kubernetes costs in real-time. It is currently at the Cloud Native Computing Foundation sandbox project maturity level.
OpenCost collects, analyzes, and reports your cost insights continuously around the clock, just like Kubecost. So you can identify any cost anomalies or trends early enough to avoid cost overruns.
Kubecost, RedHat, AWS, Adobe, SUSE, Armory, Google Cloud, Pixie, Mindcurv, D2IQ, and New Relic are all founding contributors of the OpenCost project.
OpenCost features include:
OpenCost and Kubecost are quick to install and get started on as well. So, what makes each platform unique?
Kubecost and OpenCost have more similarities than differences. But the differences make all the difference. Here’s a closer look.
OpenCost is fully open-source (Apache 2.0 license), vendor-agnostic, and is currently a sandbox project with the Cloud Native Computing Foundation (CNCF). It uses a community-driven specification, cost allocation engine, and leverages technical support from its 11 founding contributors. The cost allocation engine uses a Golang implementation that conforms to the community-driven spec.
OpenCost ingests cost data from Kubernetes scheduling APIs, on-prem environments, and cloud provider APIs. The project provides an implementation of the spec for Amazon Kubernetes Service (AWS), Azure Kubernetes Service (Azure), Google Kubernetes Engine (Google Cloud), and on-premises K8s clusters (using custom pricing sheets).
You need Kubernetes 1.8 and later to install and use OpenCost. Also, you need to first install Prometheus, which scrapes cost metrics for OpenCost. Just run the following command for express Prometheus installation:
This installation uses the Prom community helm chart, which may scrape unnecessary metrics by default. So for production, follow the Kubecost user metrics list so you can filter with 'keep'. Refer to the Kubecost installation chart for scrape config.
Kubecost began as an open-source project. It is currently a commercial product with free and paid tiers. Kubecost seamlessly runs on Kubernetes, on-premises, air gapped, AWS (including Amazon EKS), Microsoft Azure (including AKS), and Google Cloud (including GKE).
Also, you can use custom webhooks to build a Kubecost stage in Spinnaker.
One more thing. Kubecost is also launching Kubecost Cloud, the hosted version of Kubecost. Generally available from early 2023, Kubecost Cloud is a fully managed solution that helps teams speed up their Kubecost implementation, time-to-value, and ongoing maintenance.
OpenCost is free to use on-premises and in the cloud (where Kubernetes can run). This provides a self-service platform you can scale to the size of your Kubernetes deployment, multi-cloud requirements, and custom reporting with tools like Prometheus and Grafana.
You pay for the managed Prometheus instance you deploy and the data you write and query. So, your costs will vary based on the size of your Kubernetes data, typically less than 1% of total Amazon EKS Cluster costs.
For Kubecost pricing, you can choose from a freemium or a paid version.
Kubecost pricing plans - Kubecost
The always-free Kubecost plan delivers unlimited individual clusters and customized cost savings recommendations. But, your cost metrics will only be retained for 15 days as opposed to 30 days with a Business plan and an unlimited time with an Enterprise plan.
Starting at $449 per month for 100 nodes, the Business plan goes up to $799 per month for 200 nodes (monitoring unlimited clusters). You can also perform multi-cluster monitoring and optimization, get saved reports, and access advanced support.
The Enterprise plan delivers unlimited metric storage, SAML/SSO security, dedicated support, and custom integrations if you have more than 200 nodes. Pricing is also custom and you get a unified view of all your multi-cluster data to ease analysis and decision making.
You can try any Kubecost plan for 30 days free to see if it meets your K8s cost monitoring, allocation, and optimization needs.
OpenCost enables you to export cost data to Prometheus in real-time. You can then write custom queries to gain cost insights.
The kubectl-cost plugin delivers quick CLI access to cost allocation metrics in Kubernetes through the OpenCost API. This way, you can quickly figure out the cost and efficiency of each Kubernetes workload you choose for accurate chargeback, showback, and ongoing reporting.
Here are the metrics available with OpenCost:
OpenCost computes a running pod's cost based on CPU, memory, GPU, and storage usage. It calculates the cost of each item based on the charges of the underlying infrastructure. Then it divides the cost of a compute instance into CPU, memory, and GPU, calculating the cost per hour for each.
With Kubecost, you can estimate costs using a model calculation or connect your hypervisor to get exact figures.
Some things to note here (at the time of publishing this guide):
However, the founding contributors expect to add those capabilities (environmental cost of your clusters and workloads) in the coming months.
OpenCost is still forming its governance model. It plans to align it to CNCF best practices. Today, OpenCost bases code submissions on the inputs and feedback of its founding contributors. The founding members co-authored the OpenCost spec.
Ultimately, OpenCost seeks to standardize Kubernetes cost tracking, allocation, and measurements.
This way, teams can use a single cost allocation model for all infrastructure environments across teams and an entire organization, as well as across cloud platforms and Kubernetes distributions.
With Kubecost, you can build a proactive and automated governance model. You can customize alerts, set up budget parameters, and automate ongoing cost reports. Like OpenCost, Kubecost uses read-only Kubernetes privileges. It does not export any data.
OpenCost and Kubecost are helpful for monitoring, allocating, and optimizing Kubernetes costs granularly. Both monitor Kubernetes costs in K8s environments, but neither goes beyond that.
For costs outside of Kubernetes, or to consolidate costs of containerized and non-containerized resources in one place, you’ll likely need another service, adding complexity and expense.
Alternatively, you can use a Kubernetes cost optimization platform that does both.
CloudZero provides granular Kubernetes cost analysis across major cloud providers, including single-cloud, multi-cloud, and hybrid clouds — down to individual customers (unit economics).
With CloudZero’s Kubernetes Cost Analysis, you can:
CloudZero is the only solution that enables you to allocate 100% of your spend in hours — so you can align everyone around cost dimensions that matter to your business.