Start your journey to cloud cost optimization by understanding what is FinOps and how it can make your organization more competitive
Recently I’ve been asked by quite a few people to explain what FinOps is, so I’ll do my best in this post to summarize what it means for me.
Starting by looking at the official definition coined by the FinOps Foundation to begin and understand 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.״
I’ve highlighted in bold the bottom line. The goal of FinOps culture and practice is to maximize the business value of an organization.
Although the definition does not specifically mention the Cloud. It is often referred to in the context of cloud cost optimization, and that’s what I’ll focus on in his post.
Before moving on, keep in mind that FinOps is not just about saving money, it’s about creating more value from the tools and technologies your organization is using. Primarily from the cloud.
FinOps and DevOps
At this point, I’ll mention that FinOps is a combination of the words Finance and DevOps (aka Portmanteau).
Having a solid background in DevOps is one of the foremost skills of a FinOps professional, as most of the work will require examining your current systems and solutions and finding ways to optimize them in order to reduce your cloud cost while maintaining the quality of your service.
Mix DevOps with Finance and a touch of Data Analysis, and you’ve got FinOps!
FinOps Culture
No one ever will be able to come to an organization that spends a million dollars annually in the cloud, wave a magic wand, and cut spending in half.
At the end of the day, FinOps is an organizational culture. The practice of FinOps is more than a technology or a specific solution. It’s a philosophy and an organizational approach to cloud usage, in which everyone in the organization has to take part.
Therefore it’s up to the FinOps practitioner to develop the FinOps culture in the organization and create collaboration, accountability, visibility, and an action-driven environment in order to get everyone on board and achieve the organization’s goals.
FinOps Principles
FinOps has fairly well-established principles that guide FinOps practitioners in their daily work:
- Teams need to collaborate
- Everyone takes ownership of their cloud usage
- A centralized team that drives FinOps
- Reports should be accessible and timely
- Decisions are driven by business value
- Take advantage of the variable cost model of the cloud
Let’s examine each of these principles.
Collaboration in FinOps is Key
FinOps is built on collaboration between the management, business, finance, and technology teams. Therefore it is important for a FinOps practitioner to create an environment that encourages all of the teams to take part in the optimization process.
The business and management have to understand the value of FinOps and encourage the organization to make better use of its resources. Spending has to be monitored and compared with the business value it brings.
Finance personnel should work on having a clear and concise picture of the organization’s current and future spending compared with its revenue.
And technological teams should be on board to dedicate their time and effort to carry out the suggested optimization.
Finally, the FinOps personnel should build trust through clear and realistic goal setting, well-defined optimization suggestions, and an overall trend showing improvement in business value.
Accountability and Ownership
Cloud resources should not be left without an owner. An owner can be a person, a team, an organizational unit, or a cost center. Each organization will want to color its cloud resources in a way that matches its business needs. It’s up to the FinOps practitioner to make sure everyone is aware of how much their current and predicted future spend.
Ownership can sometimes be tricky as some resources are often split between several owners, in that case, it’s important to have the accountability split fairly between the owners.
FinOps as a Centralized Authority
My advice is that the FinOps team and professionals work as close as possible with the CIO or the COO of the organization. In that way, we get these significant advantages:
- There is a single negotiation point from the organization to the cloud providers. The centralized team is able to see and forecast the usage of the entire organization and negotiate on the behalf of everyone, therefore giving the organization larger leverage to negotiate larger discounts for bulk purchases.
- The FinOps centralized team can recognize reserved resources which are not used in one team, and move them to another team that needs these resources.
- A centralized team creates standards and guidelines for the entire organization to follow and makes sure these are encouraged and enforced.
Reports, Reports, and More Reports
If you are seeing your cloud spend only when the invoice arrives at the end of the month, you are missing a lot. You leave your organization vulnerable to nasty and pricy surprises.
A FinOps practitioner should create persona-specific reports that are up-to-date and accessible by demand at any time.
Reports keep everyone accountable for their use, and it’ll make everyone think twice before they click on the “Deploy” button and ask themselves “Do we really need another RDS Database? or can we reuse the one that is already running?”
A minimal standard to set is a daily report summarizing any change in the forecasted end-of-month cost, as well as the change from the day prior.
How to decide on which actions to take
Each potential optimization recommendation should come with two questions:
- How much are we expected to save by acting on the recommendation?
- What would be the effort in terms of engineering hours to implement the recommendation?
Answering these two questions should help to clarify which recommendations should be taken, and which should be ignored or postponed.
There are more possible questions a FinOps might ask before recommending to take an action, for example, “The service we want to optimize will be deprecated and removed completely in 3 months, should we still optimize it?”. Such questions can only be answered by your organization and what is important for you.
We moved to the cloud, let’s take advantage of it
The Cloud is a wonderful tool allowing us tons of flexibility and opportunities to optimize our cost, let’s use it right. Here are a few points to think about:
- An instance is not being used at the moment? Turn it off.
- You are utilizing only 20% of a server’s CPU? Reduce to a smaller instance.
- Your team is using instances as part of their development? Make sure those instances are not running during weekends and after work hours.
- Your service workload is sporadic and unpredictable? Consider moving to a serverless solution.
- Your customer signed a 1-year commitment with you? Optimize by paying upfront for Reserved Instances
Final Thoughts
I did my best to answer what is FinOps as we know it at the end of the year 2022. As you read, there is no simple answer but rather a collection of culture, philosophy, and principles. As the technology continues to evolve so will FinOps continue to evolve. FinOps practitioners will have to use their imagination and creativity to come up with the best solutions to bring the best value to the organization.