Introduction to FinOps on Google Cloud

Peter Billen
Google Cloud - Community
8 min readDec 2, 2022

--

In this article, we evaluate the increasing importance of Cloud FinOps and why it requires a new way of thinking. We demonstrate that FinOps

  • is not only about price optimization
  • is not a one time activity but rather a continuous practice
  • is not the responsibility of just a single person, team or department; nonetheless it aims to foster collaboration between different stakeholders across the organization

We will not deep-dive into techniques to optimize workloads or resources. The examples used are for illustration purposes only, we list a couple of references for you to find more information.

Disclaimer: I work at Google in the cloud team. Opinions are my own and not the views of my current employer.

When organizations start using cloud, financial operations are typically focused around estimates for migrating workloads. The migration activities start but implementing the necessary financial processes and best practices gets less focus. It is only when the bill becomes significant (or even too high) that this gets attention.

What happens? People tend to focus on solving the budgetary concern and prioritize tactical measures. Tasks forces are set up to help reduce costs and optimize workloads. Usually, external help is brought in and quick wins get increased priority. It is at that moment that easy price optimizations are favored: no need to perform a lot of effort and immediately available.

When this opportunity is not used to put a longer term strategy in place, it is just a matter of time before the same situation will happen again. This is where Cloud FinOps helps.

Cloud FinOps is a framework that brings together people, process and technology promoting and driving financial awareness and accountability in the organization. It focuses on business value maximization rather than only cost optimization.

GCP FinOps Framework

The whitepaper Getting started with FinOps on GCP outlines a framework for Google Cloud Platform (GCP), covering the teams required, the processes and behaviors to embrace, the outcomes expected, and an approach to implement it.

The variable nature of cloud

Cloud brings variable cost structures. It is no longer required to buy infrastructure upfront, you can use what you need and pay as you go. In the past this meant that costs were capped to the investment that was made avoiding surprises. Now, when you use more resources you will pay more. This brings opportunities but requires attention and understanding.

  • Attention: Paying for resources that you do not need is waste. Examples include leaving development servers running over the weekend or not cleaning temporary data storage.
  • Understanding: Not realizing how decisions and actions influence costs can create waste. Examples include performing networking traffic across regions continuously or querying excess data without needing it.

And there are many more examples. It is important to ensure that different stakeholders in the organization are enabled and work together to understand and act upon decisions that are taken in isolation. Based on this collaboration, experiences and lessons learned can be shared with others.

FinOps helps to create a balance between having no and tight controls on cloud spending. Too many controls lock down teams with increased approvals and reduced flexibility resulting in limited innovation and growth opportunities. No controls however will create wastage and make it difficult to track against business value realization. A balanced situation aims to create agility and innovation while managing cost putting business value at the center.

The importance of data

For teams to understand how their actions impact cloud spend they first need to have visibility on the relevant data. I come across workload teams that have no idea how much their monthly spend is and how it has been evolving. In most cases an estimate has been done at the start of the implementation, but usually the solution is no longer aligned. Occasionally a budget alert is defined but never updated and in most cases set too high to fire off an event — so when the cost would double, triple, … the team will not be aware.

Informing the teams with accurate data improves this understanding and facilitates moving to the next phase: making them accountable for managing and improving their cloud spend. In Google Cloud, several options are available to perform workload as well as pricing optimizations. As mentioned earlier we will not go into detail but more information can be found starting from the Cost optimization on Google Cloud for developers and operators page or from the Cost Management blog.

Visualize and Optimize Cloud Spend

At this stage it may be tempting to focus only on cost reduction but this can limit value creation and innovation. An important aspect to consider is the value that a solution is delivering to the user and how this maps to the required cost. Rather than looking at how to minimize resource usage, ask yourself the question how you might use cloud differentiation to reduce time-to-market, improve velocity, reduce system constraints (such as downtime or poor performance) and introduce new capabilities (such as AI/ML).

