A Practical Guide to FinOps for DevOps Engineers
FinOps for DevOps engineers: read FOCUS billing data, tag and allocate cloud costs, set budgets and anomaly alerts, and add cost checks to CI/CD.
Every pull request that changes infrastructure is also a spending decision. A bigger instance type, a NAT gateway in a test VPC, a log level left at debug: each one shows up on a bill weeks later, usually on someone else's desk. FinOps is the practice that closes that gap. The FinOps Foundation describes it as an operational framework and cultural practice that maximizes the business value of technology, through timely, data-driven decisions and collaboration between engineering, finance and business teams.
For a DevOps engineer, that turns into concrete work: tags and accounts that say who owns each resource, budgets and anomaly alerts that reach the right team, cost checks in pull requests, and the habit of treating cost like latency or error rate, as one more number you watch and improve. This guide teaches that work with real tools and real data.
How Cloud Costs Reach a Decision
Cost data moves in a loop. An engineering change creates usage, the provider meters it and bills it, the billing data is grouped by owner, and someone with the right context decides what to do. FinOps calls the three stages of the loop Inform, Optimize and Operate.
DevOps teams sit in the middle of this loop. You write the Terraform that creates the resources, run the pipelines that change them and own the dashboards that show their behavior. Adding cost to those tools is cheaper than asking a separate team to reverse-engineer a bill.
What You'll Build
The guide follows one example: checkout, a service owned by the payments team, running on AWS in us-east-1 with dev, staging and prod environments. Across the parts you:
- read anonymized real billing data in the FOCUS format with DuckDB, and find the tag problems in it;
- find idle resources with Cloud Custodian and over-requested Kubernetes workloads with OpenCost;
- write Terraform with a tag schema that fails a plan when an owner is missing, environment sizes, an office-hours schedule for
dev, a budget per environment and an anomaly alert per service; - check every Terraform plan against a cost policy in CI, and estimate pull request costs with Infracost;
- build a showback report and the metrics and habits that keep costs owned.
All of the code is in the companion repository. Its workflow ran every command whose output the guide shows, on a GitHub-hosted runner, so that output is real, and none of those runs needed a cloud account: Terraform plans with mock credentials, and Cloud Custodian runs against a local AWS emulator. Commands that only make sense against a real account, such as the AWS CLI checks, were run without credentials to confirm that they parse, and the CI workflows that need an AWS role or an Infracost account are included but switched off.
Prerequisites
- Basic experience with one cloud provider (the examples use AWS; Parts 3 and 4 show the Azure and Google Cloud equivalents).
- Terraform basics: variables,
planandapply. The Introduction to Terraform guide covers them. - A pull request workflow in GitHub Actions or a similar CI system.
- A Linux or macOS shell, or WSL on Windows, to run the examples.
You do not need a finance background. The guide explains the billing terms as they come up.
The Learning Path
- FinOps Principles and the Operating Model: the principles, phases and roles, the cost columns on a bill, and a first look at FOCUS billing data.
- Common Cloud Cost Challenges: oversized and idle resources, missing and inconsistent tags, always-on environments, data transfer, logs, Kubernetes and AI spend.
- Essential FinOps Tools: native tools on each cloud, FOCUS exports with DuckDB, Infracost, OpenCost, Cloud Custodian and commercial platforms.
- Tags, Budgets and Alerts as Code: the
checkoutTerraform, from tag validation to budgets and anomaly alerts. - FinOps in CI/CD Pipelines: cost estimates and policy checks on pull requests, approvals for big changes, and cleanup of preview environments.
- A Cost-Conscious Engineering Culture: showback, shared costs, unit costs and the reviews that make teams own their spend.
- Metrics and Next Steps: what to measure, AI and sustainability costs, and a 90-day plan.
Prices in the guide are AWS on-demand list prices for US East (N. Virginia), taken from the AWS Price List files published in October 2026. Your prices depend on the Region, your discounts and the date, so check them before you rely on a number.
We earn commissions when you shop through the links below.
Bitrise
Managed runners for GitHub Actions
Bitrise Build Hub runs your GitHub Actions jobs on M4 Macs and AMD Linux machines. Change runs-on and keep your workflows, secrets and logs on GitHub.
Atomsized
AWS platform engineering and GitOps
Design and automation for reliable AWS and Kubernetes platforms, safer delivery workflows, and preview and UAT environments your engineers can understand and own.
DigitalOcean
Cloud infrastructure for developers
Simple, reliable cloud computing designed for developers
DevDojo
Developer community & tools
Join a community of developers sharing knowledge and tools
SMTPfast
Developer-first email API
Send transactional and marketing email through a clean REST API. Detailed logs, webhooks, and embeddable signup forms in one dashboard.
QuizAPI
Developer-first quiz platform
Build, generate, and embed quizzes with a powerful REST API. AI-powered question generation and live multiplayer.
Want to support DevOps Daily and reach thousands of developers?
Become a SponsorTags
Found an issue?