Vue d’ensemble de la mise à l’échelle automatique dans Azure

Cet article décrit la fonctionnalité de mise à l’échelle automatique dans Azure Monitor et ses avantages.

La mise à l’échelle automatique prend en charge de nombreux types de ressources. Pour plus d’informations sur les ressources prises en charge, consultez Ressources prises en charge par la mise à l’échelle automatique.

Notes

Les groupes à haute disponibilité sont une fonctionnalité de mise à l’échelle plus ancienne pour les machines virtuelles avec prise en charge limitée. Nous vous recommandons de migrer vers Azure Virtual Machine Scale Sets pour une prise en charge plus rapide et plus fiable de la mise à l’échelle automatique.

Qu’est-ce que la mise à l’échelle automatique ?

La mise à l’échelle automatique est un service que vous pouvez utiliser pour ajouter et supprimer automatiquement des ressources en fonction de la charge de votre application.

Lorsque la charge de votre application est élevée, la mise à l’échelle automatique ajoute des ressources pour y faire face. Lorsque la charge est faible, la mise à l’échelle automatique réduit le nombre de ressources, et donc vos coûts. Vous pouvez mettre à l’échelle votre application en fonction de métriques telles que l’utilisation de l’UC, la longueur de file d’attente et la mémoire disponible. Vous pouvez également effectuer une mise à l’échelle en fonction d’une planification. Les métriques et les planifications sont configurées dans les règles. Les règles incluent un niveau minimal de ressources dont vous avez besoin pour exécuter votre application et un niveau maximal de ressources qui ne seront pas dépassées.

Par exemple, effectuez un scale-out de votre application en ajoutant des machines virtuelles lorsque l’utilisation moyenne du processeur par machine virtuelle est supérieure à 70 %. Annulez la mise à l’échelle en supprimant des machines virtuelles lorsque l’utilisation de l’UC tombe à 40 %.

A diagram that shows scaling out by adding virtual machine instances.

Lorsque les conditions des règles sont remplies, une ou plusieurs actions de mise à l’échelle automatique sont déclenchées, en ajoutant ou en supprimant des machines virtuelles. Vous pouvez également effectuer d’autres actions telles que l’envoi de notifications par e-mail ou des webhooks pour déclencher des processus dans d’autres systèmes.

Mise à l’échelle horizontale/verticale

La mise à l’échelle automatique effectue un scale in et out, ou horizontalement. La mise à l’échelle horizontalement correspond à une augmentation ou à une diminution du nombre d’instances de ressource. Par exemple, pour un groupe de machines virtuelles identiques, le scale-out signifie ajouter d’autres machines virtuelles. La mise à l’échelle horizontale signifie la suppression des machines virtuelles. La mise à l’échelle horizontale est flexible dans un environnement cloud, car vous pouvez l’utiliser pour exécuter un grand nombre de machines virtuelles pour gérer la charge.

La mise à l'échelle verticale n'est pas prise en charge par la mise à l’échelle automatique. En revanche, la mise à l’échelle vers le haut et vers le bas ou la mise à l’échelle verticale conserve le même nombre d’instances de ressource constant, mais leur offre plus de capacité en matière de mémoire, de vitesse du processeur, d’espace disque et de réseau. La mise à l’échelle verticale est limitée par la disponibilité de matériel plus grand, qui finit par atteindre une limite supérieure. Dans Azure, la disponibilité de matériel en termes de taille varie par région. La mise à l’échelle verticale risque également de nécessiter un redémarrage de la machine virtuelle lors du processus.

A diagram that shows scaling up by adding CPU and memory to a virtual machine.

Lorsque les conditions des règles sont remplies, une ou plusieurs actions de mise à l’échelle automatique sont déclenchées, en ajoutant ou en supprimant des machines virtuelles. Vous pouvez également effectuer d’autres actions telles que l’envoi de notifications par e-mail ou des webhooks pour déclencher des processus dans d’autres systèmes.

Mise à l’échelle automatique prédictive

La mise à l’échelle automatique prédictive utilise le Machine Learning pour faciliter la gestion et la mise à l’échelle des groupes de machines virtuelles identiques avec des modèles de charge de travail cycliques. Elle prévoit la charge globale du processeur sur votre groupe de machines virtuelles identiques, en fonction des modes d’utilisation du processeur. Le groupe identique peut ensuite être mis à l’échelle en temps voulu pour répondre à la demande prévue.

Configuration de la mise à l’échelle automatique

Vous pouvez configurer la mise à l’échelle automatique via :

Architecture

Le diagramme suivant présente l’architecture de la mise à l’échelle automatique.

Diagram that shows autoscale flow.

Mesures de ressources

Les ressources génèrent des métriques utilisées dans les règles de mise à l’échelle automatique pour déclencher des événements de mise à l’échelle. Les groupes de machines virtuelles identiques utilisent les données de télémétrie des agents de diagnostic Azure pour générer des métriques. La télémétrie de la fonctionnalité de Web Apps d’Azure App Service et d’Azure Cloud Services provient directement de l’infrastructure Azure. Parmi les métriques couramment utilisées figurent l’utilisation du processeur, l’utilisation de la mémoire, le nombre de threads, la longueur de la file d’attente et l’utilisation du disque. Pour obtenir la liste des métriques disponibles, veuillez consulter la rubrique Métriques courantes pour la mise à l’échelle automatique.

Mesures personnalisées

Utilisez les propres métriques personnalisées générées par votre application. Configurez votre application pour envoyer des métriques à Application Insights et pour pouvoir utiliser ces métriques pour décider du moment de la mise à l’échelle.

