Questions on cost optimization using VMSS Auto Scaling

Anil Kumar 480 Reputation points
2024-07-28T05:42:19.82+00:00

Hello,

We all know auto scaling can help us save cost by adding and removing the capacity based on the demand. I just wanted to dig deeper than that with focus on VMSS.

While brainstorming VMSS Auto scaling with the intent of cost optimization without hampering business i.e. performance, I came across following checklist.

  1. Min instance count is too high.
  2. Max instance count is either not set or too high.
  3. Min instance count and Max instance count are set to same value.
  4. Auto scaling is disabled.
  5. Scale in and scale out rules are not set thoughtfully i.e. scaling out by 10 and scaling in by 1.
  6. Wanna proactive with auto scaling, consider leveraging Predictive auto scaling. Is that more costly ? May be as instances are ready in advance based on configuration but provides better performance.
  7. Very familiar with your workload demands, consider auto scaling based on schedule. If demands is more than what you anticipated, they might be performance issues /business impact.
  8. Cool down period for scale actions is set to very short duration.
  9. VMs are charges per minute basis so no advantage of checking if scale out is happening in the middle of hour.
  10. Save further cost by RI and/or Savings Plan for Compute.
  11. Use spot VMs in Flexible VMSS if suitable for your workload.

Can you think of any other way(s) to reduce the cost via auto scaling?

Appreciate your insightful response.

Thank you !

Azure Virtual Machine Scale Sets
Azure Virtual Machine Scale Sets
Azure compute resources that are used to create and manage groups of heterogeneous load-balanced virtual machines.
384 questions
{count} votes

Accepted answer
  1. Prrudram-MSFT 24,366 Reputation points
    2024-08-05T07:19:13.3766667+00:00

    Hi @Anil Kumar

    It seems like you have done some research on VMSS auto scaling and cost optimization. Your checklist covers some important points to consider for cost optimization with auto scaling. Here are a few additional ways to reduce costs with auto scaling:

    Use custom metrics: Azure Monitor allows you to create custom metrics based on your application's performance. You can use these metrics to trigger auto scaling actions based on your specific workload demands.

    Use burstable VMs: Burstable VMs are a cost-effective option for workloads that have variable performance requirements. These VMs provide a baseline level of performance and can burst to higher levels when needed.

    Use Azure Spot VMs: Azure Spot VMs are a cost-effective option for workloads that can tolerate interruptions. These VMs are available at a significantly lower cost than regular VMs, but they can be interrupted by Azure at any time.

    Use scaling rules based on multiple metrics: Instead of relying on a single metric to trigger auto scaling, you can use multiple metrics to make more informed scaling decisions. For example, you can use CPU usage and memory usage to trigger scaling actions.

    Use scaling rules based on predictive analytics: Predictive analytics can help you anticipate future workload demands and trigger auto scaling actions in advance. This can help you avoid performance issues and reduce costs by ensuring that you have the right amount of capacity at the right time.

    I hope these additional tips help you optimize your auto scaling strategy for cost savings. Let me know if you have any other questions or concerns.

    1 person found this answer helpful.

0 additional answers

Sort by: Most helpful

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.