By FinOps Beacon · Published
Azure cost optimization: a practical checklist for small teams
Start with one subscription and a decision you can validate. This checklist takes you from understanding the bill to reviewing a change with its owner, then checking whether the cost actually fell.
You can complete the review using Azure's native tools. Microsoft frames cost optimization as an ongoing balance between workload value, cost, and operational requirements. A cheaper resource that breaks your service is a poor trade. See the Azure Well-Architected cost checklist.
1. Establish a comparable baseline
Open Cost Analysis at the subscription you intend to review. Choose a completed period, note the currency and cost view, and compare the same number of days. Separate normal weekday patterns from weekends and release-related spikes.
Cost data arrives after usage and can change before invoicing. Microsoft reports typical availability of 8–24 hours for Enterprise Agreement and Microsoft Customer Agreement subscriptions, and up to 72 hours for pay-as-you-go. Avoid declaring a saving from an incomplete day. See Cost Management data timing.
2. Connect spending to an owner
Start with the largest service or resource-group costs. For each, identify the application, environment, and person who can explain its purpose. Record missing ownership as a review task; a missing tag alone does not mean a resource is unused.
Agree on a small set of useful labels, such as owner, application, and environment. Tags added today do not rewrite historical usage records, and support varies by resource. Microsoft's cost-data tagging guidance explains these limitations.
3. Investigate idle resources before deleting anything
Review unattached disks, forgotten test environments, and stopped virtual machines. Ask the owner whether each item supports recovery, a monthly job, or a planned restart. Confirm backups and retention before proposing removal.
A VM that is stopped but allocated still incurs compute charges. Deallocation stops instance-usage billing, while associated resources can continue costing money. Our stopped Azure VM cost guide explains the distinction; Microsoft's VM billing-state reference is the source.
4. Validate sizing recommendations against real demand
Use Azure Advisor to identify candidates for resizing or shutdown. Its recommendations help focus investigation, but do not replace application knowledge. Review demand during business peaks and batch windows, plus memory, disk, network, and latency requirements before choosing a smaller size. See Microsoft's cost optimization guidance.
Write down the test and rollback conditions. For example: the owner will evaluate one nonproduction instance, check the overnight job completes, and restore the previous size if its agreed performance target fails. This is a proposed review method, not a universal sizing rule.
5. Review commitments after reducing unnecessary usage
Assess the workload that will remain before buying a reservation or savings plan. A compute savings plan commits you to an hourly spend for one or three years; unused hourly commitment does not carry forward. Compare plausible future usage with the commitment, including planned migrations and shutdown schedules. See Microsoft's savings plan overview.
For existing reservations, inspect utilization and amortized cost, which spreads the purchase over its term. A low resource-level actual cost can conceal prepaid consumption. Microsoft documents the actual-versus-amortized reservation views.
6. Give every budget alert a response owner
Choose a realistic monthly budget and recipients who can investigate a breach. Azure budgets can notify on actual or forecast costs; the budget itself does not stop resources or consumption. See the Microsoft budget tutorial.
Define what happens next: inspect the service that changed, check recent deployments, and decide whether to adjust the workload or the forecast. An alert nobody owns does little to improve the next bill.
7. Record the decision and verify the result
Keep an evidence trail for each accepted change. Use this compact worksheet in a ticket or your existing review tool:
- Before
- Resource, owner, completed baseline period, cost, and business requirement.
- Decision
- Proposed action, estimated benefit, approval, and rollback conditions.
- After
- Change date, comparable billing period, service health, and measured outcome.
Separate an estimated opportunity from a realized saving. A total bill can rise while a resource becomes more efficient if customer demand also grows. Keep workload volume and commitment changes alongside the cost comparison.
Bring the review into one workspace
FinOps Beacon combines Azure cost history, resource context, and recommendations with recorded review actions. Scans read your environment; they do not resize, stop, or delete resources. The self-serve setup guide explains access and your first scan.
Try the 14-day Business trial with no card. Paid continuation is Pro at $49/month or Business at $199/month. A paid plan is needed to keep scanning after an unpaid trial expires.