Skip to content

Cost Management and Attribution

This guide provides a cost model and operating practices for AVD deployments where control-plane resources run in Azure and session hosts run on Azure Local.

1) Cost domains

Azure control-plane costs

  • AVD service-related Azure resources (Log Analytics, Key Vault, optional Storage).
  • Monitoring and data ingestion.
  • Optional app package storage and backup services.

Azure Local session-host costs

  • Compute and storage consumption on-premises.
  • Licensing and operations overhead.
  • Network and backup infrastructure costs.

2) Tagging strategy for attribution

Apply consistent tags to every Azure resource: - service = avd - environment = dev|test|prod - owner = team-name - cost-center = finance-code - workload = control-plane|monitoring|identity|storage

Use the same logical labels in on-prem cost reporting for reconciliation.

3) Log Analytics retention planning

Retention guidance: - Start with 30 days for operational workspaces. - Increase only for compliance requirements. - Route high-volume diagnostics selectively to reduce ingestion overhead.

Key principle: ingest only categories that map to actionable alerts or reporting.

4) Cost analysis views

Recommended Azure Cost Management views: - Cost by resource group (control-plane vs monitoring). - Cost by tag (workload, environment, cost-center). - Daily cost trend with anomaly detection.

5) KQL samples for cost signals

Ingestion by table:

Usage
| where TimeGenerated > ago(30d)
| summarize GB=sum(Quantity) / 1000 by DataType
| order by GB desc

Daily ingestion trend:

Usage
| where TimeGenerated > ago(30d)
| summarize GB=sum(Quantity) / 1000 by bin(TimeGenerated, 1d)
| order by TimeGenerated asc

Per-host heartbeat proxy for active footprint:

Heartbeat
| where TimeGenerated > ago(7d)
| summarize ActiveDays=dcount(bin(TimeGenerated, 1d)) by Computer
| order by ActiveDays desc

6) Optimization playbook

  • Tune diagnostic categories and reduce noisy tables.
  • Use depth-first pools where user-experience impact is acceptable.
  • Right-size session hosts using measured concurrency, not peak speculation.
  • Review unattached storage and stale analytics retention monthly.

7) Monthly governance checklist

  • Validate tag completeness and fix missing tags.
  • Compare budget vs actual by environment.
  • Review top 10 cost-driving resources.
  • Validate autoscale policy effectiveness.
  • Capture optimization actions with owners and due dates.

References

  • Azure Cost Management: https://learn.microsoft.com/azure/cost-management-billing/
  • Azure Monitor cost planning: https://learn.microsoft.com/azure/azure-monitor/logs/cost-logs