Identifier les facteurs de mise à l’échelle automatique

Effectué

La mise à l’échelle automatique vous permet de spécifier les conditions dans lesquelles une application web doit faire l’objet d’un scale-out, puis d’un scale-in. Une mise à l’échelle automatique efficace garantit que suffisamment de ressources sont disponibles pour gérer de gros volumes de demandes aux périodes de pointe, tout en gérant les coûts quand 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 et de l’utilisation des ressources. Vous pouvez également configurer la mise à l’échelle automatique pour qu’elle s’exécute selon une planification.

Dans cette unité, vous apprenez à spécifier les facteurs qui peuvent être utilisés pour mettre à l’échelle un service automatiquement.

Mise à l’échelle automatique et plan App Service

La mise à l’échelle automatique est une fonctionnalité du plan App Service utilisé par l’application web. Quand l’application web fait l’objet d’un scale-out, Azure démarre de nouvelles instances du matériel défini par le plan App Service pour l’application.

Pour que la mise à l’échelle automatique soit maîtrisée, un plan App Service a une limite d’instances. Les plans rattachés à 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 le permet cette limite.

Notes

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 doit être effectuée la mise à l’échelle automatique en créant des conditions de mise à l’échelle automatique. Azure fournit deux options pour la mise à l’échelle automatique :

  • Mise à l’échelle basée sur une métrique, telle que la longueur de file d’attente du disque ou le nombre de requêtes HTTP en attente de traitement.
  • Mise à l’échelle à un nombre d’instances spécifique en fonction d’une planification. Par exemple, vous pouvez organiser un scale-out à une heure précise de la journée ou à une date ou un jour spécifique de la semaine. Vous spécifiez également une date de fin ; dans ce cas, le système subit un scale-in à ce moment-là.

La mise à l’échelle à un nombre d’instances spécifique vous permet uniquement d’effectuer un scale-out jusqu’à un nombre défini d’instances. Si vous avez besoin d’effectuer un scale-out de façon incrémentielle, vous pouvez combiner une métrique et une planification dans la même condition de mise à l’échelle automatique. Ainsi, vous pouvez faire en sorte que le système fasse l’objet d’un scale-out si le nombre de requêtes HTTP dépasse un seuil, mais uniquement entre certaines heures de la journée.

Vous pouvez créer plusieurs conditions de mise à l’échelle automatique pour gérer différentes métriques et planifications. Azure met automatiquement à l’échelle votre service quand l’une de ces conditions s’applique. Un plan App Service a également une condition par défaut qui est utilisée si aucune des autres conditions ne s’applique. Cette condition est toujours active et n’a pas de planification.

Métriques pour les règles de mise à l’échelle automatique

Pour une mise à l’échelle automatique par métrique, vous devez définir une ou plusieurs règles de mise à l’échelle automatique. Une règle de mise à l’échelle automatique spécifie une métrique à superviser et comment la mise à l’échelle automatique doit répondre quand cette métrique dépasse un seuil défini. Les métriques que vous pouvez superviser pour une application web sont les suivantes :

  • Pourcentage de processeur. Cette métrique est une indication de l’utilisation du processeur sur toutes les instances. Une valeur élevée indique que les instances commencent à utiliser le processeur de manière intensive, 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 sur toutes les instances. Une valeur élevée indique qu’il y a peut-être peu de mémoire disponible, pouvant entraîner l’échec d’une ou plusieurs instances.
  • Longueur de file d’attente de disque. Cette métrique est une mesure du nombre de demandes d’E/S en suspens dans toutes les instances. Une valeur élevée est le signe qu’une contention de disque est peut-être en cours de formation.
  • Longueur de la file d’attente HTTP. Cette métrique affiche le nombre de demandes clientes en attente de traitement par l’application web. Si ce nombre est élevé, les demandes clientes risquent d’échouer avec des erreurs HTTP 408 (délai d’expiration).
  • Données entrantes. Cette métrique est le nombre d’octets reçus sur toutes les instances.
  • Données sortantes. Cette métrique est le nombre d’octets envoyés par toutes les instances.

