上QQ阅读APP看书,第一时间看更新
Autoscaling
Scaling resources is a significant part of making an application highly available and having good performance. There are two types of scaling:
- Vertical Scaling (scale up and scale out): We can increase or decrease the size of the instance by choosing different pricing tiers. We can do it manually:
- Horizontal Scaling (scale in and scale Out): We can increase or decrease the number of instances that are used to host web applications.
Horizontal scaling is the most commonly used as we can schedule it also. It is important to understand what will impact on the performance and availability of an application and accordingly we can decide the scaling part:
- Gather the data the load application faces in the existing condition; find the peak load data and date
- Note the existing capacity of Azure Web Apps and database that are used for the web application
- Make sure the architecture of the application supports stateless
- Use any load testing tool and find out how many concurrent requests it can manage before crashing
- Increase the database capacity to manage concurrent requests
- Schedule autoscaling for Azure App Service instances based on different conditions
- Understand the usability of an application from the number of regions
There are three types of scaling out supported in Azure Web Apps:
- Scale instances manually
- Scale instances by the CPU percentage
- Scale instances by schedule and the performance rule