With the current financial climate, cost reduction is top of mind for everyone. IT is one of the biggest cost centers in organizations, and understanding what drives those costs is critical.
Many simply don’t understand the cost of their Kubernetes workloads, or even have observability into basic units of cost. This is where FinOps comes into play, and organizations are beginning to implement those best practice standards to understand their cost.
There’s also a fascinating open source project, OpenCost, which aims to provide an open standard around FinOps.
For this topic, I invited Matt Ray, Senior Community Manager for the OpenCost project, to join me on the OpenObservability Talks Podcast. He’s also a veteran of the open source and DevOps communities, and also a fellow podcaster for Software Defined Talk.
For organizations, cloud and infrastructure cost is typically the second highest line item after salaries. In that context, I asked Matt to help us figure out what FinOps is all about.
“Most people are starting to run a lot of operations in the cloud,” Matt says. “It’s a different cost model. Instead of going and buying a bunch of servers and waiting for them to be racked and eventually deploying your stuff three months later, you buy on demand. From the finance side of the house, that’s a really different model. Instead of just buying a bunch of stuff and sitting it in your own data center, now you’re renting by the hour, by the minute, by the second. Having to bring that intersection of understanding how your costs are run and how they escalate, how they are managed, and what the development and operations need to do with your infrastructure, that’s kind of where FinOps lives. It’s a new practice.”
In my view, FinOps is about communication and culture. That’s the essence of breaking silos and providing visibility and observability into the cost unit. It’s also about creating an ongoing conversation about cloud costs, looping these costs into business decisions and getting people to talk together.
Ownership and accountability is critical as well. Engineering can’t just say: “We’re about building the software. Someone else will take care of the cost and the infrastructure elements and things like that.” Collaboration is more than critical here. On the observability side of things, you can’t take ownership if you don’t have very clear reporting and dashboarding and ways to see where things stand.
Kubernetes is the new kid on the block. The first edition of the cloud FinOps book didn’t really cover containers and Kubernetes really at all, only a brief chapter. And Kubernetes makes things more complex, when looking at the cloud cost and the shared resources and trying to allocate spend to cost per customer, per team, per different environments, things such as that, or to track the cost efficiency of your Kubernetes workload allocations over time across different aggregations.
Once you have this FinOps observability into your Kubernetes, you can start asking questions and optimize your costs, such as Matt’s example: “Hey, our Kubernetes cluster has been up for three months, we’ve been running 15 nodes. We could reduce the size of it, or we could call up Amazon and negotiate reserved instances. Hey, we’re going to go ahead and pay for 10 nodes a month at a 50% discount for the next year.” This is where the new OpenCost open source project can also bring added value to the Cloud Native Computing Foundation (CNCF) landscape, now that it’s been accepted as a CNCF sandbox project.