Azure Cost Optimization Best Practice Guide

Cost management is a recurring theme at the enterprise level. It is important that all responsible teams review & understand the cost. You can follow the phase-by-phase best practice approach below to optimize the cost of Azure.

At MAQ Software, we have migrated hundreds of applications to Azure. Based on our experience, we have compiled ten best practices to optimize costs for Azure platforms.

  1. Inventory & Tagging
    • Get list of all Azure resources using automated PowerShell script or using REST (Representational State Transfer) API.
    • Perform Resource tagging such as Owner, Purpose, Environment, etc. for data enrichment.
    • Enforce tagging conventions using Azure policy.

    These steps will help centralized governance teams to make wise cost management decisions.

  2. Cleanup
    • Find unused resources and notify the respective owners.
    • Clean up idle & orphan resources.
    • Audit and restrict access on creation of resources.
  3. Resource Optimization
    • Review correct resource families & Stock Keeping Units (SKUs).
    • Review correct resources/service types.
    • Select proper resource location to avoid unwanted data movements between the datacenters.
    • Identify suitable service plan (consumption basis, pay as you go).
    • Review different storage configuration (Premium Solid-State Drives, Standard Solid-State Drives, Hot Tier, and Cold Tier).
    • Review and plan for data archival.
  4. Automation
    • Schedule Runbooks to pause and start different Azure services such as Azure Analysis Services and VMs.
    • Setup autoscaling based on the CPU/memory usage metrics.
    • Setup Azure policy to restrict the resource SKU/location while creating the resource.
    • Setup cost alerts.
  5. Solution Optimization
    • Review existing architecture.
    • Identify how data flows in and out of Azure.
    • Find resource utilization.
    • Brainstorm to optimize resource instance within teams/environments.
    • Review individual resource costs.
  6. Setup Cost Budget & Alert
    • Set cost budgets for the resources to proactively manage costs, and to monitor how spending progresses over time.
    • Notify owners/users if the cost exceeds the set threshold limit.
  7. Buy Azure Reservation
    • Identify resources which can be purchased using Azure reservation.
    • Pre-payment provides a discount on the resources you use. Costs for VM compute, SQL Database compute, Azure Cosmos DB, or other resources can be significantly reduced by up to 72% on pay as you go prices.
    • Cancel reserved instances.
    • Reserved instances provide a billing discount and do not affect the runtime state of the resources.
  8. Azure Hybrid Benefits
    • Enable Azure Hybrid Benefits (AHB) for on-premises licenses in Azure.
    • Use on-premises Software Assurance-enabled Windows Server and SQL Server licenses on Azure.
  9. Review Azure Advisor Recommendation
    • Review Azure Advisor recommendations to identify opportunities to reduce cost.
    • Act on Azure Advisor recommendations.
    • Example:
      • Identify virtual machines with low utilization from compute or network usage standpoint and either shut down or resize the machine.
      • Resize Azure SQL database SKUs based on current load.
  10. Monitor
    • Visualize data in consolidated or custom dashboards.
    • Detect spending anomalies and usage inefficiencies.
    • Review and act if forecast exceed the defined threshold limit.
    • Perform cost reviews on regular cadence.

Up Next

Azure Security Best Practices

Learn More →