Temps

Configurez des règles basées sur la planification pour déclencher des événements de mise à l’échelle. Utilisez des règles basées sur la planification lorsque vous observez des modèles de temps dans votre charge et souhaitez procéder à une mise à l'échelle avant qu'un changement de charge anticipé se produise.

Règles

Les règles définissent les conditions requises pour déclencher un événement de mise à l’échelle, la direction de la mise à l’échelle et la quantité à mettre à l’échelle. Combinez plusieurs règles à l’aide de différentes métriques, comme l’utilisation de l’UC et la longueur de la file d’attente. Définissez jusqu’à 10 règles par profil.

Les règles peuvent être :

  • Basées sur des métriques : basées sur des déclencheurs portant sur une valeur de métrique, par exemple, lorsque l’utilisation de l’UC est supérieure à 50 %.
  • Basées sur l’heure : basées sur des déclencheurs portant sur une planification, par exemple, chaque samedi à 8 h 00.

La mise à l’échelle automatique effectue un scale-out si l’une des règles est respectée. La mise à l’échelle automatique effectue un scale-in uniquement si toutes les règles sont respectées. En termes d’opérateurs logiques, l’opérateur OR est utilisé pour le scale-out avec plusieurs règles. L’opérateur AND est utilisé pour le scale-in avec plusieurs règles.

Actions et automatisation

Les règles peuvent déclencher un ou plusieurs types d’actions. Les actions sont les suivantes :

  • Mise à l’échelle : effectuez un scale-in ou un scale-out des ressources.
  • E-mail : envoyez un e-mail aux administrateurs et coadministrateurs d’un abonnement, et/ou à toute autre adresse e-mail.
  • Webhooks : appelez des webhooks pour déclencher plusieurs actions complexes à l’intérieur ou en dehors d’Azure. Dans Azure, vous pouvez :

Paramètres de mise à l'échelle automatique

Les paramètres de mise à l’échelle automatique contiennent la configuration de mise à l’échelle automatique. Le paramètre inclut des conditions de mise à l'échelle qui définissent des règles, des limites, des planifications et des notifications. Définissez une ou plusieurs conditions de mise à l’échelle dans les paramètres, puis une configuration de notification.

La mise à l’échelle automatique utilise la terminologie et la structure suivantes.

UI JSON/CLI Description
Conditions de mise à l’échelle profiles Collection de règles, de limites d’instances et de planifications en fonction d’une métrique ou d’une heure. Vous pouvez définir un ou plusieurs profils ou conditions de mise à l’échelle. Définissez jusqu’à 20 profils par paramètre de mise à l’échelle automatique.
Règles rules Ensemble de conditions basées sur l’heure ou les métriques qui déclenchent une action de mise à l’échelle. Vous pouvez définir une ou plusieurs règles pour les actions de scale-in et de scale-out. Définissez jusqu’à un total de 10 règles par profil.
Limites d’instances capacité Chaque condition ou profil de mise à l’échelle définit le nombre par défaut, minimum et maximum d’instances qui peuvent s’exécuter sous ce profil.
Planifier recurrence Indique le moment auquel une mise à l’échelle automatique doit appliquer cette condition ou ce profil de mise à l’échelle. Vous pouvez disposer de plusieurs conditions de mise à l’échelle, ce qui vous permet de gérer des exigences différentes et qui se chevauchent. Par exemple, vous pouvez disposer de conditions de mise à l’échelle automatique différentes pour plusieurs heures de la journée ou jours de la semaine.
Notifier notification Définit les notifications à envoyer lorsqu’un événement de mise à l’échelle automatique se produit. La mise à l’échelle automatique peut envoyer une notification à une ou plusieurs adresses e-mail ou passer un appel avec un ou plusieurs webhooks. Vous pouvez configurer plusieurs webhooks dans le JSON, mais un seul dans l’interface utilisateur.

Diagram that shows Azure autoscale setting, profile, and rule structure.

La liste complète des descriptions et champs configurables est disponible dans l’API REST de mise à l’échelle automatique.

Pour plus d’exemples de code, veuillez consulter :

Services pris en charge pour la mise à l’échelle automatique

La mise à l’échelle automatique prend en charge les services suivants.

Service Schéma et documentation
Azure Virtual Machine Scale Sets Vue d’ensemble de la mise à l’échelle automatique avec des groupes de machines virtuelles identiques Azure
Fonctionnalité Web Apps d’Azure App Service Mise à l’échelle des applications web
Service Gestion des API Azure Mettre à l’échelle automatiquement une instance du service Gestion des API Azure
Clusters Azure Data Explorer Gérer la mise à l’échelle des clusters Azure Data Explorer pour prendre en compte les fluctuations de la demande
Azure Stream Analytics Mise à l’échelle automatique des unités de streaming (préversion)
Azure SignalR Service (niveau Premium) Mettre automatiquement à l’échelle les unités d’un service Azure SignalR
Espace de travail Azure Machine Learning Mise à l’échelle automatique d’un point de terminaison en ligne
Azure Spring Apps Configurer la mise à l’échelle automatique pour les applications
Azure Media Services Mise à l’échelle automatique dans Media Services
Azure Service Bus Mettre à jour automatiquement les unités de messagerie d’un espace de noms Azure Service Bus
Azure Logic Apps - Environnement de service d’intégration (ISE) Ajouter de la capacité à l’ISE

Étapes suivantes

Pour en savoir plus sur la mise à l’échelle automatique, consultez les ressources suivants :