FinOps is a set of cultural practices, organizational processes and tools aimed at managing cloud costs and introducing financial accountability to cloud expenditure.
This definition however, represents the bare minimum of what a FinOps practitioner encounters on a day-to-day basis. Since FinOps deals with the cloud, which is usually the domain of developers and DevOps practitioners and is also one of the most important sources of value generation for the modern enterprise, FinOps practitioners have to make frequent tradeoffs between cost, accountability, agility and speed of delivery and deployment.
A more well rounded definition for FinOps therefore would be:
"A set of cultural practices, organizational processes and tools aimed at managing cloud costs and improving accountability while aiding the creation of business value through faster software delivery".
FinOps appends a comprehensive list of best practices, cultural paradigms and organizational processes to cloud cost management and cost optimization tools to provide a complete framework for controlling cloud costs and improving accountability, at the same time aiding deployment speed and business agility.
With the cloud having firmly established itself as the infrastructure provisioning model of choice for the enterprise a comprehensive financial management and accountability framework was inevitable.
With numerous startups and technology leaders contributing tooling and enterprises building out processes and practices, FinOps has finally evolved into a comprehensive framework for managing cloud costs.
Below we identify some of the main drivers of the FinOps movement:
The emergence of FinOps is tied to the increasing adoption of public cloud services by the modern enterprise. The pay-as-you-go consumption model of the cloud tends to be highly volatile and represents a radical departure from the capital expenditure and fixed cost structures of legacy on-premise infrastructure.
The inability to incorporate this variable consumption and spend into already existing IT financial reporting models pushed enterprises to explore alternate methodologies. This process was further accelerated by the receipt of unexpectedly high cloud bills that could not be attributed to business units or cost centres.
The cloud has also shifted IT procurement to the left. While a specialised procurement team made procurement decisions for on-premises infrastructure, usually on a quarterly or yearly basis, cloud procurement is almost exclusively the domain of the engineering, with some input from procurement/finance. This loss of control on the part of finance/management, has also accelerated the adoption of FinOps, driven mostly by the needs of the finance/management for more say in how, when and in what quantity cloud resources are procured.
The emergence of FinOps has been aided by the larger organizational trends of dissolving boundaries between organizational domains, cross functionality and convergence. Siloed teams, functioning in isolation are increasingly breaking down boundaries to communicate and work together.
DevOps is a primary example of this, where previously segregated developer and operations teams come together to accelerate software delivery, improve reliability and iterate quickly.
To streamline communication and make tradeoffs easier to make, the FinOps methodology advocates cross functional FinOps teams comprising operatives from multiple domains, working together to manage costs and improve financial accountability while at the same time aiding the speed and velocity of software delivery.
As a general rule, FinOps processes and practices are put into action by agile cross-functional teams with operatives possessing knowledge in multiple domains including finance, cloud cost management, operations and development.
Below we outline some of the skills that a centralized FinOps team should possess:
Identifying and formulating FinOps practices and processes and comprehensively documenting them is one of the most essential functions of a FinOps team. Both these endeavours need to be collaborative in nature. The documentation generated should be a living document, with frequent updates mirroring the evolving FinOps landscape.
Seamless and open communication between engineering, finance, operations and management is essential to a successful FinOps practice. The centralized FinOps team not only participates in this communication but also facilitates it. Implementing the FinOps processes and practices formulated earlier require two-way, collaborative communication channels between members of the FinOps team as well as other organizational stakeholders. Building out robust communication channels should be a top priority for newly created FinOps teams.
Analyzing cloud costs and identifying optimization opportunities is another essential function of a FinOps team. Operatives with in-depth knowledge about the cloud cost model are indispensable to performing this function.
This however should serve as the baseline for cloud cost analysis. The FinOps practice needs to gradually evolve to a cloud business value model, which correlates the cost of the cloud to business value. This would essentially mean viewing the cloud as a driver of innovation and tying cloud spend back to business value.
Developing consensus on a value based model and determining metrics would require broad based cross domain collaboration with input from management, IT operations, developers and DevOps, business development and finance.
Collecting, analyzing and reporting cloud cost data is the foundation of a good FinOps practice. A comprehensive review of the tools available should be undertaken to determine which ones provide the features required by the FinOps practice. Basic cost metrics should be expanded to provide forecasting, budgeting, business value and optimization data.
Improving understanding of the cloud model and what it entails is also a necessary function of FinOps practitioners. They also need to ensure that the FinOps framework generates costing data and reports aligned with the requirements of the various stakeholders. As the FinOps practice matures, FinOps teams should also build in automation to avoid repetitive tasks.
Evangelizing FinOps best practices and processes formulated previously is another central function of the FinOps team. Even though the overall responsibility for implementing and adopting these practices and processes falls to FinOps stakeholders throughout the organization, FinOps practitioners should be the driving force behind this process. Pitching the FinOps framework and working towards its ultimate adoption is therefore an essential function of FinOps practitioners.
In Part 2 of the Utimate guide to cloud FinOps we dive into FinOps domains and roles, review the main responsibilities of those domains and identify the current organizational roles that are candidates for inclusion in FinOps teams.
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
5 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
5 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
5 min read