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 %.
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.
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 :
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 :
- Démarrer un runbook Azure Automation.
- Appelez une fonction Azure.
- Déclenchez une application logique Azure.
Paramètres de mise à l'échelle automatique
Les paramètres de mise à l’échelle automatique incluent 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 quand une mise à l’échelle automatique applique 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. |
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 :
- Tutoriel : Effectuer une mise à l’échelle automatique d’un groupe de machines virtuelles identiques avec Azure CLI
- Tutoriel : Mettre automatiquement à l’échelle un groupe de machines virtuelles identiques avec un modèle Azure
Services pris en charge pour la mise à l’échelle automatique
La mise à l’échelle automatique prend en charge les services suivants.
Étapes suivantes
Pour en savoir plus sur la mise à l’échelle automatique, consultez les ressources suivants :
- Mesures courantes pour la mise à l’échelle automatique dans Azure Monitor
- Utilisation d’actions de mise à l’échelle automatique pour envoyer des notifications d’alerte webhook et par courrier électronique
- Tutoriel : Effectuer une mise à l’échelle automatique d’un groupe de machines virtuelles identiques avec Azure CLI
- Tutoriel : mettre à l’échelle automatiquement un groupe de machines virtuelles identiques avec Azure PowerShell
- Informations de référence sur l’interface CLI de mise à l’échelle automatique
- Définition de ressources de modèle ARM
- Référence PowerShell Az.Monitor
- Référence de l’API REST : paramètres de mise à l’échelle automatique