FinOps: a never-ending journey, not a destination
What is FinOps? At a high level, that's an easy question to answer: FinOps is any practice that helps to optimise cloud spending.
If you drill down deeper, however, you realise that FinOps isn't so simple to define – let alone operationalise. FinOps isn't a singular practice; on the contrary, it encompasses a wide range of processes and strategies, and it's practiced by different organisations in different ways.
That's why getting the most out of FinOps requires an understanding of the many approaches to FinOps. To provide guidance, this article walks through what I call the four stages of FinOps maturity and identifies opportunities where businesses can double down on their FinOps initiatives, even if they already have some cloud cost optimisation practices in place.
The challenges and opportunities of FinOps
Before diving into best practices for leveraging the full value of FinOps, let's discuss what FinOps means.
Most definitions of FinOps sum it up as a practice (some folks say "discipline") dedicated to optimising costs in the cloud.
That's not wrong, but I'd suggest a somewhat different definition – one that better reflects what makes FinOps fundamentally different from on-premises cost management.
To me, FinOps is the practice of procurement in the cloud. The goal of FinOps is to ensure that organisations procure cloud resources in a cost-efficient way.
The reason I like this definition of FinOps is that it highlights what makes cloud cost management so different from on-premises cost management: In the cloud, engineers become procurement officers, because they are the ones making decisions about when and how to purchase cloud resources.
That's a major departure from standard procurement operations. Outside of the cloud, procurement involves acquiring large amounts of infrastructure on a periodic basis – usually once every few years. Within an enterprise, those decisions are usually made by procurement officials who spend most of their time analysing costs and charting ways to achieve the best balance between spending and performance.
But when you move to the cloud, you enter the Wild West from a spending perspective. People who usually have no background in procurement or cost management – engineers – suddenly start making decisions that have enormous financial implications for the business. Plus, their ability to spend is literally limitless, since cloud platforms offer a virtually unlimited supply of resources.
In this environment, FinOps becomes absolutely critical for ensuring that procurement decisions are sound from a cost-management perspective. It's the only way to guarantee that engineers who are in charge of cloud spending have the data and insights they need to spend wisely.
Toward a FinOps maturity model
The best way to explain what those data and insights consist of is to think in terms of FinOps maturity. Although many businesses now have FinOps practices, not all of them have achieved the same level of effectiveness or sophistication, measured in terms of how actionable their FinOps insights are and how much value FinOps brings to their businesses.
Here are the different levels of FinOps maturity that you're likely to encounter at different businesses.
FinOps stage 1: Predicting cloud costs
The most fundamental aspect of FinOps is having the data necessary to predict how much cloud resources will cost. Engineers can't make smart cloud procurement decisions if they lack information about what a VM instance or serverless function will cost them. Fortunately, cloud providers offer cost calculators and prediction tools, making it easy to achieve this level of FinOps maturity.
FinOps stage 2: Tracking chargebacks
Slightly more advanced FinOps practices allow businesses not just to predict costs, but also to manage chargebacks so that they can understand which parts of the organisation are spending which amounts in the cloud. To do this, you need to collect cloud cost monitoring data in a granular, workload-by-workload way and allocate it to different business units.
Achieving this level of maturity is easy enough as long as you are monitoring cloud spending and tagging or labeling cloud resources with sufficient detail to know which business units or teams they belong to.
FinOps stage 3: Cost optimisation
Once businesses have achieved visibility into their cloud spending, they can advance to the next stage of FinOps, which is identifying and acting on opportunities to optimise costs. They might identify situations where VMs can be migrated to a different instance type that reduces costs without compromising performance, for example, or leverage multiple clouds to find lower-cost services.
This is a more advanced level of FinOps maturity because it requires the ability to assess many variables – such as which workload configurations are available on the cloud services you're using, which additional cloud services you could potentially use and what the near and long-term performance and reliability requirements of each workload are. Parsing this data efficiently in order to deliver actionable, real-time cost insights requires automated, predictive analytics.
FinOps stage 4: Optimising beyond cost
Once you reach FinOps maturity stage three, you have fairly strong control over your cloud spending. But there's room for further improvement by leveraging FinOps to support initiatives other than cost optimisation.
The most mature FinOps practices are able not just to optimize for cost, but to other ends, too. For example, an organisation might use FinOps tools and processes to identify how modifying a VM instance type would reduce energy consumption and support ESG goals.
Ultimately, the points I've made above boil down to the lesson that FinOps is all about continuous improvement. You can't just implement a FinOps function within your business or deploy some cost monitoring tools and call it a day. Instead, think of FinOps as a never-ending journey in which there is always room to do more with cloud cost optimisation tools and practices. The only way to achieve true optimisation is never to settle for the norm.
About the author: Jas Adams is Director of DevOps at Lemongrass