Cost Optimizations Best Practices For Azure Cloud

Azure Databricks
 

Cluster policy for auto termination

Keep it as minimal as possible.

By default, when the cluster is created, auto termination time is 120 minutes. It should be kept as minimum as possible to reduce the cost(ex. 20 minutes).

Use of spot instance

Reference Link: https://databricks.com/blog/2021/05/25/leverage-unused-compute-capacity-for-data-ai-with-azure-spot-instances-and-azure-databricks.html

Worker type

Choose correct driver & work type based on your workload to reduce the cost of the Data bricks cluster.

It is recommended to use General Purpose worker type.

Data bricks job cluster instead of interactive cluster in Data Factory

Advantage of job cluster is that cluster will be auto started and terminated when the data bricks activity will be triggered from the data factory. We can avoid additional cost of configuring job clusters instead of interactive cluster as it will be running idle based on the auto termination configuration.

Data Factory
 

Remove inactive pipelines

Team creates many data factory pipelines during the development. If those pipelines are scheduled then we are paying unnecessary costs for those pipeline execution. Inactive pipelines should be removed when they are not in use.

Disable triggers in lower environments

A pipeline is considered inactive if it has no associated trigger or any runs within the month. If not required then triggers should be disabled.

Azure Virtual Machines

Enable Auto shutdown feature to reduce the cost of VM running after business hours and during the weekend.

Azure PostgreSQL

Performance configurations should be kept as minimal as possible

General Purpose, 4 vCore(s), 100 GB. Changing these configuration can reduce the cost of PostgreSQL drastically.

Azure SQL DB

Azure SQL DB DTU should be as low as possible to reduce the cost based on your workload.

App Services
 

App service with Linux is more cheaper

Cost of App service configured with Linux OS is much cheaper compared to windows OS. When possible try to use App service with Linux OS.

Standard Tier is recommended

Based on your workload, it is also recommended to configure app service with least minimal tier configuration is possible. It is recommended to use standard tier with App Service.

Azure Cosmos DB
 

Cosmos db request units should be as low as possible

Request units for cosmos db should be configured as low as possible. We can reduce a significant amount of cost by keeping the cosmos db request units as low as possible.

Enable Auto Decrease/Increase RU for cosmos DB

In order to optimize the cost of cosmos db request units, it is recommended to determine and increase/decrease cosmos db request units dynamically to increase the cost savings while working with Azure Cosmos db.

Define Budget for each resource & set threshold

In order to proactively monitor the resource costs, it is recommended to determine the threshold for each resource group and configure cost budget alerts to take proactive actions to reduce the cost.