Why Understanding Kubernetes Costs Is Crucial To Growing Our Business
Kubernetes-related cloud costs can be expensive and challenging to understand. However, gaining that knowledge can have significant benefits for developer teams.
Join the DZone community and get the full member experience.Join For Free
Our software development company, Webparking, has been in business for nearly 20 years now — long enough to see both the rise of the cloud…and the subsequent rise in cloud cost complexity. Through the era of dedicated servers and then virtual servers, our infrastructure pricing was quite straightforward. It was only once we modernized into the cloud and Kubernetes era — and set up our own cluster on AWS — that costs got really complicated. Suddenly, we were facing a scheme with charges billed per hour, per minute, or per instance or resource, all with separate pricing models and layers and differences by region and more.
This is where our infrastructure costs also became an acute challenge from a profitability perspective. Our business model includes charging clients fixed monthly fees based on what we provide, with no direct regard for the resources they use up. We’re not Amazon, and implementing similarly-complex billing would mean maintaining our own complex billing infrastructure. That’s not something either our company or our customers would be interested in.
Without the visibility to understand our Kubernetes cloud costs on a granular client level, we had no idea if our flat fees even covered their associated resource expenses for each client. For our own business planning, it became increasingly urgent to improve our ability to break down where our resource costs were coming from. We needed enough detail to verify whether our pricing was accurate and that the work we agreed to do for current and future clients would actually result in a profit.
Implementing a Kubernetes Cost Visibility Strategy
I think it’s safe to assume that we’re far from the only growing company that’s struggled with cloud cost complexity and budget blind spots. In exploring Kubernetes-specific cost visibility tools, we quickly understood that automation would be essential to getting this right. Considering that some of our clients pay just tens of dollars a month, a manual process for investigating each client’s resource usage wouldn’t be productive — and might just saddle us with a new cost-inefficient practice in and of itself. We wanted an approach that offered an instant overview and automatic tracking of each client’s costs.
After exploring a few tools, we found and implemented the free community version of Kubecost, which stood out by allowing us to view granular cost breakdowns by Kubernetes namespace for each specific client. This strategy now lets us check that our monthly fees secure us a profit and provides details that help us address clients and start the right conversations if adjustments are necessary. We also carefully track our largest clients and fastest-growing clients to monitor how their projects add load to our platform, benchmark resource usage and make sure our fees continue to be sized accurately.
With only the tools and data Amazon provides (or those of any other cloud provider), it would be impossible to recognize the impact of a single client on monthly billing. We now have the automated apparatus to take all guesswork out of tracking where each of our Kubernetes-related cloud dollars goes.
Seizing Kubernetes Optimization Opportunities
Our newfound granular Kubernetes cost insights provide further value by quickly flagging cost overruns and poor configurations that would otherwise be hotbeds for unnecessary spending. Kubernetes cost optimization and AWS Savings Plans (where you save by purchasing certain services and resources upfront) are the two main avenues for reducing our cloud costs. We now have a much stronger grasp of our usage, which is essential to pursuing cost reductions correctly. We’re also glad to have an external tool that isn’t from Amazon itself to guide us and allow us to verify AWS’ savings suggestions for ourselves from a more neutral perspective.
The Visibility to Accurately Bill Clients
Kubernetes cost visibility is an absolute must for any business managing cloud resources and client margins. Without a granular understanding of costs, it’s just too easy to leak all your profits into one client without even knowing it. On the other hand, clear knowledge of Kubernetes spending enables cost-saving optimization, clearer client communication, and fair pricing for your products.
Opinions expressed by DZone contributors are their own.