Analyst Series: Governing Costs with FinOps for Cloud Analytics
Dan and Kevin discussed FinOps, which is a cost governance discipline for cloud-based analytics and operational projects. They discussed the importance of having a multifunctional team manage a FinOps program for an analytics project. Kevin described how FinOps applies to the three phases of an analytics project: design, operate, and optimize.
Kevin discussed the importance of operation and optimization in managing a project, including adjusting to business requirements and optimizing costs and performance.
Kevin discussed how companies such as Kroger have used Unravel's data observability platform to optimize their cloud costs. He also gave a fictional example of an e-commerce company using machine learning models to personalize content and make recommendations to customers, and how using platforms such as Unravel can help track and optimize resource costs.
Dan and Kevin discussed the importance of implementing disciplined, cross-functional cloud governance to manage cloud-related costs. Kevin also recommended the FinOps Foundation as a resource for building best practices.
Hello listeners, my name is Dan O'Brien and I'm a research analyst at Eckerson Group. Today I'm joined by Kevin Petrie to discuss his most recent report “Governing Costs with FinOps for Cloud Analytics.”
Kevin is the vice president of research at Eckerson Group where he manages the research agenda and writes independent reports on topics that include large language models, data engineering, data observability, machine learning, and cloud data platforms.
Hi Kevin, thanks for speaking with me today.
Hey Dan, thank you for having me. Good to be here.
Let's hop right into it. So what is FinOps? Are we just talking about financial operations—i.e., managing business systems and financial transactions?
Good question. FinOps is different because it's cost governance for cloud programs. So it's helping organizations get a handle on costs related to cloud-based analytics projects or cloud-based operational projects.
As we know, more and more companies are cloud-native or cloud first or hybrid. They're moving more and more of their operations, their digital operations and their analytics projects, to the cloud in order to realize the benefits. Benefits in terms of flexibility and in terms of converting CAPEX to OPEX. It makes sense to have a cloud platform from which you rent resources rather than hosting those resources in-house in a lot of cases.
The challenge is that a lot of companies are realizing it's hard to get a hold of cloud-related costs. You can have bursty workloads that consume a lot of compute free workloads and quickly get out of control. FinOps is this discipline that helps you forecast, measure, and account for cloud-related costs at each point in the lifecycle of a cloud-related project: design, operation, and adjustment or optimization.
I've also heard of another term, which is Data FinOps. How does this relate to FinOps and do data and FinOps work really well together?
A lot of companies find that their analytical workloads, their analytics programs and projects in particular, make sense to run on the cloud because you could have a lot of data that operationally is going to stay on premises for a while due to data gravity–the notion that applications sort of cluster around data wherever it is. But they want to have copies of that data streaming to an analytics project where they can consolidate from a lot of different sources and get analytics views.
So Data FinOps refers to applying the discipline of FinOps to analytics projects in particular, but also to data-related projects such as operations that embed analytics capabilities.
So we've got a great application for a data analytics team. You’ve referred to data analytics teams and financial operations teams. Who actually manages a FinOps program?
You know, it's interesting. One of the key tenets of FinOps is that you need to have a multifunctional, cross-functional team that collaboratively handles this effort.
So it starts with a business representative who's going to be sponsoring, let's say in this case, an analytics project. They're going to consume the outputs of the analytics projects. And from a business perspective, they'll want to make sure that the benefits outweigh the costs. So they're going to be keeping an eye on cloud-related costs.
You've also got a FinOps manager or a FinOps analyst, who serves as sort of a liaison between the finance manager and IT, and helps broker conversations to make sure that when IT is managing a project for data teams, they are staying within the budget that's allocated and overseen by the finance manager.
And then you've got other contributors as well. You've got analysts who might be data analysts, business-oriented analysts, or data scientists, who are going to consume data outputs.
You've also got CloudOps engineers or other types of IT managers that are configuring the infrastructure to support data pipelines and to support analytics workloads.
There are a lot of different people that are going to contribute to this cross-functional collaborative effort so that as teams manage analytics projects and consume the data, they're doing things with cost in mind and they're making very cost-based decisions about how much data to bring into a project, where and how to process it and so forth.
Fantastic, that makes a lot of sense. So you mentioned this lifecycle of a data analytics project following FinOps. We have a design, operate, and optimize cycle. Could you just take us through that for a bit?
So you've got the notion of governance where you're forecasting and measuring and then accounting for cloud-related costs, which are consuming applications, cloud storage, cloud compute, that's the big one, and then network resources as well.
But layering on top of that is the actual, in this case, analytics project. And so the analytics project, as you said, involves three phases.
It involves a design phase, operational phase, and then an adjustment or optimization phase. In the design phase, we're talking about a few different things, business planning, assembling your use cases, assembling your business requirements, and then your IT requirements and your data requirements.
There's also architectural design, which figures out: where should we put this repository of information? Do we want one platform, or two? Do we want one cloud or two? Are we doing some things on premises? Those sorts of questions go into architectural design.
And so from this you come up with a real project with a start and finish. It's part of an overall initiative for, in this case, analytics. And that's kind of rounding out the design phase, looking at things from a business perspective and architectural perspective and then a project perspective as well.
Operation is putting things into action. That’s show time. So that's where you're starting to execute on your deliverables to different consumers in the business. You might have data scientists that need to consume the outputs of machine learning models or start to train their machine learning models. You might have business intelligence teams that need to start generating reports based on the operational data that's ingested to your cloud-based repository. All those things are aspects of a project that's operating.
Optimization is where things get interesting because then you're going to start to optimize things at a few levels.
One is you're going to, based on business feedback, say we need additional data sets or let's drill in on these data sets, or let's change the method of reporting. There are all sorts of ways in which you're going to adjust the project you're managing to meet the requirements of the business.
Optimization also requires IT changes. You might find you can optimize costs by running this compute load off hours on-premises instead of on the cloud, using your own servers that you've had for a while and already paid for. You might decide you need to speed up performance for this particular real-time machine learning model. So optimization involves many decisions about steadily improving the outputs of the project.
Throughout that, you're going to want to forecast what's happening to your cloud compute, what's happening to your cloud services that you're consuming from an application perspective. How much is this going to consume? You're going to measure against your predictions that underpin your commitments to the business and to finance. Then you're going to account for that. You're going to assign accountability to specific stakeholders and say this data engineer is accountable for the compute that his or her pipelines consume, or this data scientist is accountable for the compute that's consumed by this training exercise for machine learning. That accountability is critical. You're going to start to have your finance lead point to actual people and say you are the reason we're under budget or you're the reason we're over budget, let's make a change.
With so much data everywhere, accountability seems like a huge portion of it. Do you have a real-life example of an organization or a project that you recently looked at that's using or implementing FinOps as well?
Well, you know there are a lot of good examples. I think that Kroger is one. They are a customer of our client Unravel which actually sponsored the FinOps report that we're talking about here. Kroger were able to use the data observability platform of Unravel to optimize some of their cloud costs.
It might be more illustrative if I go into sort of a fictional example though. If you have an e-commerce company that decides it needs to test and then implement real-life content personalization pages. This will include recommendations to customers based on a bright set of data. So they want to train machine learning models that will say, based on this customer's clickstream history on our website, their social media activity, and their purchase history, here are things we're going to recommend when they click to the checkout aisle. We're going to do some upselling.
We're going to say, we know you bought mountain bike inner tubes, would you like some new mountain bike tires? I'm a big mountain biker, so these things come to mind. So those projects on personalized content and recommendations about additional purchases are going to require machine learning models. And to train those machine learning models, the data scientist needs to work with the data engineer to bring in a lot of data.
They'll want to work with IT ops, with cloud ops, and with the finance manager to say, this is how much compute and how much storage and network space we think we need to train these machine learning models. And you can hold them accountable for that.
Then they'll train those models. And once they test them and feel they have sufficiently accurate predictions about likely upsell decisions or purchase decisions by customers, they'll put it into production. They'll hand it off to a machine learning engineer who put that model into production. And at that point, you’re operating the project.
For optimization, you're going to want to continuously use platforms or tools such as Unravel or others to predict how much storage or compute is being consumed by data pipelines, by the infrastructure supporting them. Make sure you're tracking against your predictions about resource costs. It helps if you can automatically have alerts come to you saying, hey, this workload is running way above target or we think this workload will run above target.
That’s an example of FinOps thinking through design, operation, and optimization of a project that will automatically recommend to customers in a machine learning context what they should buy alongside the product they came to buy.
It seems like a well-designed, comprehensive system of governance. If you're going to take a step back and just glean one or two insights about a FinOps governance program, what would you say is something to really keep in mind?
I think that everyone agrees on the pain, which is, as we move to the cloud, cost can be difficult to predict and difficult to control. So if we agree on the pain, it's important to take that next step towards more disciplined, cross-functional governance of cloud cost.
And so from that, I would say go to the FinOps Foundation. That's a community of folks that are moving on this journey towards better governance of cloud-related costs. They're starting to help different stakeholders within a variety of companies build best practices about how to manage their cloud costs.
I think the takeaway would be to get smarter about how to take some initial steps to govern your cloud-related costs, because this environment is such that costs matter. ROI matters on cloud investments. And if you're not taking those steps, in all likelihood, your competitors are, and they could take profit at your expense.
Wise words. Well, thank you very much for your insight, Kevin. I appreciate it. If you want to learn more, you can read Kevin's report “Governing Costs with FinOps for Cloud Analytics” on our website, EckersonGroup.com. And Kevin, what's the best way for listeners to get in touch with you?
Great question, Dan. Thank you. I'm pretty active on LinkedIn. So I encourage folks to find me there. I have periodic posts about FinOps and other hot topics.