SaveMyCert
Log in
5 of 5 free questions left today·for 10 a day
Scaling with Google Cloud Operations

Controlling Cloud Costs: CapEx vs OpEx, FinOps, Resource Hierarchy, Quotas and Budgets (Cloud Digital Leader)

14 min readCDL · Scaling with Google Cloud OperationsUpdated

Cloud cost control is the combination of governance, visibility and limits that keeps an organization's cloud spending aligned with the value it gets. This lesson covers task 6.1 of the Google Cloud Digital Leader exam guide: how moving to the cloud shifts CapEx to OpEx and changes total cost of ownership (TCO), Google's FinOps practices for financial governance, the role of people, process and technology, the resource hierarchy and how its policies are inherited, and the tools that control consumption: quotas, budget thresholds, Cloud Billing reports, Dynamic Workload Scheduler and Spot VMs.

What you’ll learn
  • Explain how moving to the cloud shifts IT spending from CapEx to OpEx and why the bill becomes variable
  • Build a fair TCO comparison that counts facilities, power, staff and refresh on premises and sizes the cloud to real usage
  • Describe Google's FinOps model: a cross-functional team, cost visibility and accountability for the teams that spend
  • Recognise the people, process and technology parts of cost control and what fails when one is missing
  • Order the resource hierarchy (organization, folders, projects, resources) and explain how IAM and organization policies inherit
  • Choose between Cloud Billing reports, billing export to BigQuery, labels, Recommender, quotas and budgets for a cost need
  • Match Spot VMs and Dynamic Workload Scheduler Flex-start to the workloads they suit and the trade-off each makes

How moving to the cloud shifts CapEx to OpEx

Moving from on-premises infrastructure to the cloud turns most IT spending from capital expenditure (CapEx) into operational expenditure (OpEx). CapEx is money spent up front on long-lived assets: buying servers and storage arrays, building a server room, then depreciating those assets over their useful life. OpEx is ongoing spending on services as they are used, such as a monthly bill for the virtual machines and storage actually consumed.

On premises, a company has to guess its demand years ahead and buy for the peak, so capacity bought for future growth sits idle until that growth arrives. In the cloud it pays for what it uses, scales up when demand rises and scales down (and stops paying) when demand falls.

On-premises (CapEx-heavy)Cloud (OpEx)
When you payUp front, before you use the capacityAs you go, for the capacity you use
Typical itemsServer and storage purchases, building or expanding a data center, multi-year hardware refresh contractsPer-second or monthly charges for VMs, storage, data transfer and managed services
SizingBuy for forecast peak demandMatch capacity to real demand, often automatically
Finance's jobApprove large purchases once a year and depreciate themTrack and forecast a bill that changes every month

The shift has a consequence that is easy to miss: the bill becomes variable. Anyone with permission can create resources in minutes, so spend can grow quickly between reviews. Purchase approvals and depreciation schedules belong to the old model; in the cloud, finance needs continuous visibility, forecasting and governance instead. The rest of this lesson is about how Google Cloud supports that.

Total cost of ownership (TCO): comparing like with like

Total cost of ownership (TCO) is the full cost of running a workload over its life, not just the price of the hardware or the cloud resources. A fair comparison between on-premises and cloud has to count every cost on both sides.

On-premises TCO includes much more than the server quote:

  • The building or colocation space, electricity and cooling
  • Network equipment, physical security and insurance
  • Staff time to install, maintain, patch and repair hardware
  • Hardware refresh every few years, plus software licences and support contracts
  • The cost of idle capacity bought for a peak that rarely arrives

Cloud TCO is the cost of the services used (compute, storage, data transfer out to the internet, managed services), plus the people who run and govern them. Because cloud cost follows consumption, an estimate that prices every VM at peak size, running around the clock, overstates the real cost: elastic, right-sized resources would not pay for that idle capacity. Discounts change the unit price; they do not change how much capacity the estimate assumes, so sizing comes first.

The principle is to compare like with like: the full lifetime cost of owning and running the hardware against the cost of the cloud capacity the workload really needs. A comparison that leaves out indirect costs on one side, or assumes the cloud cannot scale, tells the business little. TCO also has a value side that is harder to price: staff time freed from maintaining hardware can go to work that grows the business.

Cloud financial governance: who manages cloud costs

Google recommends that cloud costs are managed by a cross-functional team that brings together finance, technology and business staff. This practice is called FinOps (cloud financial management). In the cloud, spending decisions are spread across every engineer who creates a resource, so no single department can control costs alone: finance sees the invoice but not the usage, and engineers control usage but often do not see the bill.

