Since the introduction of the cloud, a number of paradigms have arisen around the theme of managing cloud costs. These have included both tools and processes centered around the cloud cost management and cloud cost optimization themes. Both tooling and processes have however been continuously evolving in lockstep with the cloud and the increasing number of services and billing models It is available in.
FinOps as a self contained framework is a relatively new entrant to the cloud cost management landscape. Cloud cost management and cost optimization tools developed by startups and technology leaders provided a firm foundation for the framework. Enterprises and the FinOps community built on this foundation by defining best practices, organizational processes and cultural paradigms aimed at managing cloud costs.
The FinOps foundation has been instrumental in melding all of this together into a comprehensive framework by creating a community, bringing together stakeholders and both developing as well as compiling best practices and processes.
In this article we will review the best practices, processes and cultural paradigms that are recommended by the FinOps foundation. These practices and processes are instrumental in developing and shaping a successful FinOps practice that views the cloud as a driver of innovation and business value while at the same time improving transparency and accountability.
So let’s get started.
In contrast to the prevalent decentralization theme in the modern enterprise, FinOps advocates the creation of cross functional centralized teams. These teams should have representation from multiple organizational domains including executive, engineering, finance and procurement.
A best practice is to knit this diverse group with specialized FinOps operatives building communication channels and bringing knowledge of the cloud costing model as well as FinOps principles.
This central team can then develop cloud cost reporting models, drive cost accountability and transparency by developing uniform cost allocation, showback and chargeback processes, develop benchmarks to gamify cost and value generation and decide on a set of business metrics that cloud cost can be measured against.
Defining a common vocabulary is a starter best practice that FinOps teams need to implement right at the beginning of formulating the FinOps practice.
Since FinOps advocates cross domain communication e.g. between engineering and finance, a common vocabulary is essential for uniform reporting and to facilitate an effective FinOps practice.
Developing an internal FinOps FAQ, outlining common terms along with their agreed upon definitions is a best practice in this context. Some examples of these terms could include utilization, cost allocation, wasted resources, underutilized resources, cost savings etc..
Once developed the common vocabulary should be incorporated into FinOps reports and team meetings.
Traditionally, finance, engineering and procurement have worked in isolation without much collaboration on how to extract the maximum amount from the cloud. A FinOps best practice is to build robust two-way communication channels to improve collaboration between these domains. Breaking down the siloed environment these domains have historically worked in is the responsibility of both executives as well as FinOps practitioners.
This collaboration can then be leveraged to develop consensus on FinOps reporting standards, business metrics and benchmarking.
To extract maximum value from the promised agility and scalability of the cloud, FinOps teams need to evangelize a strategic pivot in how organizations think about the cloud. Rather than concentrate on cost, teams need to view the cloud as one of the foremost creators of business value in the modern enterprise.
With this strategic shift FinOps teams have the right environment to collaborate with other stakeholders about developing a detailed blueprint for moving to a unit economics view of cloud billing. This would entail choosing a set of business metrics to measure cloud cost against.
Tagging regimes developed and implemented by engineering are often at odds with the visibility required by other stakeholders like executives and finance. This is even more so with FinOps, which advocates a business value view of cloud cost and thus requires a tagging regime aligned with business metrics.
A best practice therefore is to collaborate with cloud stakeholders to agree on a comprehensive organizational grouping and tagging regime. Once developed and implemented it will enable FinOps teams to map cost data to the correct groupings/cost centers and make informed decisions about the cost of agreed upon business metrics. It will also enable FinOps teams to arrive at a unit economics model of cloud cost.
The FinOps foundation outlines two ways to influence cloud cost: cost avoidance and rate reduction. Cost avoidance entails managing and optimizing already provisioned cloud resources with diverse activities including terminating idle resources and rightsizing etc. Rate reductions involve leveraging rate, usage and volume discounts offered by cloud providers.
Both can be more easily expressed as using less and paying less respectively. A best practice when implementing the FinOps framework is to decentralize using less and centralize paying less.
Engineering and DevOps teams working in the trenches of the cloud, should be empowered to make decisions about right sizing or de-commissioning unused resources.
Managing and procuring rate reductions should on the other hand be centralized with the FinOps teams empowered to negotiate and procure discounts. These teams have both the skills and the all-encompassing view into the cloud to effectively make these decisions.
FinOps teams need to embrace and leverage the larger “shift left” in IT departments in the FinOps practice itself. Shift left in IT departments is characterized by moving testing, monitoring, deployment and operations closer to the development team. The creation of cross functional SRE and DevOps teams is one outcome of this approach.
Shifting cost accountability left would entail making developers and DevOps teams responsible for the cloud costs they generate. Given the FinOps best practice of correlating cloud costs with business metrics, shifting accountability left would also bring these developers and DevOps teams closer to the process of creating business value as well as giving them more valuable insights into how their actions impact business value.
The shift left in accountability also feeds into the process of cloud cost avoidance. Engineering teams are more motivated to avoid costs that they are accountable for.
A comprehensive reporting regime is the beating heart of a good FinOps practice. FinOps teams need to involve cloud stakeholders in the process of deciding upon the type, content and period of cost reports.
A best practice is for FinOps teams to expand the reporting regime with time to provide in-depth cost allocation, chargeback, showback, cost forecasting, benchmarking, trending and variance analysis.
FinOps teams also need to ensure that reports are based on a common baseline of agreed upon business metrics. This would provide consistent visibility as well as a common benchmark to evaluate teams against.
Another best practice is to ensure that this reporting regime is aligned with the needs and motivations of various cloud stakeholders including the FinOps team itself, engineering, executive and finance/procurement.
The reporting regime needs to mirror the dynamic world of cloud computing. To enable teams to mitigate and avoid costs in real-time, reports need to be provided quickly to engineering teams based on notifications and alerts for spending spikes.
More comprehensive costing reports that incorporate a business metrics view of cloud costing need to incorporate fully loaded cloud costs that take into account shared cloud costs and rate and usage discounts.
Benchmarking both internally between teams and against external industry peers should figure as an important component of every FinOps practice. A best practice in this context is to develop a set of scorecards aimed at comparing teams. These scorecards should incorporate performance and cost metrics that are chosen in consultation with the teams themselves.
Scorecards allow FinOps teams to compare teams on a common baseline. Since they are developed based on the input of teams themselves, scorecards are more readily accepted. Scorecards also allow FinOps teams and executives to gamify performance and costs by promoting healthy competition between teams.
Similar to benchmarking, developing and implementing a robust forecasting mechanism is central to a good FinOps practice.
The FinOps foundation recommends developing forecasts for a 3-12 month time period. Another best practice is to develop forecasts with the help of machine learning tools. Forecasts developed using machine learning tools tend to be much more accurate as compared to more traditional efforts.
Even though forecasts should be developed for a 3-12 month period, a best practice is to evaluate these forecasts on an ongoing basis. Daily forecast reviews are recommended. This helps teams quickly identify and mitigate anomalies or cost spikes. Identifying anomalies quickly also provides more time to communicate about whether to adjust the forecast in cases where there is a business need.
In Part 2 of the FinOps In Practice: Best Practices Checklist blog series we will outline additional best practices aimed at developing and operating a successful FinOps practice.
Fan of all things cloud, containers and micro-services!
Part 4 of our Introduction to FinOps for Kubernetes: Challenges and Best Practices article series, which outlines a comprehensive list of best practices aimed at implementing FinOps processes for cloud native Kubernetes environments.
August 26, 2021
6 min read
In a recent report, CNCF identified "a more granular and active Kubernetes cost-monitoring strategy" as a primary means of reducing K8s cost. In this article we identify major takeaways from the report and outline the contours of a comprehensive Kubernetes cost monitoring strategy.
August 12, 2021
6 min read
Part 3 of our Introduction to FinOps for Kubernetes: Challenges and Best Practices article series, which outlines a comprehensive list of best practices aimed at implementing FinOps processes for cloud native Kubernetes environments.
July 12, 2021
6 min read