Bridging the gap between FinOps and engineering

PUBLISHED
March 26, 2024
READ TIME
10 min

The No. 1 challenge among FinOps practitioners is empowering engineering and technical teams to take action on opportunities to optimize cloud costs, according to the FinOps Foundation’s 2023 survey.

Many FinOps teams share cost data with technical teams monthly but struggle to engage technical teams to improve automation, track container costs accurately, reduce waste, and eliminate zombie infrastructure.

Cloud cost management is now a critical organizational challenge on-par with security and compliance. Cloud spend decisions made with lagging cloud billing-based data create more manual work and require more time and skilled people.

Current FinOps approaches that throw more human beings at the problem are unfortunately helping to perpetuate the gulf between FinOps and engineering.
Managing cloud cost is a financial topic, and it is logical to have Financial/FinOps teams try to control it. However, financial teams do not initiate cloud spend. Software, engineering, and technical teams rely on cloud infrastructure to get their work done.

Whether justified or not, the costs are a byproduct of that activity and not the sole focus.

Read our whitepaper: Streamlining the ‘Ops’ in Your FinOps Strategy

Lack of Visibility

How cloud infrastructure is created, delivered, and managed by engineering is an integral enabler to successful cloud cost management. FinOps teams have limited to no visibility into engineering tools and processes.

Conversely, engineering teams often lack visibility into infrastructure costs and allocation. Cloud has enabled modern high-velocity software development and delivery practices. These practices leverage infrastructure provisioning and IaC tools that lack the native ability to link infrastructure usage to purpose.

This creates “cloud fog,” where visibility into infrastructure lacks detail indicating who is using cloud resources, when they deployed them, and for what purpose. When the cloud bill shows unexpected charges, it often lacks the context for FinOps or engineering to determine what caused them.

FinOps is attempting to reverse-engineer solutions to address this “fog” by taking billing data from cloud providers and attempting to parse the data and connect it to usage analytics. Because FinOps has no visibility into real-time infrastructure usage, making these connections is a significant challenge.

This limits the FinOps team’s ability to provide actionable recommendations to engineers so they can make informed decisions to help manage costs.

Shared accountability

Who owns cloud costs, FinOps or engineering?

FinOps suggests a shared accountability model and tries to position itself as an enabler, as opposed to an unnecessary burden that interferes with engineering work streams.

Software and engineering teams are goaled and focused on delivering innovative software features rapidly, securely, and with optimized performance. FinOps cares about cost optimization.

Balancing these priorities to create alignment is difficult.

Cloud usage can be fleeting, with many instances created and run for a very short period. Cloud usage often spans multiple cloud providers and multiple cloud accounts concurrently. Cloud provider billing reports, which report spend that has already occurred, are unable to decipher the use or purpose for the spend.

While FinOps tools do a good job in helping manage commitment-based discounting, savings plans, and billing accounts, they often lack the understanding of cloud usage in context.

FinOps tools leverage data that is non-contextual and is therefore limited in supporting decision making.

Cloud cost challenges emerge because software and engineering teams do not have accurate, real-time visibility into cost data to make decisions proactively. FinOps in unable to provide this real-time actionable data.

To effectively manage cloud costs, engineering and technical teams need to know:

  1. What they’re spending
  2. When and who initiated the spend
  3. What purpose that cloud spend supports

In short, they need to be able to tie the cost of their infrastructure to business context. Creating this linkage contextualizes the spend and supports decision making based on priorities and outcomes.

Ideally, engineering can see at a glance the cost of infrastructure—before, during, and after the deployment has occurred.

Addressing the FinOps–Engineering divide

Quali’s Torque platform helps to bridge the gap by providing real-time visibility into cloud resource deployments, context behind those deployments, and automated enforcement of FinOps principles as part of the deployment process.

Engineering teams use Torque to orchestrate cloud environments based on their existing Infrastructure as Code and other configuration resources.

Once defined, development teams can deploy those environments via a single click and/or integrations within their existing toolset. Guardrails built into the deployment process include:

  • Automated tagging based on a pre-set picklist managed by admins
  • A maximum runtime for the environment after which Torque will automatically terminate all cloud resources that were deployed.
  • Adherence to cloud governance by denying deployments of any cloud resources that violate policies established by admins

By deploying the cloud resources, both FinOps and engineering teams can see which users deployed which cloud resources at any given time.

This is how Torque automatically identifies idle cloud resources to calculate potential cost savings. Any cloud environment that goes unused in the platform is identified as “idle,” and the costs are aggregated to determine potential savings. Engineering admins can then set policies to automate deployment for active cloud environments while denying those that go unused—providing uptime while preventing waste.

Engineering can implement FinOps insights via policy based guardrails in Torque. Cost thresholds for approvals, deployment parameters for instance sizes, allowed regions, default duration, and authorized cloud accounts can be seamlessly embedded into the provisioning process. This ensures compliance without impacting software team velocity.

This level of automation allows FinOps teams to integrate cost-optimization principles into day-to-day cloud operations. Developers, meanwhile, can move faster as long as the cloud resources they deploy align with FinOps standards.

Additional Resources