The core FinOps ideas Google describes are:

  • Visibility: every team can see what its own projects and services cost, close to real time.
  • Accountability: the teams that create resources own their spend, rather than one central team paying for everyone.
  • Central guardrails, local decisions: a central function sets policies, budgets and quotas, while teams keep the freedom to move fast inside them.
  • Value, not just savings: the goal is to get the most business value per dollar, which sometimes means spending more on what earns more.
Member of the FinOps teamWhat they bring
FinanceBudgets, forecasts and the link between spend and the company's financial plans
Technology (engineering and operations)Knowledge of how resources are built and used, and the ability to change them
Business (product and executive owners)The value each workload delivers, which decides where spending more is worthwhile

Each group sees only part of the picture on its own; cost control works when they share the same data and agree targets together.

Google Cloud's own cost management tools support this model: Cloud Billing reports and cost tables for visibility, budgets and alerts for guardrails, labels and billing export for allocation, Recommender for optimisation, and the FinOps hub in the Billing console, which brings savings opportunities and commitment use together in one view.

People, process and technology

Controlling cloud costs takes people, process and technology working together; tools alone do not reduce a bill.

  • People are the roles and owners: a FinOps lead, named budget owners in each team, executives who sponsor the effort.
  • Process is the agreed way of working: a monthly review where teams compare spend with forecast, a rule that every resource gets a cost-centre label, an agreed response when a budget alert fires.
  • Technology is the tooling: budgets and alerts, billing reports, billing export to BigQuery, quotas, Recommender.

The three parts depend on each other. Technology produces information, but information changes nothing unless a person is responsible for acting on it and a process says when and how they act. Equally, a well-run review meeting is of little use if the tooling cannot show which team's resources caused a change. When cost control is not working, ask which of the three is weak before adding more of the one that is already strong.

Cost visibility tools: billing reports, export, labels and recommendations

Google Cloud gives several tools for seeing and allocating cost, each answering a different question.

NeedToolWhat it does
See how spend has changed over time, by project, service, SKU or labelCloud Billing reportsInteractive charts of cost trends and forecasts in the Billing console
Analyse cost data with your own data, automaticallyCloud Billing export to BigQueryKeeps detailed cost records flowing into a BigQuery dataset you can query, join with business data and chart in tools such as Looker Studio
Split one project's costs between teams or cost centresLabelsKey-value pairs on resources (for example team: payments); reports and exports can group cost by label
Find specific resources that waste moneyRecommender (cost recommendations)Studies actual usage and suggests removing idle VMs and disks or resizing VMs to a better machine type (rightsizing)
Know when spend approaches a targetBudgets and alertsCompare actual or forecasted spend with a target and notify at thresholds

Some distinctions matter. Billing reports are for viewing; when cost data has to be combined with the company's own tables (for example the cloud cost of every order), billing export to BigQuery is the tool, and a manual CSV download is not automatic. Billing accounts, folders and projects cannot divide a project's costs; labels can, and reports, exports and even budgets can filter on a label once it is applied to the resources. And budgets, quotas and Spot VMs control spend in broad strokes; only Recommender points to the individual resources to change.

Cloud Monitoring dashboards and Cloud Audit Logs are not cost tools: they report performance and activity. They belong to operations and security (task 6.2 and section 5).

The Google Cloud resource hierarchy

The resource hierarchy is the tree Google Cloud uses to organise everything a company owns, from the top down: organization node → folders → projects → resources.

LevelWhat it is
Organization nodeThe root, representing the whole company; tied to its Google Workspace or Cloud Identity account. Central admins set company-wide policies here.
FoldersOptional groupings, for example by department, business unit or environment. A folder can hold projects and other folders.
ProjectsThe base unit for creating and using resources. Each project has its own settings, permissions and APIs, and is linked to a Cloud Billing account that pays for it.
ResourcesThe things you actually use: VMs, Cloud Storage buckets, BigQuery datasets and so on.

Every folder, project and resource has exactly one parent (the organization node is the root), and projects (not folders) are where billing attaches. A billing account can pay for many projects, which is why billing reports can break spend down by project.

The hierarchy brings four benefits the exam guide names:

  • Access control: grant a role once at the right level instead of project by project.
  • Inheritance and propagation: IAM and organization policies set higher up flow down to everything below, including projects created later.
  • Security and compliance: guardrails at the organization or folder level apply consistently, so a new project cannot escape them.
  • Visibility and auditing: costs, assets and audit logs can be viewed per project, folder or the whole organization.

How inheritance works for IAM and organization policies

