FinOps / Guide 7
The monthly cost review
A 45-minute monthly routine: the numbers to look at, the checklist, and who should be in the room.
Cost optimisation isn't a project. New resources appear every week, workloads change, commitments expire. A short, regular review catches waste while it's small and keeps owners aware of what they spend. This guide is a 45-minute monthly routine that works for one cloud or all three.
Who attends
- The owners of the largest subscriptions, accounts or projects. They decide what's worth paying for.
- An engineer from each platform team, who can say what changed and make fixes.
- Someone from finance, at least quarterly, to compare against budget and forecast.
Before the meeting
Run the reports a day or two before, so the meeting is about decisions, not data gathering:
| Report | Azure | AWS | Google Cloud |
|---|---|---|---|
| Orphaned resources | Find-AzOrphanedResources.ps1 | Find-AwsOrphanedResources.ps1 | Find-GcpOrphanedResources.ps1 |
| Untagged or unlabelled resources | Get-AzUntaggedResources.ps1 | Get-AwsUntaggedResources.ps1 | Get-GcpUnlabeledResources.ps1 |
| VM inventory (sizes, power state) | Get-AzVMInventory.ps1 | Get-AwsEC2Inventory.ps1 | Get-GcpVMInventory.ps1 |
| Rightsizing and idle recommendations | Azure Advisor (Cost) | Compute Optimizer, Cost Optimization Hub | Recommender |
| Commitment utilisation and coverage | Reservations, Savings plans | Cost Explorer: Savings Plans and RI reports | Cloud Billing: CUD analysis |
The agenda
| Minutes | Item | Question to answer |
|---|---|---|
| 5 | Trend | Is this month's spend and forecast in line with budget? If not, which service or team moved? |
| 10 | Top 10 resources and biggest increases | Are the most expensive things still needed, and the right size? |
| 10 | Waste found | Orphaned resources, idle VMs, missing schedules and lifecycle rules: who removes what, by when? |
| 5 | Tagging | What share of cost has an owner? Who fixes the gaps? |
| 10 | Commitments | Utilisation above 95%? Anything expiring in the next 60 days? Is there new steady usage worth covering? |
| 5 | Actions | Record each action with an owner and a date; review them first next month. |
Numbers worth tracking
| Measure | Why it matters |
|---|---|
| Monthly spend versus budget and forecast | The headline finance cares about |
| Spend by owner or cost centre | Shows each team its own cost (showback); the basis for chargeback later |
| Share of spend that is tagged with an owner | You can't optimise what nobody owns. Aim for 95% or more. |
| Commitment coverage and utilisation | Are you paying list price for steady usage, or paying for commitments you don't use? |
| Waste removed this month | A simple, motivating number: the monthly saving from deleted, resized and scheduled resources |
| Cost per unit of business value | For example cost per customer, per transaction or per environment. The most useful number once it can be measured. |
Make the cheap option the default
Every review should end with one improvement that stops waste coming back: a smaller default VM size in the template, Standard SSD for non-production, LRS instead of GRS for test storage accounts, a lifecycle rule in the bucket template, a log retention policy, a budget alert for a new subscription. Over time, the review gets shorter because there's less to find.
Budgets and alerts in between
A monthly review catches trends; budgets catch surprises in between. Set a budget with alerts at 80% and 100% of actual spend, and 100% of forecast, for every subscription, account or project. The cost hygiene guides show how: Azure, AWS and Google Cloud.