Open Source and Cloud Financial Management

Isabella Ferreira
5 min readFeb 13, 2023

If it seems that FinOps is about saving money, then think again.

FinOps is about making money.

Cost efficiency seems to be one of the advantages of using cloud computing. By hosting applications on the cloud, organizations do not have to purchase upfront hardware and software. Additionally, there are no operational costs, maintenance, and upgrade expenses. Although those are good advantages, it is difficult to determine the initial cost of the cloud since there are no fixed capital expenses. Rather, costs are accumulated over time based on workload size, duration, and other characteristics [5]. Consequently, budgeting and managing cloud resources are challenging since it requires unique tools, oversight, and governance [5]. Most businesses face the so-called cloud cost blindness, which is when estimating the cloud costs seem to be unpredictable and out of companies’ control since it is challenging to get visibility on a daily basis of the engineering and infrastructure decisions that can impact cloud bills [6].

According to a survey with 753 cloud decision-makers and users conducted by Flexera, 66% of the executives said that cloud usage is “higher than already planned this year” and that “spend is likely less efficient and likely even higher on average”, as many organizations tend to underestimate their cloud costs. Participants also answered that their public cloud spend was over budget by an average of 13% compared to the previous year. Among small to medium businesses, 53% spend $1.2 million annually on cloud computing. While the survey’s authors do not provide a similar composite spending figure for larger enterprises, they report that many spend $12 million or more annually on selected public cloud services — 18% of enterprises spend this on AWS, 15% spend this on Microsoft Azure, and 7% on Google Cloud Platform.

To avoid or mitigate this problem with cloud costs, organizations should adopt a philosophy where finance, IT, and business work together with the common goal of successfully delivering projects [1]. This approach is called FinOps which increases the business value of the cloud by giving all stakeholders the power to control their spending [1]. In this article, we will explain what is FinOps, explain the FinOps life cycle, and examples of FinOps open source resources.

What is FinOps?

“FinOps is an evolving cloud financial management discipline and cultural practice that enables organizations to get maximum business value by helping engineering, finance, technology, and business teams to collaborate on data-driven spending decisions.” [4]

Briefly, FinOps is the process of managing public cloud finances. According to the 2021 State of FinOps report [3], 43% of enterprises are still learning about FinOps, 41.5% of them have already established FinOps but are in the process of maturing, and only 15.5% of companies have mature FinOps policies. Respondents also mentioned that they have on average 4 people on their team dedicated to FinOps.

FinOps involves cross-functional teams. Finance needs to make data-driven cloud financial cloud decisions, IT Ops-DevOps wants to move fast with hybrid/cloud-first capabilities to deliver faster, and business leadership focuses on resolving costs, speed, quality/risk trade-offs, and aligning business values with FinOps.

Together, these stakeholders can come to a decision about the best approach to take. Besides coding, managing software, and optimizing costs, these teams are also responsible for driving cost transparency by allocating costs to teams, applications, and microservices.

Containerized microservices architecture and FinOps

The cloud-native way of building applications consists of containerized microservices architecture deployed using a microservices framework such as TARS, an orchestrator like Kubernetes, and the cloud as an underlying layer. To effectively manage and optimize costs, FinOps teams need to consider these different technology stacks to provide cost and usage insights.

The FinOps lifecycle

Now that you know what is FinOps and its stakeholders are, it’s time to take a look at the FinOps lifecycle. The FinOps lifecycle is similar to DevOps and other agile development concepts. An organization can be in multiple or even all phases of the FinOps lifecycle simultaneously, depending on the department or workload involved. According to the FinOps Foundation, FinOps follows three major phases:

  • Inform: First, organizations need to understand how they allocate, benchmark, budget, and forecast cloud resources and services. It is necessary to have detailed allocation information to tie cloud costs and utilization to business units. With that, FinOps teams are able to show stakeholders the business value of the cloud, avoid unexpected costs, and improve.
  • Optimize: With the detailed allocation information, FinOps teams can optimize cloud utilization by evaluating the cloud environment and working towards the right-size resources. They can also use automated tools to scale back or turn off unneeded resources.
  • Operate: In this phase, FinOps teams should continuously track and evaluate cloud operations against business objectives and metrics.

Open source resources for FinOps

Now that you know about the FinOps lifecycle, let’s take a look at some open source projects that will guide you through this process.

  • Komizer can be used to uncover hidden costs, monitor cloud spending, and get customized recommendations to get control of cloud spending.
  • Infracost can be used to manage any potential costs by checking your code to determine costs before the resources are launched. It can be also used to determine which resource is costing the most and give you an overview of the impact of changes on the team and workflow.
  • Harness provides visibility into idle, used, and even unallocated cloud resource clouds. It also provides recommendations for savings and the right sizing.
  • Crane can manage cloud resources on Kubernetes stack.

Besides these FinOps open source projects, check out TARS, which is a microservices framework that can help to scale applications and release idle resources, consequently helping you to optimize your cloud costs.

If you want to learn more about your FinOps options, check out the FinOps Foundation. Furthermore, the Linux Foundation has also a course about Introduction to FinOps so that you can learn more about which considerations should be taken when forming a FinOps team, and how to define the scope of the capabilities of a FinOps team would perform to achieve the cloud use goals of the organization. This course is the starting point if you are interested in taking one of the FinOps Certifications.

About the author:

Isabella Ferreira is an Ambassador at TARS Foundation, a cloud-native open-source microservice foundation under the Linux Foundation.

References:

[1] https://www.sangfor.com/blog/cloud-and-infrastructure/what-is-finops-adopting-finops-with-devops-on-your-cloud-journey

[2] https://www.techtarget.com/searchcloudcomputing/tip/Apply-these-FinOps-best-practices-to-optimize-cloud-costs?_gl=1*1m78df1*_ga*NjA5OTYyMTc4LjE2NTAzMzc5NzM.*_ga_TQKE4GS5P9*MTY1MDMzNzk3My4xLjEuMTY1MDMzODAxMS4w&_ga=2.255737934.756413021.1650337973-609962178.1650337973

[3] https://data.finops.org/

[4] https://www.finops.org/introduction/what-is-finops/

[5] https://siliconangle.com/2021/11/28/cloud-computing-costs-high-can/#:~:text=In%20the%20cloud%2C%20there%20are,unique%20tools%2C%20oversight%20and%20governance.

[6] https://www.cloudzero.com/blog/why-your-cloud-costs-are-so-high

--

--

Isabella Ferreira

Data Scientist | Machine Learning Engineer | Software Engineering Researcher