DevOps Peach

FinOps Foundations · FinOps Fundamentals · Lesson 4 of 4

How Cloud Pricing Works

Cloud bills combine usage × rate across compute, storage, data transfer and managed services; rates depend on the purchase option — on-demand, commitments such as Savings Plans and reservations, or spot.

Practice interactively →

Every line of a cloud bill is usage × rate. FinOps works on both sides: use less (usage optimisation) and pay less per unit (rate optimisation).

flowchart LR
  U["Usage: hours, GB-months, requests, GB transferred"] --> C["Cost"]
  R["Rate: on-demand, commitment, spot"] --> C
  C --> BILL["Invoice by account, service, region"]
  D["Discounts and credits"] --> BILL
  %% step U: Usage is measured per second, hour, GB-month, million requests or GB transferred.
  %% step R: The rate depends on the purchase option you used for that usage.
  %% step C: Each usage line multiplied by its rate becomes a cost line in the billing data.
  %% step D: Negotiated discounts, credits and refunds are applied on top.
  %% step BILL: The invoice groups everything by account, service, region and charge type.

Purchase options for compute

Option Commitment Typical discount vs on-demand Fits
On-demand None 0% Spiky, short-lived or unknown workloads
Savings Plans (AWS) / savings plan for compute (Azure) 1 or 3 years of $/hour spend up to ~65–72% Steady baseline usage that may change instance type
Reserved Instances / reservations / committed use discounts 1 or 3 years for a specific resource family up to ~72% Very stable usage of one service, such as databases
Spot / Spot VMs None, can be interrupted up to ~90% Fault-tolerant batch, CI, stateless workers

Discount levels vary by provider, region, term and payment option (no upfront, partial, all upfront); always check the provider's current pricing.

The usual cost drivers

Driver Watch for
Compute (VMs, containers, functions) Oversized instances, idle dev/test, always-on batch fleets
Storage Old snapshots, unattached volumes, everything in the hottest tier
Data transfer Traffic out to the internet, across regions and across AZs; NAT gateway processing
Managed services Databases sized for peak, provisioned throughput nobody uses
Observability Log ingestion and retention that grow silently

Reading a bill

Traps: buying commitments before cleaning up waste (you lock in paying for things you should delete); and forgetting that data transfer between availability zones and through NAT gateways is billed, which surprises many teams.

Practice interactively →