Mise à l’échelle automatique dans Azure App Service

Notes

La mise à l’échelle automatique est en préversion. Il est disponible pour les niveaux tarifaires Premium V2 (P1V2, P2V2, P3V2) et Premium V3 (P1V3, P2V3, P3V3) et pris en charge pour tous les types d’applications : Windows, Linux et conteneur Windows. La mise à l’échelle automatique n’est pas prise en charge pour le trafic d’emplacement de déploiement.

La mise à l’échelle automatique est une nouvelle option de scale-out qui gère automatiquement des décisions de mise à l’échelle pour vos applications web et plans App Service. Elle est différente de la mise à l’échelle automatique Azure préexistante qui vous permet de définir des règles de mise à l’échelle en fonction des planifications et des ressources. Grâce à la mise à l’échelle automatique, vous pouvez ajuster les paramètres de mise à l’échelle pour améliorer le niveau de performance de votre application et éviter les problèmes de démarrage à froid. La plateforme préchauffe des instances pour agir en tant que tampon lors d’une montée en puissance et assurer ainsi des transitions de performances fluides. Vous pouvez utilisez des Métriques en temps réel d’Application Insights pour vérifier votre nombre d’instances actuel et performanceCounters pour voir l’historique du nombre d’instances. Vous êtes facturé par seconde pour chaque instance, y compris les instances préchauffées.

Une comparaison des options de scale-out et de scale-in est disponible sur App Service :

  Manuel Autoscale Mise à l’échelle automatique
Niveaux tarifaires disponibles Basic et Up Standard et Up Premium V2 (P1V2, P2V2, P3V2) et Premium V3 (P1V3, P2V3, P3V3)
Mise à l’échelle basée sur des règles Non Oui Non, la plateforme gère le scale-out et le scale-in en fonction du trafic HTTP.
Mise à l’échelle basée sur la planification Non Oui Non
Instances toujours prêtes Non, votre application web s’exécute sur le nombre d’instances mises à l’échelle manuellement. Non, votre application web s’exécute sur d’autres instances disponibles pendant l’opération de scale-out, en fonction du seuil défini pour les règles de mise à l’échelle auto. Oui (minimum 1)
Instances préchauffées Non Non Oui (par défaut 1)
Maximum par application Non Non Oui

Comment fonctionne la mise à l’échelle automatique

Vous activez la mise à l’échelle automatique pour un plan App Service et configurez une plage d’instances pour chacune des applications web. Lorsque votre application web commence à recevoir du trafic HTTP, App Service surveille la charge et ajoute des instances. Les ressources peuvent être partagées lorsque plusieurs applications web au sein d’un plan App Service sont nécessaires pour effectuer un scale-out simultané.

Voici quelques scénarios dans lesquels vous devez effectuer un scale-out automatiquement :

  • Vous ne souhaitez pas configurer des règles de mise à l’échelle auto basées sur les métriques de ressources.
  • Vous souhaitez que vos applications web du même plan App Service soient mises à l’échelle différemment et indépendamment les unes des autres.
  • Votre application web est connectée à une base de données ou à un système hérité, qui peut ne pas être mis à l’échelle aussi rapidement. La mise à l’échelle automatique vous permet de définir le nombre maximal d’instances que votre plan App Service peut mettre à l’échelle. Ce paramètre permet à l’application web de ne pas surcharger le back-end.

Activer la mise à l’échelle automatique

La rafale maximale est le nombre le plus élevé d’instances que votre plan App Service peut atteindre en fonction des requêtes HTTP entrantes. Pour les plans Premium v2 et v3, vous pouvez définir une rafale maximale de 30 instances. La rafale maximale doit être égale ou supérieure au nombre de collaborateurs spécifié pour le plan App Service.

Important

Vous devez désactiver Always ON pour utiliser la mise à l’échelle automatique.

Pour activer la mise à l’échelle automatique, accédez au menu gauche de l’application web et sélectionnez Scale-out (Plan App Service). Sélectionnez Automatique (préversion), mettez à jour la valeur de la Rafale maximale, puis sélectionnez le bouton Enregistrer.

Automatic scaling in Azure portal

Définir le nombre minimal d’instances d’applications web

Instances toujours prêtes est un paramètre au niveau de l’application permettant de spécifier le nombre minimal d’instances. Si la charge dépasse ce que les instances toujours prêtes peuvent gérer, des instances supplémentaires sont ajoutées (sans excéder la rafale maximale spécifiée pour le plan App Service).

Pour définir le nombre minimal d’instances d’application web, accédez au menu gauche de l’application web et sélectionnez Scale-out (Plan App Service). Mettez à jour la valeur des Instances toujours prêtes, puis sélectionnez le bouton Enregistrer.

Screenshot of always ready instances

Définir le nombre maximal d’instances d’applications web

La limite de mise à l’échelle maximale définit le nombre maximal d’instances qu’une application web peut mettre à l’échelle. La limite de mise à l’échelle maximale est utile lorsqu’un composant en aval, comme une base de données, a un débit limité. La valeur maximale par application peut être comprise entre 1 et la rafale maximale.

Pour définir le nombre maximal d’instances d’application web, accédez au menu gauche de l’application web, puis sélectionnez Scale-out (Plan App Service). Sélectionnez Appliquer la limite de scale-out, mettez à jour la Limite de mise à l’échelle maximale, puis sélectionnez le bouton Enregistrer.

Screenshot of maximum scale limit

Mettre à jour les instances préchauffées

Le paramètre d’instances préchauffées fournit des instances chauffées en tant que mémoire tampon pendant les événements d’activation et de mise à l’échelle HTTP. Les instances préchauffées continuent d’être mises en mémoire tampon tant que la limite maximale de scale-out n’est pas atteinte. Le nombre d’instances préchauffées par défaut est de 1, et dans la plupart des scénarios, cette valeur reste à 1.

Vous ne pouvez pas modifier le paramètre d’instances préchauffées dans le portail. Vous devez plutôt utiliser Azure CLI.

Désactiver la mise à l’échelle automatique

Pour désactiver la mise à l’échelle automatique, accédez au menu gauche de l’application web et sélectionnez Scale-out (Plan App Service). Sélectionnez Manuel, puis sélectionnez le bouton Enregistrer.

Screenshot of manual scaling

La mise à l’échelle automatique prend-elle en charge les applications de fonction Azure ?

Non, vous pouvez uniquement avoir des applications web Azure App Service dans le plan App Service où vous souhaitez activer la mise à l’échelle automatique. Si vous avez des applications Azure Functions existantes dans le même plan App Service, ou si vous créez des applications Azure Functions, la mise à l’échelle automatique est désactivée. Pour Functions, il est plutôt recommandé d’utiliser le plan Azure Functions Premium.

Plus de ressources