This means that cloud spend needs to be put in perspective. Increasing spend accompanied by increasing business value will be positive; while increasing spend without business value raises concerns. Yet, even in positive cases, it remains important to find the best solution and associated cost to generate business value. Cloud offers many options to design and implement solutions, so are you making use of the most appropriate one? Have you optimized on the default settings? Are you not making use of options that are nice but not essential? This is an important consideration to unlock value from your cloud investment and involves both technical and business teams working closely together.

The whitepaper Maximize business value with cloud FinOps builds on the core building blocks of cloud FinOps and defines key success metrics for business value realization.

The importance of getting started

I regularly get asked “So, when should we start with/grow FinOps?” Some are just starting with cloud, some have already practices in place. And the answer is the same: now! It doesn’t matter where you are in the FinOps journey, you can always start or add new practices to unlock (additional) value. It is important to aim for progression rather than perfection: start small and continuously improve, but it is important to establish the necessary foundations early.

A good starting point is the introduction of cost visibility dashboards. We explained earlier that informing teams with accurate data improves their understanding and helps them take responsibility. These dashboards can be set up in a tactical manner using spreadsheets and manual updates/distribution. While this provides a good first insight it may not be sustainable: the creation of the dashboards needs to be maintained and teams do not have the latest up-to-date information preventing adoption. This is where automation and a metadata foundation comes in.

In my previous blog post Growing your Google Cloud Landing zone with data I evaluated how data can enrich a landing zone and set you up for a modern, scalable, future proof and user centric solution. This comes down to organizing the automated services by orchestrating them centrally and storing the necessary data in a landing zone metadata platform. Each service — including billing information — will store its output so that it can be used as input by other services. In this way this data will be always available, ready for services, users and stakeholders who need it — transparent, accurate and up-to-date.

Making billing data available in a landing zone metadata platform

Having relevant cloud FinOps and governance data centrally available facilitates exactly the philosophy to start small and grow in phases. By making the billing data available in the metadata store it can be combined with budget alert configurations. Recall that this will prevent the issue of having disproportional budget alerts by comparing them to actual costs. We can implement more governance controls by leveraging additional data from the landing zone governance. And we can start to look for other opportunities to put more FinOps practices in place: verify resource usage levels, perform trend analysis, integrate with forecasting processes, … Once started every organization can define its own FinOps path and carry it out at their pace.

The importance of collaboration

Having effective FinOps processes requires effective collaboration of different stakeholders in the organization. A central team sits in the middle to promote and advocate financial responsibility. They coordinate other stakeholders that bring their expertise and skills, and guide them through the change:

  • The platform team ensures the FinOps strategy is automated (visibility dashboards, guardrails, etc.)
  • The workload teams take responsibility to optimize workloads and share experiences and lessons learned with others
  • Business ensures that the business value component is taken into account as part of cost discussions
  • Finance acknowledges and includes the new variable model of cloud in its processes

Watch out however for the common anti-pattern that the central team itself becomes responsible for identifying and implementing cost optimizations. Whilst it may seem that this team is best placed to drive cost optimizations, they will struggle with having the necessary information and skills, resistance to change from teams and difficulty to scale.

Therefore It is important to take the time to embed FinOps in the organization and make it operational. This is not a one-time or linear concept rather it requires an iterative approach where improvements are introduced continuously. A key factor is enabling the collaboration between teams. Many approaches and timelines are possible but always centered around building communities, creating awareness and upskilling teams. Examples include creating newsletters, facilitating knowledge sharing sessions, gamifying continuous optimization and especially recognizing valuable contributions.

To make this possible it is important to create a psychological safe environment. Teams need to be comfortable to act. Mistakes can happen and that these can be analyzed so that they don’t happen again. Alternatively, recommendations can be made without needing to take the responsibility for other (or even all) teams in the organization. By promoting and supporting collaboration, openness, and blamelessness in every part of the FinOps framework, it allows creating a lasting foundation for change and drives new behaviors and outcomes.

--

--

Peter Billen
Google Cloud - Community

Peter is a Principal Architect at Google Cloud. He is helping companies get the most out of their digital transformation while moving to the cloud.