Identifier les facteurs de mise à l’échelle automatique
La mise à l’échelle automatique vous permet de spécifier les conditions dans lesquelles une application web doit être étendue puis réduite. La mise à l’échelle automatique efficace garantit que les ressources suffisantes sont disponibles pour gérer de grands volumes de requêtes aux pics, tout en gérant les coûts lorsque la demande diminue.
Vous pouvez configurer la mise à l’échelle automatique pour détecter quand effectuer un scale-in et un scale-out en fonction d’une combinaison de facteurs, en fonction de l’utilisation des ressources. Vous pouvez également configurer la mise à l’échelle automatique en fonction d’une planification.
Dans cette unité, vous allez apprendre à spécifier les facteurs qui peuvent être utilisés pour mettre à l’échelle automatiquement un service.
Mise à l’échelle automatique et App Service Plan
La mise à l’échelle automatique est une fonctionnalité du plan App Service utilisé par l’application web. Lorsque l'application Web est mise à l'échelle, Azure démarre de nouvelles instances du matériel défini par le plan App Service pour l'application.
Pour empêcher une mise à l'échelle non contrôlée, un plan de service App a une limite d’instance. Les plans dans des niveaux tarifaires plus coûteux ont une limite plus élevée. La mise à l’échelle automatique ne peut pas créer plus d’instances que cette limite.
Note
Tous les niveaux tarifaires du plan App Service ne prennent pas en charge la mise à l’échelle automatique.
Conditions de mise à l’échelle automatique
Vous indiquez comment mettre à l’échelle automatiquement en créant des conditions de mise à l’échelle automatique. Azure propose deux options pour la mise à l’échelle automatique :
- Mise à l’échelle en fonction d’une métrique, telle que la longueur de la file d’attente de disque ou le nombre de requêtes HTTP en attente de traitement.
- Effectuez une mise à l’échelle vers un nombre d’instances spécifique en fonction d’une planification. Par exemple, vous pouvez organiser un scale-out à un moment donné de la journée, ou à une date ou un jour spécifique de la semaine. Vous spécifiez également une date de fin, et le système réduit l'échelle à ce moment-là.
La mise à l’échelle vers un nombre d’instances spécifique vous permet uniquement d’effectuer un scale-out vers un nombre défini d’instances. Si vous devez augmenter la capacité de manière incrémentielle, vous pouvez combiner l'autoscaling basé sur les métriques et la planification au sein de la même condition d'autoscaling. Par conséquent, vous pouvez organiser le scale-out du système si le nombre de requêtes HTTP dépasse un certain seuil, mais seulement entre certaines heures de la journée.
Vous pouvez créer plusieurs conditions de mise à l’échelle automatique pour gérer différentes planifications et métriques. Azure met à l’échelle automatiquement votre service quand l’une de ces conditions s’applique. Un plan App Service a également une condition par défaut utilisée si aucune des autres conditions n’est applicable. Cette condition est toujours active et n’a pas de planification.
Métriques pour les règles de mise à l’échelle automatique
La mise à l’échelle automatique par métrique nécessite que vous définissiez une ou plusieurs règles de mise à l’échelle automatique. Une règle de mise à l’échelle automatique spécifie une métrique à surveiller et la façon dont la mise à l’échelle automatique doit répondre lorsque cette métrique dépasse un seuil défini. Les métriques que vous pouvez surveiller pour une application web sont les suivantes :
- pourcentage de l’unité centrale. Cette métrique indique l’utilisation du processeur dans toutes les instances. Une valeur élevée montre que les instances deviennent liées au processeur, ce qui peut entraîner des retards dans le traitement des demandes clientes.
- pourcentage de mémoire. Cette métrique capture l’occupation de la mémoire de l’application dans toutes les instances. Une valeur élevée indique que la mémoire libre peut être faible et peut entraîner l’échec d’une ou de plusieurs instances.
- Longueur de file d'attente du disque. Cette métrique est une mesure du nombre de requêtes d’E/S en attente sur toutes les instances. Une valeur élevée signifie qu'une contention du disque pourrait se produire.
- longueur de file d’attente HTTP. Cette métrique indique le nombre de demandes clientes en attente de traitement par l’application web. Si ce nombre est volumineux, les requêtes clientes peuvent échouer avec des erreurs HTTP 408 (délai d’attente).
- données dans. Cette métrique est le nombre d’octets reçus dans toutes les instances.
- Data Out. Cette métrique est le nombre d’octets envoyés par toutes les instances.
Vous pouvez également effectuer une mise à l’échelle en fonction des métriques pour d’autres services Azure. Par exemple, si l’application web traite les demandes reçues d’une file d’attente Service Bus, vous pouvez faire tourner davantage d’instances d’une application web si le nombre d’éléments conservés dans une file d’attente Azure Service Bus dépasse une longueur critique.
Comment une règle de mise à l’échelle automatique analyse les métriques
La mise à l’échelle automatique fonctionne en analysant les tendances des valeurs de métriques au fil du temps sur toutes les instances. L’analyse est un processus en plusieurs étapes.
Dans la première étape, une règle de mise à l’échelle automatique agrège les valeurs récupérées pour une métrique pour toutes les instances sur une période appelée grain de temps. Chaque métrique a son propre grain de temps intrinsèque, mais dans la plupart des cas, cette période est de 1 minute. La valeur agrégée est appelée l'agrégation de temps . Les options disponibles sont moyenne, minimum, maximum, Somme, Dernieret Nombre.
Un intervalle d’une minute est un court intervalle dans lequel déterminer si une modification de la métrique est suffisamment durable pour rendre la mise à l’échelle automatique valable. Par conséquent, une règle de mise à l’échelle automatique effectue une deuxième étape qui effectue une agrégation supplémentaire de la valeur calculée par l’agrégation de temps sur une période plus longue, spécifiée par l’utilisateur, appelée Durée. La durée minimale est de 5 minutes. Si l'durée de est définie sur 10 minutes, par exemple, la règle de mise à l’échelle automatique agrège les 10 valeurs calculées pour le de temps.
Le calcul d’agrégation de la durée de peut être différent du grain de temps . Par exemple, si l’agrégation de temps est moyenne et que la statistique collectée est pourcentage d’UC sur une de temps, chaque minute l’utilisation moyenne du pourcentage d’UC sur toutes les instances de cette minute est calculée. Si la statistique de grain de temps est définie sur maximum et que la durée de la règle est définie sur 10 minutes, le maximum des 10 valeurs moyennes pour l’utilisation du pourcentage d’UC consiste à déterminer si le seuil de règle a été franchi.
Actions de mise à l’échelle automatique
Lorsqu’une règle de mise à l’échelle automatique détecte qu’une métrique a dépassé un seuil, elle peut effectuer une action de mise à l’échelle automatique. Une action de mise à l’échelle automatique peut être scale-out ou scale-in. Une action de scale-out augmente le nombre d’instances et une action de scale-in réduit le nombre d’instances. Une action de mise à l’échelle automatique utilise un opérateur (tel que inférieur à, supérieur à, égal à, etc.) pour déterminer comment réagir au seuil. Les actions de scale-out utilisent généralement le supérieur à opérateur pour comparer la valeur de métrique au seuil. Les actions de mise à l’échelle ont tendance à comparer la valeur de métrique au seuil avec l’opérateur inférieur à. Une action de mise à l’échelle automatique peut également définir le nombre d’instances à un niveau spécifique, au lieu d’incrémenter ou de décrémenter le nombre disponible.
Une action de mise à l’échelle automatique a un refroidir période, spécifiée en minutes. Pendant cet intervalle, la règle de mise à l’échelle ne sera pas déclenchée à nouveau. Cela permet au système de se stabiliser entre les événements de mise à l’échelle automatique. N’oubliez pas qu’il faut du temps pour démarrer ou arrêter des instances, et donc toutes les métriques collectées peuvent ne pas afficher de modifications significatives pendant plusieurs minutes. La période minimale de refroidissement est de cinq minutes.
Association de règles de mise à l’échelle automatique
Vous devez planifier la mise à l’échelle lorsqu’une charge de travail diminue. Envisagez de définir des règles de mise à l’échelle automatique en paires dans la même condition de mise à l’échelle automatique. Une règle de mise à l’échelle automatique doit indiquer comment effectuer un scale-out du système lorsqu’une métrique dépasse un seuil supérieur. Ensuite, d’autres règles doivent définir comment redimensionner le système lorsque la même métrique tombe en dessous d’un seuil inférieur.
Combinaison de règles de mise à l’échelle automatique
Une condition de mise à l’échelle automatique unique peut contenir plusieurs règles de mise à l’échelle automatique (par exemple, une règle de scale-out et la règle de scale-in correspondante). Toutefois, les règles de mise à l’échelle automatique dans une condition de mise à l’échelle automatique n’ont pas besoin d’être directement liées. Vous pouvez définir les quatre règles suivantes dans la même condition de mise à l’échelle automatique :
- Si la longueur de la file d’attente HTTP dépasse 10, effectuez un scale-out de 1
- Si l’utilisation du processeur dépasse 70%, augmentez la capacité de 1 unité.
- Si la longueur de la file d’attente HTTP est égale à zéro, réduisez l'échelle de 1
- Si l’utilisation du processeur passe au-dessous de 50%, réduisez de 1 unité.
Lorsque vous déterminez s’il faut procéder à une évolution horizontale, l’autoscaling est activé si des règles d’évolution horizontale sont remplies (la longueur de la file d’attente HTTP dépasse 10 ou l’utilisation du processeur dépasse 70%). Lors de la mise à l’échelle, l’action de mise à l’échelle automatique s’exécute uniquement si toutes les des règles de mise à l’échelle sont remplies (la longueur de file d’attente HTTP passe à zéro et que l’utilisation du processeur tombe en dessous de 50%). Si vous devez effectuer une mise à l’échelle si une seule des règles de mise à l’échelle est remplie, vous devez définir les règles dans des conditions de mise à l’échelle automatique distinctes.