Cost Management on Azure Cloud
Factors Affecting Costs on Azure
Resource Types
Costs depend on:
- Type of resources (VMs, Storage, etc.)
- Configuration (performance tier, redundancy, region)
- Deployment location
Example:
- Storage accounts in Europe vs Asia can have different costs.
- VMs with more cores and certain OS licenses are more expensive.
Consumption (Pay-as-you-go)
Pay based on usage. More usage means higher cost; less usage means lower cost.
Discount options:
- Usage commitment (1 or 3 years)
- Up to 72% discount for reserved resources
Maintenance
Keep your cloud environment tidy:
- Deprovision unused resources
- Use resource groups for better organization
- Monitor VMs, storage, and network to match demand
Geography
Location impacts cost:
- Electricity, taxes, and labor costs vary
- Storage or VMs in the US may be cheaper than in Japan
- Regional data transfer is more cost-effective
Example: Data transfer from Europe to Asia costs more than transfers within Europe.
Network Traffic (Bandwidth)
- Inbound data transfer to Azure is usually free
- Outbound data transfer is charged per zone
- Zone = a group of Azure regions for billing purposes
Subscription Types
Some subscriptions include:
- Free Trial: 12 months of free products + 30-day initial credit
- Access to 25+ always free products (depends on region and capacity)
Azure Marketplace
Buy third-party solutions like:
- Servers with pre-installed software
- Managed firewalls
- Third-party backup connectors
Costs include:
- Azure services
- Third-party vendor services
All products are certified per Azure standards and policies.
Comparing Pricing and Total Cost of Ownership Calculators
Pricing Calculator
Purpose:
Provide an estimated cost for provisioning Azure resources.
Key Features:
- Estimates for single resources or full solutions
- Supports various example scenarios
- Can estimate compute, storage, networking, and redundancy costs
- Does not deploy real resources
- For information & estimation only
- No charges when adding resources
Usage Example:
Simulate costs when running a VM with premium storage and high redundancy in the Southeast Asia region.
Total Cost of Ownership (TCO) Calculator
Purpose:
Compare costs of running on-premises infrastructure vs. Azure Cloud.
Key Features:
Input your current infrastructure configuration:
- Servers
- Databases
- Storage
- Outbound traffic
Add assumptions like electricity and IT labor costs.
Output:
TCO calculator shows estimated cost difference between:
- Your current on-premises environment and Azure Cloud environment with equivalent infrastructure needs
Pricing Calculator vs TCO Calculator
| Feature | Pricing Calculator | TCO Calculator |
|---|---|---|
| 🎯 Purpose | Estimate provisioning costs in Azure | Compare on-prem vs Azure |
| 🛠️ Required Input | Type & amount of Azure resources | Current infrastructure configuration |
| 💎 Actual Cost | None, simulation only | None, simulation only |
| 🧮 Estimation Focus | Per resource (VM, storage, etc.) | Total long-term cost |
| 📤 Output | Monthly Azure cost estimate | Annual or long-term cost comparison |
Microsoft Cost Management Tool
Microsoft Cost Management is an Azure service to help monitor, control, and optimize cloud spending. It is especially useful when:
- Resources are provisioned rapidly (intentionally or not)
- Costs balloon unnoticed
- You want to budget and avoid surprises on invoices
Cost Analysis
Use Cost Analysis to:
- View total costs by:
- Billing cycle
- Region
- Resource type, etc.
- Analyze spending trends monthly, quarterly, or yearly
- Visualize organizational spending to identify biggest cost sources
Example:
You might see that 70% of costs come from storage in East Asia.
Cost Alerts
One place to see all types of cost alerts.
Alert Types:
1. Budget Alerts
- Triggered when spending reaches a set threshold
- Created via Azure portal or Azure Consumption API
- Can be based on cost or usage
2. Credit Alerts
- For Enterprise Agreement (EA) customers
- Sent automatically when credits reach 90% and 100%
3. Department Spending Quota Alerts
- Warns when department spending approaches or exceeds limits
- Example: 75% quota reached → email alert sent
Budgets
What is a budget? A spending limit set on:
- Subscription
- Resource group
- Service type, and more
Advanced Features:
- Automatic triggers when limits are hit (e.g., shut down resources or send notifications)
- Email alerts for teams or account owners
Example Usage:
Set a monthly budget of Rp10 million. When spending hits Rp9 million, system sends email and dashboard alerts.
Conclusion
| Feature | Function |
|---|---|
| 🔍 Cost Analysis | Cost visualization based on various parameters |
| 📶 Cost Alerts | Notifications when spending reaches a certain threshold |
| 💼 Budgets | Setting spending limits and automatic actions when limits are exceeded |
| 📤 Automation | Can be linked to automatic actions (e.g., disabling a resource) |
Using Tags
What is a Tag?
Tags are additional metadata you can attach to Azure resources. Each tag is a key-value pair.
Tags are not inherited automatically by resource groups or subscriptions, giving you high flexibility in how you assign them.
Why Are Tags Important?
As your cloud usage grows, organized management is key to cost control and efficiency.
Tags make it easier to track, group, and manage resources based on various criteria.
Key Benefits of Tags on Azure Resources
| Purpose | Brief Description |
|---|---|
| 📁 Resource Management | Find resources based on workload, environment, business unit, or owner |
| 💎 Cost Management & Optimization | Group resources for cost reporting, cost center allocation, and cost projection |
| ⚙️ Operations & SLA | Tag resources according to criticality level to define SLAs and service priorities |
| 🔐 Security | Tag data as Public, Confidential, etc. for security classification |
| 📋 Compliance & Governance | Identify resources based on standards such as ISO 27001, audit controls, etc. |
| 🖥️ Workload Automation | Tag resources based on applications/workloads for DevOps & automation needs |
How to Manage Tags?
Tags can be managed via:
- Azure Portal
- Azure CLI
- PowerShell
- ARM Template
- REST API
Use Azure Policy to:
- Enforce tagging on provisioning
- Standardize naming conventions
- Recover missing tags
Example Tag Usage
| 🔑 Name | 🔑 Example Value |
|---|---|
| AppName | PayrollApp |
| CostCenter | CC-1221 |
| Owner | Dewi Prasetyo |
| Environment | Prod, Dev, Test |
| Impact | Mission-critical, Low-impact |
Not all resources need every tag. For example, only critical resources might have an "Impact" tag.
- Tags = Flexible metadata for Azure resources
- Helps with cost management, compliance, automation, & visibility
- Can be used to enforce organizational standards and automate cloud management