Quick reference for pricing models, commitment discounts, budgets, tagging, and cost CLI commands across the big three clouds.
FinOpsRightsizingSavings PlansTagging
FinOps Lifecycle
| Phase | Focus |
| Inform | Visibility, tagging, allocation, benchmarking |
| Optimize | Rightsize, commit, delete waste, tier storage |
| Operate | Budgets, anomalies, forecasting, governance |
Pricing Models
| Model | Discount | Best for |
| On-Demand | baseline | Spiky / unknown |
| Spot | ~90% | Fault-tolerant batch |
| Savings Plan | ~72% | Steady baseline |
| Reserved | ~72% | Known fixed types |
Service Map
| Concept | AWS | Azure | GCP |
| Interruptible | Spot | Spot VMs | Spot VMs |
| Commitment | Savings Plans | Reservations | CUDs |
| Analysis | Cost Explorer | Cost Mgmt | Billing/BigQuery |
| Budgets | AWS Budgets | Cost alerts | Budgets |
Tagging & Queries
# Tag for allocation
aws ec2 create-tags --resources i-0abc \
--tags Key=team,Value=payments Key=env,Value=prod
# MTD cost by service
aws ce get-cost-and-usage \
--time-period Start=2026-06-01,End=2026-07-01 \
--granularity MONTHLY --metrics UnblendedCost \
--group-by Type=DIMENSION,Key=SERVICE
# GCP labels
gcloud compute instances update vm --zone=z \
--update-labels=team=payments,env=prod
Waste Hunting
# Unattached EBS volumes
aws ec2 describe-volumes \
--filters Name=status,Values=available \
--query "Volumes[].{ID:VolumeId,GB:Size}" --output table
# Rightsizing recommendations
aws ce get-rightsizing-recommendation --service AmazonEC2
# Stop dev VM nightly (GCP schedule)
gcloud compute resource-policies create instance-schedule dev-off \
--region=us-central1 --vm-stop-schedule="0 20 * * 1-5"
- Idle instances, unattached disks, orphaned IPs / LBs.
- Non-prod running 24/7 — schedule 12x5 to cut ~65%.
- Old snapshots and cold objects not lifecycle-tiered.
Budgets & Anomalies
# Monthly budget with 80% alert
aws budgets create-budget --account-id ACC \
--budget '{"BudgetName":"prod","BudgetLimit":{"Amount":"20000","Unit":"USD"},"TimeUnit":"MONTHLY","BudgetType":"COST"}' \
--notifications-with-subscribers '[{"Notification":{"NotificationType":"ACTUAL","ComparisonOperator":"GREATER_THAN","Threshold":80},"Subscribers":[{"SubscriptionType":"EMAIL","Address":"finops@acme.com"}]}]'
# Anomaly detection
aws ce create-anomaly-monitor \
--anomaly-monitor '{"MonitorName":"m","MonitorType":"DIMENSIONAL","MonitorDimension":"SERVICE"}'
Rules of Thumb
- Cover 60-80% of steady baseline with commitments; top layer on-demand/spot.
- Start with 1-year no-upfront; grow as confidence grows.
- Track commitment utilisation & coverage as KPIs.
- Measure unit economics (cost per request/customer), not just totals.
- Alert same-day on anomalies, not at month-end.