0
0
Azurecloud~5 mins

Cost optimization pillar in Azure - Commands & Configuration

Choose your learning style9 modes available
Introduction
Managing cloud costs is important to avoid paying more than needed. The cost optimization pillar helps you use Azure resources efficiently and save money while keeping your apps running well.
When you want to reduce your monthly Azure bill without affecting app performance
When you need to find unused or underused resources to delete or resize
When you want to set budgets and alerts to avoid unexpected charges
When you want to choose the right Azure service plans that fit your workload
When you want to automate turning off resources during non-working hours
Commands
This command creates a monthly budget of $100 for the resource group 'example-group' to help track and control spending.
Terminal
az costmanagement budget create --name MyBudget --resource-group example-group --amount 100 --time-grain Monthly --start-date 2024-06-01 --end-date 2025-06-01
Expected OutputExpected
{ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example-group/providers/Microsoft.Consumption/budgets/MyBudget", "name": "MyBudget", "properties": { "amount": 100.0, "timeGrain": "Monthly", "timePeriod": { "startDate": "2024-06-01T00:00:00Z", "endDate": "2025-06-01T00:00:00Z" }, "category": "Cost" }, "type": "Microsoft.Consumption/budgets" }
--amount - Sets the budget limit in dollars
--time-grain - Defines the budget period (Monthly here)
This command shows the total cost used so far this month to help monitor spending against the budget.
Terminal
az costmanagement query --type Usage --timeframe MonthToDate --dataset-aggregation totalCost=sum --dataset-granularity None
Expected OutputExpected
{ "properties": { "rows": [ [75.23] ] } }
--timeframe - Specifies the time range for cost data
This command lists all running virtual machines with their names and sizes to identify costly resources that might be resized or stopped.
Terminal
az vm list --query "[?powerState=='VM running'].{Name:name, Size:hardwareProfile.vmSize}" -o table
Expected OutputExpected
Name Size -------------- --------- my-vm-01 Standard_B2s my-vm-02 Standard_D2s_v3
--query - Filters and formats the output to show only running VMs with specific details
-o table - Displays output in a readable table format
This command stops and deallocates the VM 'my-vm-01' to save costs when the VM is not needed.
Terminal
az vm deallocate --resource-group example-group --name my-vm-01
Expected OutputExpected
No output (command runs silently)
--resource-group - Specifies the resource group of the VM
--name - Specifies the VM name to stop
Key Concept

If you remember nothing else from this pattern, remember: tracking and controlling your cloud spending regularly helps avoid surprises and saves money.

Common Mistakes
Not setting budgets or alerts in Azure Cost Management
Without budgets, you may not notice overspending until the bill arrives
Always create budgets with alerts to monitor and control costs proactively
Leaving unused or idle virtual machines running
Running VMs incur charges even if not used, wasting money
Regularly check VM usage and deallocate or delete VMs when not needed
Choosing VM sizes or services larger than needed
Oversized resources cost more without improving performance if workload is small
Select resource sizes based on actual workload requirements and scale as needed
Summary
Create budgets in Azure to set spending limits and receive alerts.
Use cost queries to monitor current spending against budgets.
List running resources like VMs to find cost-saving opportunities.
Stop or resize resources that are idle or oversized to reduce costs.