Kubecost vs. Opencost

Yesterday, I talked about using Kubecost and Opencost to break down Kubernetes costs by namespace, product, service, etc.

I’ve evaluated the two tools and ultimately decided to go with Kubecost.

Opencost is based on Kubecost’s cost-allocation engine, so they’re very similar under the hood. Some of the setup documentation for Opencost references Kubecost. Generally, what this means is Kubecost will have more features than Opencost since it is developed for profit.

Kubecost:

  • Has a basic free plan with 14-day metric retention
  • Multi-cluster views with a $449+/m business plan

This is a feature that Opencost doesn’t have. If you pay for Kubecost and install it on all your clusters, you can have a unified view of your cost breakdowns.

  • Notifications
  • Cost savings ideas based on your actual usage
  • Support for paid plans
  • Better interface and reporting

Opencost:

The side-effects of doing this mean you can create custom alerts in Grafana, alert manager, or Datadog.

One thing I’ll mention that I’ve found is it’s easier to install a production-ready Kubecost helm chart than it is for Opencost. Both of these services will install Prometheus server and node exporter. This results in an additional overhead for your cluster. Kubecost’s helm chart comes configured with the minimum metrics it needs to scrape, while Opencost’s doesn’t.


Like what you've read?

If you're an engineering leader or developer, you should subscribe to my 80/20 DevOps Newsletter. Give me 1 minute of your day, and I'll teach you essential DevOps skills. I cover topics like Kubernetes, AWS, Infrastructure as Code, and more.

Not sure yet? Check out the archive.

Unsubscribe at any time.