Policies set on a node in the hierarchy are inherited by everything beneath it, and inheritance only flows downward.

IAM allow policies say who can do what. A role granted on a folder applies to the folder and to every existing and future project and resource inside it, but not to other folders. A resource's effective access is the union of what is granted on it and on all its ancestors: inherited grants add up, and a grant at a lower level cannot cancel one made higher up. So if someone holds a role on both a folder and a project inside it, removing only the project grant leaves the inherited folder grant in place; the fix is to remove the grant where it was made. (Google Cloud also has separate IAM deny policies for blocking permissions explicitly; removing or narrowing the original grant is the simpler fix.)

Organization policies say what can be done with resources, whoever is acting. Examples: restrict the regions where resources can be created (resource locations), forbid external IP addresses on VMs, or block public access to storage. Set at the organization node, a policy covers every folder and project below it, including future ones, without per-project setup.

IAM allow policyOrganization policy
ControlsWho can act on a resourceWhat configurations are allowed, for everyone
ExampleGive the security team Viewer on the finance folderAllow resources only in EU locations
Kind of controlAccessPreventive compliance guardrail

The general rule: a guardrail that must hold for the whole company is set once, as high in the hierarchy as it applies, so inheritance carries it to everything below, including resources that do not exist yet.

Controlling consumption: quotas and budget thresholds

Quotas cap how much of a resource can be used; budgets warn about how much is being spent. The two are often confused, and they do different jobs.

Quotas (managed in Cloud Quotas) limit how much of a resource a project may use, such as the number of GPUs or CPUs in a region, or how many API requests it may make per minute. Google sets default quotas, and an administrator can request an increase or set a lower limit. Lowering a sandbox project's GPU quota stops more GPUs from being created beyond that number, which makes quotas a real ceiling on runaway consumption.

Cloud Billing budgets track spend against a target amount for a billing account, project or service, with threshold rules (for example 50%, 90% and 100%). When a threshold is crossed, budget alerts email the Billing Account Administrators and Billing Account Users by default (and Project Owners for a budget scoped to one project); other recipients can be added through Cloud Monitoring notification channels. Each threshold is based on either:

  • Actual spend: fires once the money has been spent.
  • Forecasted spend: fires when Google's projection for the end of the period will cross the threshold, giving an early warning.

A standard, alerts-only budget (threshold rules) does not stop spending: resources keep running and spend can pass the budget. Teams that want an automatic response connect budget notifications to Pub/Sub and trigger their own automation. Cloud Billing also offers spend cap budgets, set on a project for a few supported services such as Cloud Run and the Gemini API: when the cap is enforced, new usage of that service pauses until someone lifts it by hand. They do not cover services such as Compute Engine, so for VMs the alerts-only behaviour applies.

QuotaBudget threshold
MeasuresResource units (GPUs, CPUs, requests)Money
EffectBlocks use beyond the limitSends notifications; does not block (except spend cap budgets on their few services)
Best forA hard cap on how much can runAwareness and early warning of overspend

The two controls answer different questions: a quota answers "how much may run?", a budget answers "how much are we spending, and where is it heading?". A requirement that combines a hard ceiling with early warning needs both.

Paying less for compute: Spot VMs and Dynamic Workload Scheduler

Spot VMs and Dynamic Workload Scheduler lower compute costs by trading flexibility for price or for capacity on demand.

Spot VMs are Compute Engine VMs that run on spare capacity at a deep discount. The trade-off is preemption: Compute Engine can reclaim them at any time when it needs the capacity back. They need no term commitment and no up-front payment, and unlike the older preemptible VMs they have no 24-hour maximum runtime. They suit fault-tolerant, interruptible work such as batch jobs, test runs and rendering, never a workload that must not stop.

Dynamic Workload Scheduler helps teams get scarce accelerators (GPUs and TPUs) for AI and batch work. Its Flex-start mode is for jobs that can wait: the request queues until the full set of accelerators is available, provisions them together, and bills only for the time they run, so the team does not pay to hold idle capacity while it waits. Calendar mode instead reserves accelerators for a fixed future period.

OptionYou getYou give up
Spot VMsLowest price on spare capacityVMs can be reclaimed mid-job
Dynamic Workload Scheduler Flex-startMany accelerators together, paid only while runningA start time that depends on when capacity frees up
ReservationsGuaranteed capacity when you need itYou pay for the reserved capacity whether you use it or not
Committed use discountsA lower price for steady, predictable useA one- or three-year commitment

Matching the option to the job is the skill: ask whether the work can be interrupted, whether its start time is flexible, and whether its usage is steady enough to commit to.