Vous pouvez également effectuer une mise à l’échelle en fonction de métriques pour les autres services Azure. Par exemple, si l’application web traite des demandes provenant d’une file d’attente Service Bus, vous pouvez lancer plus d’instances d’une application web si le nombre d’éléments stocké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 repose sur l’analyse des tendances des valeurs de métriques dans le temps sur toutes les instances. L’analyse est un processus en plusieurs étapes.

Au cours de la première étape, une règle de mise à l’échelle automatique agrège les valeurs récupérées pour une métrique concernant toutes les instances sur une période de temps appelée fragment de temps. Chaque métrique a son propre fragment 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 agrégation de temps. Les options disponibles sont Moyenne, Minimum, Maximum, Somme, Dernier et Nombre.

Un intervalle d’une minute est un intervalle court pour déterminer si une modification de métrique est suffisamment longue pour justifier une mise à l’échelle automatique. Ainsi, une règle de mise à l’échelle automatique effectue une deuxième étape qui procède à 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 la durée 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 fragment de temps.

Le calcul de l’agrégation pour la durée peut être différent du fragment de temps. Par exemple, si l’agrégation de temps est Moyenne et que les statistiques collectées concernent le Pourcentage de processeur sur un fragment de temps d’une minute, l’utilisation moyenne du pourcentage de processeur sur toutes les instances pour cette minute est calculée. Si les statistiques de fragment de temps sont définies sur Maximum et que la durée de la règle est de 10 minutes, la valeur maximale des 10 valeurs moyennes pour l’utilisation du pourcentage de processeur sert à déterminer si le seuil de la règle a été dépassé.

Actions de mise à l’échelle automatique

Quand une règle de mise à l’échelle automatique détecte qu’une métrique a atteint un seuil, elle peut effectuer une action de mise à l’échelle automatique. Une action de mise à l’échelle automatique peut être un scale-out ou un scale-in. Une action de scale-out augmente le nombre d’instances, tandis qu’une action de scale-in le réduit. 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. En règle générale, les actions de scale-out utilisent l’opérateur supérieur à pour comparer la valeur de métrique au seuil. Les actions de scale-in 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 une période de refroidissement, exprimée en minutes. Pendant cet intervalle, la règle de mise à l’échelle n’est pas redéclenchée. Le système a ainsi le temps de se stabiliser entre les événements de mise à l’échelle automatique. Le démarrage ou l’arrêt des instances prenant du temps, les métriques collectées peuvent ne pas montrer de modifications significatives pendant plusieurs minutes. La période de refroidissement minimale est de cinq minutes.

Appariement des règles de mise à l’échelle automatique

Vous devez planifier un scale-in quand la charge de travail diminue. Envisagez de définir des règles de mise à l’échelle automatique par 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 quand une métrique dépasse un seuil supérieur. L’autre règle doit ensuite définir comment effectuer un scale-in du système quand la même métrique tombe en dessous d’un seuil inférieur.

Combinaison de règles de mise à l’échelle automatique

Une même condition de mise à l’échelle automatique 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, il n’est pas nécessaire que les règles de mise à l’échelle automatique dans une condition de mise à l’échelle automatique soient 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 file d’attente HTTP dépasse 10, effectuer un scale-out de 1
  • Si l’utilisation du processeur dépasse 70 %, effectuer un scale-out de 1
  • Si la longueur de file d’attente HTTP est égale à zéro, effectuer un scale-in de 1
  • Si l’utilisation du processeur descend sous 50 %, effectuer un scale-in de 1

Dans le cas du scale-out, l’action de mise à l’échelle automatique est exécutée si n’importe laquelle des règles de scale-out est remplie (la longueur de file d’attente HTTP dépasse 10 ou l’utilisation du processeur dépasse 70 %). Dans le cas du scale-in, l’action de mise à l’échelle automatique s’exécute uniquement si toutes les règles de scale-in sont remplies (la longueur de file d’attente HTTP diminue jusqu’à zéro et l’utilisation du processeur tombe en dessous de 50 %). Pour effectuer un scale-in quand une seule règle de scale-in est remplie, vous devez définir les règles dans des conditions de mise à l’échelle automatique distinctes.