Azure Monitor autoscaling

Azure Monitor offers a set of functionalities for autoscaling. There are features for VM scale sets, Azure Cloud Services, and Azure App Services. You can scale the resources based on a runtime metric, such as CPU or memory usage, or on a schedule. 

The following points need to be considered when using autoscale:

  • If you use the SDK for autoscaling instead of the Azure portal, you can create your own metrics and use these in your autoscaling rules or specify a more detailed schedule.
  • If you can't predict the load on the application accurately enough, it is better to use reactive autoscaling based on runtime metrics, followed by scheduled autoscaling. You can also combine these two approaches.
  • Autoscaling rules based on a measured trigger attribute (such as CPU usage or queue length) use an aggregated value over time. This prevents the system from reacting too quickly, and allows time for new instances that are automatically started to settle into running mode.
  • When you use autoscale in an App Service environment, any worker pool or frontend metrics can be used to define the autoscale rules.
  • When you set up autoscaling for Azure Service Fabric, you need to set up autoscale rules for each node type. The node types in an Azure Service Fabric cluster consist of virtual machine scale sets at the backend. The number of nodes that must be present must be taken in to account before you set up autoscaling. The minimum number of nodes is driven by the reliability level that is chosen.
  • Multiple rules and policies may conflict with one another. The following conflict resolution is used by autoscale:
    • Scale-out operations are executed over scale-in operations.
    • When scale-out operations conflict, the rule that initiates the largest increase in the number of instances is executed first.
    • When scale-in operations conflict, the rule that initiates the smallest decrease in the number of instances is executed first.

Autoscaling can be configured in the Azure portal, PowerShell, CLI, and ARM templates, and by using the autoscaling SDK. If you want more detailed control over autoscaling, you can use the Azure resource manager, REST API. For custom applications, you can use the Azure Monitoring Service Management Library, and the Microsoft Insights Library. 

In this section, we have covered Azure Monitor autoscaling. In the next section, we are going to look at the different design considerations for applications.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.222.94.153