Tip. Expect short business scenarios: a finance team asking which costs are OpEx, a CFO comparing an on-premises quote with a cloud estimate, spend rising because nobody owns it, or a need such as "split one project's costs", "cap GPUs in a sandbox" or "keep all data in the EU". The options are usually real Google Cloud tools that sound alike, so the question turns on what each one actually does: view versus analyse versus allocate versus optimise, notify versus limit, actual versus forecasted, folder versus organization, and the price-versus-interruption trade-off of Spot VMs. Some items ask which part of people, process and technology an example belongs to, or what is missing when tools exist but costs still grow.

Key takeaways
  • Cloud turns up-front CapEx into variable OpEx; finance moves from approving purchases to tracking and forecasting spend continuously.
  • A fair TCO counts facilities, power, cooling, staff and hardware refresh on premises, and sizes cloud resources to real usage rather than peak.
  • Google recommends a cross-functional FinOps team (finance, technology, business) and making every team see and own its spend.
  • Tools alone do not control cost: alerts need named owners (people) and an agreed follow-up routine (process).
  • Billing reports show trends; billing export to BigQuery is for automated, custom analysis; labels split costs inside one project; Recommender finds idle and oversized VMs.
  • The hierarchy runs organization → folders → projects → resources; billing attaches at the project.
  • Policies inherit downward to existing and future children; inherited IAM grants add up, so a lower-level change cannot cancel a grant made higher up.
  • Quotas cap resource use; alerts-only budgets notify (actual or forecasted thresholds) and never stop spending; spend cap budgets can pause only a few services such as Cloud Run and the Gemini API.
  • Spot VMs are cheap but can be reclaimed at any time; Dynamic Workload Scheduler Flex-start provisions accelerators together and bills only while they run.

Frequently asked questions

Why does moving to the cloud change CapEx to OpEx?

On premises, a company buys servers, storage and buildings up front and depreciates them, which is capital expenditure. In the cloud it pays monthly for the resources it actually uses, which is operational expenditure. The trade-off is that the bill varies with usage, so it needs continuous tracking and forecasting.

What should an on-premises TCO include besides server prices?

A full on-premises total cost of ownership includes the data center building or colocation space, electricity and cooling, network and security equipment, staff time to maintain and patch hardware, hardware refresh every few years, software licences, and the cost of capacity bought for peak demand that sits idle.

Who does Google recommend should manage cloud costs?

Google recommends a cross-functional FinOps team that brings finance, technology and business staff together. Costs are made visible to the teams that create resources, and those teams are accountable for their own spend, while a central function sets guardrails such as budgets, quotas and policies.

Does a Google Cloud budget stop resources when spending reaches the limit?

Not usually. A standard, alerts-only Cloud Billing budget sends notifications when actual or forecasted spend crosses its thresholds, but resources keep running and spend can go past it. Spend cap budgets can pause new usage, but only on a project for a few supported services such as Cloud Run and the Gemini API, not Compute Engine. To cap resource use generally, set a quota; to act automatically on an alert, connect budget notifications to Pub/Sub and run your own automation.

What is the difference between an actual and a forecasted budget threshold?

An actual-spend threshold fires after the money has been spent. A forecasted-spend threshold fires when Google Cloud projects that spend for the period will cross the threshold, so it gives an earlier warning while there is still time to act.

How do I split the costs of one Google Cloud project between several teams?

Add labels to the resources, such as a team or cost-centre key, then group Cloud Billing reports or the billing export in BigQuery by that label. Billing accounts, folders and projects cannot divide the costs inside a single project; labels can, and reports, exports and budgets can filter on a label once it exists.

If I remove someone's role on a project, why can they still access it?

They probably hold the same or a broader role on a parent folder or the organization. Projects inherit IAM grants from their ancestors, and inherited grants add to the project's own, so removing the project grant does not cancel the inherited one. Remove the grant on the level where it was made.

When should a team use Spot VMs or Dynamic Workload Scheduler?

Use Spot VMs for interruptible, fault-tolerant work such as batch and test jobs, accepting that Google Cloud can reclaim them at any time in return for a deep discount. Use Dynamic Workload Scheduler Flex-start when a job needs many GPUs or TPUs together, can wait for them, and should not pay for reserved capacity while waiting.

Source

This lesson covers the "Scaling with Google Cloud Operations" domain of the official CDL exam guide. Vendors revise their guides — check the source for the current version.

Test yourself on this topic
Practice now

Sign up free to mark lessons complete, bookmark topics and track your exam readiness.

Spotted a mistake in this lesson?