The Source Platform & Infrastructure
Article

FinOps: Balancing financial responsibility and innovation

Explore how FinOps harmonizes financial accountability with business objectives, promoting cost-effective innovation in modern enterprises.

November 26, 2024 5 min read
Lee Faus
Lee Faus Global Field CTO

When cloud spending grows alongside your engineering teams, a painful trade-off often emerges: push developers to ship faster, or rein in escalating costs. But imagine boosting developer productivity by 30% while slashing project costs by 25%. That might sound impossible, yet it’s a realistic goal for organizations that adopt FinOps (Financial Operations) — a data-driven approach that applies DevOps principles and practices to optimize the costs associated with people, process, and technology across the software development lifecycle.

I’ve seen firsthand how FinOps transforms organizations by bringing financial clarity to every aspect of software development. I recently met with the DevOps team at an insurance company that is beginning its FinOps journey. Early discussions included determining basic measurements such as cloud spend and identifying other revenue-driving, cost-reducing metrics through value stream management. These conversations are critical for FinOps practitioners to evaluate how teams and resources are organized and allocated, and which processes and tools may be implemented to drive change.

From team structures to development processes to technology choices, this visibility helps leaders optimize investments across their entire operation. By bringing together finance, product, and engineering teams, FinOps enables CFOs, CPOs, and CTOs to make informed decisions — improving efficiency across the business.

Improving efficiency and optimizing costs isn’t just a technical challenge — it’s also a strategic business imperative, especially as organizations invest more money in the cloud. FinOps brings necessary financial accountability to the cloud’s variable spend model. Let’s walk through the benefits of FinOps and how you can begin incorporating FinOps methodologies into your operational workflows.

What is FinOps?

FinOps, short for Financial Operations, succeeds by transforming how finance, engineering, technology, and business teams operate. Through real-time data and analytics, teams gain immediate visibility into cloud spending and can take action before costs escalate. This proactive approach to financial accountability enables quick informed decisions about resource allocation, leading to measurable cost savings.

At its core, FinOps is a cultural practice that makes this transformation sustainable. By establishing clear processes and shared metrics, teams ensure their daily technology decisions support broader business objectives.

As many companies focus on generative AI and developer productivity, they need guardrails, such as automated workflows and reusable templates, on the delivery side of the equation to ensure paved pathways are adopted. This becomes essential for organizations that are modernizing their applications and scaling cloud architectures in production.

The challenge intensifies when managing non-production costs, such as continuous integration (CI) costs. Companies that have adopted a data-driven approach can gain deep visibility into their CI costs. They can see exactly how scaling CI horizontally or vertically affects both feedback cycles and costs across different processor architectures. By implementing standards like ephemeral testing environments, they ensure code quality and security while optimizing spending.

Product owners, who normally own the budget for a product line, can also work with IT teams and engineering leads to provide transparency metrics. This collaboration allows leaders to roll up budget projections across multiple services and ensure that infrastructure resources are being leveraged at their optimal capacity. The result: finance teams can finally see which applications generate the most investment return.

Bridging technical and financial domains

Creating a FinOps model can involve both a carrot and stick approach. The carrot approach fosters a more collaborative and transparent environment. The stick approach, on the other hand — for example, reprimanding development teams for overspending — most often leads to a breakdown in processes. You want FinOps to account for what developers need to do their work and how it impacts the company’s bottom line, not just monitor their use of cloud resources.

I recently met with a major airline that was spending close to $5 million a year on CI runner fleets. Security scans, dependency scans, and token scanning all ran inside these runner fleets. They could have skipped the security step to reduce their spend, but the potential for security issues was a much bigger concern than spending the money on the runner fleets. Instead of skipping the security step, the company needed to identify ways to make their runner fleets as a whole more efficient to reduce their spend and encourage developers to experiment and innovate.

A successful FinOps program does not require a dedicated team of full-time FinOps professionals. FinOps serves as a strategic liaison among cross-functional teams such as finance, product, and engineering. A typical FinOps program includes various job roles and functions, such as a CTO or VP of Engineering, a finance leader, and one or more engineering leaders who regularly collaborate to evaluate issues, identify new efficiency opportunities, and build remediation plans.

Aligning technical operations with financial objectives helps ensure that cloud infrastructure and software development investments yield the highest possible return. This can demonstrate to DevSecOps teams how their work contributes directly to increasing revenue, how they may be able to reduce costs, or both.

Smart financial control in developer workflows

FinOps monitors resource consumption from both a user and operational standpoint to help optimize developer workflows. One way to accomplish this is to analyze CI jobs and identify which ones cost more than their value justifies. Every software development pipeline contains multiple jobs, each requiring an execution resource like a virtual machine (VM) or container. The longer each job takes to execute, the higher the cost. FinOps helps developers understand which jobs are performing poorly so they know which ones they need to refactor.

This creates a self-service model that frees DevSecOps teams to work within clear guidelines. For example, a policy might prohibit someone from provisioning $100,000 worth of resources on AWS, but they can spin up an EC2 image to conduct testing. However, if they can justify why they need to provision $100,000 worth of resources, they can submit a request explaining how the project will potentially generate revenue for the company. If approved, they can begin their work.

However, I want to reassure DevSecOps professionals that FinOps isn't about restricting innovation through monitoring. Instead, it provides full visibility into your organization’s cloud usage and spending, helping teams identify opportunities to improve cloud productivity. In addition to fostering collaboration among finance, technology, and business teams, FinOps analyzes usage patterns and forecasts demand to anticipate whether resources need to be scaled up or down to meet future needs before overspending occurs.

Easing the tension

There’s a constant tug-of-war between engineering and operations teams. Engineering’s mission is to drive innovation that generates new revenue streams while creating great customer experiences. The operations team focuses on maximizing productivity while saving money. FinOps eases the tension between these groups by increasing developer productivity while reducing cloud spending — aligning technical efficiency with financial prudence.

FinOps helps DevSecOps teams think in precise numbers, not subjective costs. It’s imperative to approach software development with a clear understanding of its financial impact on the organization to make informed decisions on project continuance based on two key criteria: will the project increase revenue or reduce costs?

At its core, FinOps isn’t just about cutting costs; it’s also about optimizing the entire software development lifecycle. The goal is to help engineers and operations consider financial effectiveness alongside technical innovation so they understand how their work maps to boosting the organization’s bottom line.

Read more about FinOps on the FinOps Foundation website.

Transform your software development

Read the 2024 commissioned Forrester Consulting Total Economic Impact™ study for a complete picture of how GitLab Ultimate minimized costs, maximized performance, and supported organizations’ growth objectives.

Download the full study now

Key takeaways
  • FinOps fosters collaboration between finance, engineering, and business teams, aligning cloud investments with strategic business goals for maximum value.
  • By enhancing financial transparency, FinOps empowers organizations to make swift, data-driven decisions that optimize cloud spending.
  • Implementing FinOps creates a balance between innovation and cost control, easing tension between product development and operations teams.