Hello @Senthilnath T M ,
Welcome to Microsoft Q&A Platform. Thank you for reaching out & hope you are doing well.
1) Application gateway v1 CPU Utilization displays the utilization of the CPUs allocated to the Application Gateway. CPU usage should not regularly exceed 90%. You can indirectly control or improve CPU utilization by modifying the configuration of the Application Gateway by increasing the instance count or by moving to a larger SKU size, or doing both and vice-versa.
Refer : https://learn.microsoft.com/en-us/azure/application-gateway/application-gateway-metrics#metrics-supported-by-application-gateway-v1-sku
In your case, if the Metrics show the CPU utilization is less than 15%, then yes, this mean the Application utilization is less.
2) Yes, you can reduce the instance count if your Application utilization is less than 15%.
Points to be considered:
- The Application Gateway v1 SKU supports high-availability scenarios when you've deployed two or more instances. Azure distributes these instances across update and fault domains to ensure that instances don't all fail at the same time. The v1 SKU supports scalability by adding multiple instances of the same gateway to share the load. It is recommended that number of application gateway instances is at least 2 for load balancing and fault tolerance.
https://learn.microsoft.com/en-us/azure/application-gateway/application-gateway-faq#how-does-application-gateway-support-high-availability-and-scalability - We guarantee that each Application Gateway Cloud Service having two or more medium or larger instances, or deployments capable of supporting autoscale or zone redundancy, will be available at least 99.95% of the time.
Refer : https://azure.microsoft.com/en-in/support/legal/sla/application-gateway/v1_2/ - The number of requests a compute unit can handle depends on various criteria like TLS certificate key size, key exchange algorithm, header rewrites, and in case of WAF, incoming request size. So a greater number of WAF incoming request size will lead to a high consumption in CPU.
- Changes to instance size or count in Application Gateway v1 SKU aren't disruptive, and the gateway remains active during this time.
https://learn.microsoft.com/en-us/azure/application-gateway/application-gateway-faq#how-long-does-it-take-to-deploy-an-application-gateway--will-my-application-gateway-work-while-it-s-being-updated - Refer the below article for understanding the Application Gateway v1 SKU Pricing:
https://learn.microsoft.com/en-us/azure/application-gateway/understanding-pricing#v1-skus - You can also look into Application gateway v2 SKU as it offers Autoscaling. v2 SKU can scale out or in based on changing traffic load patterns. Autoscaling also removes the requirement to choose a deployment size or instance count during provisioning & offers true elasticity.
Application gateway v2 SKU pricing is consumption-driven hence there is a fixed price attached to provisioning one. Even if you configure autoscaling with zero instances after provisioning, the service will still be highly available, which is always included in the fixed price.
Refer : https://learn.microsoft.com/en-us/azure/application-gateway/application-gateway-autoscaling-zone-redundant
https://learn.microsoft.com/en-us/azure/application-gateway/understanding-pricing#example-3-a--waf_v2-instance-with-autoscaling-and-0-min-scale-config
In case you are interested to migrate your Application gateway from v1 SKU to v2 SKU, you can refer the below article:
https://learn.microsoft.com/en-us/azure/application-gateway/migrate-v1-v2
Kindly let us know if the above helps or you need further assistance on this issue.
Please "Accept the answer" if the information helped you. This will help us and others in the community as well.