Vue d’ensemble de la mise à l’échelle automatique sur les machines virtuelles Microsoft Azure, les services cloud et les applications webOverview of autoscale in Microsoft Azure Virtual Machines, Cloud Services, and Web Apps

Cet article décrit la mise à l’échelle automatique Microsoft Azure ainsi que ses avantages, et comment commencer à l’utiliser.This article describes what Microsoft Azure autoscale is, its benefits, and how to get started using it.

La mise à l’échelle automatique Azure Monitor s’applique uniquement aux groupes de machines virtuelles identiques, aux services cloud, à App Service - Web Apps et aux services de gestion des API.Azure Monitor autoscale applies only to Virtual Machine Scale Sets, Cloud Services, App Service - Web Apps, and API Management services.

Notes

Azure dispose de deux méthodes de mise à l’échelle automatique.Azure has two autoscale methods. L’ancienne version de la mise à l’échelle automatique s’applique aux machines virtuelles (groupes à haute disponibilité).An older version of autoscale applies to Virtual Machines (availability sets). Cette fonctionnalité assure une prise en charge limitée et nous vous recommandons de migrer vers les jeux de mise à l’échelle de machine virtuelle pour une prise en charge plus rapide et plus fiable de la mise à l’échelle automatique.This feature has limited support and we recommend migrating to virtual machine scale sets for faster and more reliable autoscale support. Un lien sur la façon d’utiliser l’ancienne technologie est inclus dans cet article.A link on how to use the older technology is included in this article.

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

La mise à l’échelle automatique vous permet de disposer de la bonne quantité de ressources en cours d’exécution pour gérer la charge sur votre application.Autoscale allows you to have the right amount of resources running to handle the load on your application. Elle vous permet d’ajouter des ressources pour gérer les augmentations de charge et d’économiser de l’argent en supprimant les ressources qui sont inactives.It allows you to add resources to handle increases in load and also save money by removing resources that are sitting idle. Vous spécifiez un nombre minimal et maximal d’instances à exécuter et ajoutez ou supprimez des machines virtuelles automatiquement en fonction d’un ensemble de règles.You specify a minimum and maximum number of instances to run and add or remove VMs automatically based on a set of rules. Avoir un nombre minimal d’instances permet de vous assurer que votre application est toujours en cours d’exécution même en l’absence de charge.Having a minimum makes sure your application is always running even under no load. Avoir un nombre maximal d’instances limite votre coût total possible par heure.Having a maximum limits your total possible hourly cost. Vous effectuez une mise à l’échelle automatique entre ces deux extrêmes, à l’aide de règles que vous créez.You automatically scale between these two extremes using rules you create.

Description de la mise à l’échelle automatique.

Lorsque les conditions relatives aux règles sont remplies, une ou plusieurs actions de mise à l’échelle automatique sont déclenchées.When rule conditions are met, one or more autoscale actions are triggered. Vous pouvez ajouter et supprimer des machines virtuelles ou effectuer d’autres actions.You can add and remove VMs, or perform other actions. Le schéma conceptuel suivant illustre ce processus.The following conceptual diagram shows this process.

Diagramme de flux de la mise à l’échelle automatique

La description suivante s’applique aux éléments du schéma précédent.The following explanation applies to the pieces of the previous diagram.

Métriques de ressourcesResource Metrics

Les ressources émettent des métriques, qui sont ensuite traitées par des règles.Resources emit metrics, these metrics are later processed by rules. Les mesures sont fournies via différentes méthodes.Metrics come via different methods. Les jeux de mise à l’échelle de machine virtuelle utilisent les données de télémétrie des agents de diagnostics Azure, tandis que les données de télémétrie pour les applications web et les services cloud proviennent directement de l’infrastructure Azure.Virtual machine scale sets use telemetry data from Azure diagnostics agents whereas telemetry for Web apps and Cloud services comes directly from the Azure Infrastructure. Parmi les statistiques 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.Some commonly used statistics include CPU Usage, memory usage, thread counts, queue length, and disk usage. Pour obtenir une liste des données de télémétrie que vous pouvez utiliser, voir Mesures courantes pour la mise à l’échelle automatique.For a list of what telemetry data you can use, see Autoscale Common Metrics.

Métriques personnaliséesCustom Metrics

Vous pouvez également utiliser vos propres métriques personnalisées que peuvent émettre vos applications.You can also leverage your own custom metrics that your application(s) may be emitting. Si vous avez configuré vos applications pour envoyer des métriques à Application Insights, vous pouvez en tirer parti pour prendre des décisions au sujet de la mise à l’échelle.If you have configured your application(s) to send metrics to Application Insights you can leverage those metrics to make decisions on whether to scale or not.

TempsTime

Les règles basées sur la planification s’appuient sur l’heure UTC.Schedule-based rules are based on UTC. Vous devez définir votre fuseau horaire correctement lorsque vous configurez vos règles.You must set your time zone properly when setting up your rules.

RèglesRules

Le diagramme montre une seule règle de mise à l’échelle automatique, mais vous pouvez en avoir plusieurs.The diagram shows only one autoscale rule, but you can have many of them. Vous pouvez créer des règles complexes qui se chevauchent en fonction de vos besoins.You can create complex overlapping rules as needed for your situation. Les types de règles incluentRule types include

  • Basées sur des mesures : par exemple, effectuer cette action lorsque l’utilisation du processeur est supérieure à 50 %.Metric-based - For example, do this action when CPU usage is above 50%.
  • Basées sur l’heure : par exemple, déclencher un webhook chaque samedi à 8h dans un fuseau horaire donné.Time-based - For example, trigger a webhook every 8am on Saturday in a given time zone.

Les règles basées sur les mesures mesurent la charge de l’application et ajoutent ou suppriment des machines virtuelles en fonction de cette charge.Metric-based rules measure application load and add or remove VMs based on that load. Les règles basées sur la planification vous permettent d’effectuer une mise à l’échelle lorsque vous voyez des modèles horaires dans votre charge et que vous souhaitez effectuer la mise à l’échelle avant qu’une augmentation ou diminution de charge possible ne se produise.Schedule-based rules allow you to scale when you see time patterns in your load and want to scale before a possible load increase or decrease occurs.

Actions et automatisationActions and automation

Les règles peuvent déclencher un ou plusieurs types d’actions.Rules can trigger one or more types of actions.

  • Mise à l’échelle : mettre les machines virtuelles à l’échelleScale - Scale VMs in or out
  • E-mail : envoyer un e-mail aux administrateurs et coadministrateurs d’un abonnement, et/ou à toute adresse e-mail supplémentaire que vous spécifiezEmail - Send email to subscription admins, co-admins, and/or additional email address you specify
  • Automatisation via webhooks : appeler des webhooks, qui peuvent déclencher plusieurs actions complexes à l’intérieur ou en dehors d’Azure.Automate via webhooks - Call webhooks, which can trigger multiple complex actions inside or outside Azure. Dans Azure, vous pouvez démarrer un runbook Azure Automation, une fonction Azure ou une application logique Azure.Inside Azure, you can start an Azure Automation runbook, Azure Function, or Azure Logic App. Parmi les URL tierces en dehors d’Azure figurent des services comme Slack et Twilio.Example third-party URL outside Azure include services like Slack and Twilio.

Paramètres de mise à l’échelle automatiqueAutoscale Settings

La mise à l’échelle automatique utilise la terminologie et la structure suivantes.Autoscale use the following terminology and structure.

  • Un paramètre de mise à l’échelle automatique est lu par le moteur de mise à l’échelle automatique afin de déterminer si une montée ou une descente en puissance est nécessaire.An autoscale setting is read by the autoscale engine to determine whether to scale up or down. Il contient un ou plusieurs profils, des informations sur la ressource cible et des paramètres de notification.It contains one or more profiles, information about the target resource, and notification settings.

    • Un profil de mise à l’échelle automatique est la combinaison des éléments suivants :An autoscale profile is a combination of a:

      • Un paramètre de capacité indiquant les valeurs minimum, maximum et par défaut pour le nombre d’instances.capacity setting, which indicates the minimum, maximum, and default values for number of instances.

      • Un ensemble de règles, comprenant chacun un déclencheur (heure ou métrique) et une action de mise à l’échelle (augmentation ou réduction).set of rules, each of which includes a trigger (time or metric) and a scale action (up or down).

      • Une périodicité indiquant le moment auquel une mise à l’échelle automatique doit appliquer ce profil.recurrence, which indicates when autoscale should put this profile into effect.

        Vous pouvez avoir plusieurs profils, ce qui vous permet de prendre en charge des exigences différentes qui se chevauchent.You can have multiple profiles, which allow you to take care of different overlapping requirements. Vous pouvez avoir des profils de mise à l’échelle automatique différents pour différentes heures de la journée ou jours de la semaine, par exemple.You can have different autoscale profiles for different times of day or days of the week, for example.

    • Un paramètre de notification définit quelles notifications doivent se produire lorsqu’un événement de mise à l’échelle automatique a lieu en fonction de la satisfaction des critères de l’un des profils de paramètre de mise à l’échelle automatique.A notification setting defines what notifications should occur when an autoscale event occurs based on satisfying the criteria of one of the autoscale setting’s profiles. La mise à l’échelle automatique peut notifier une ou plusieurs adresses e-mail ou appeler un ou plusieurs webhooks.Autoscale can notify one or more email addresses or make calls to one or more webhooks.

Structure de règle, de profil et de paramètre de mise à l’échelle automatique Azure

La liste complète des descriptions et champs configurables est disponible dans l’API REST de mise à l’échelle automatique.The full list of configurable fields and descriptions is available in the Autoscale REST API.

Pour plus d’exemples de code, consultezFor code examples, see

Mise à l’échelle horizontale/verticaleHorizontal vs vertical scaling

La mise à l’échelle automatique s’effectue uniquement horizontalement, ce qui correspond à une augmentation (« out ») ou à une diminution (« in ») du nombre d’instances de machine virtuelle.Autoscale only scales horizontally, which is an increase ("out") or decrease ("in") in the number of VM instances. La mise à l’échelle horizontale est plus flexible dans un environnement cloud, car elle vous permet d’exécuter des milliers de machines virtuelles pour gérer la charge.Horizontal is more flexible in a cloud situation as it allows you to run potentially thousands of VMs to handle load.

La mise à l’échelle verticale est différente.In contrast, vertical scaling is different. Elle conserve le même nombre de machines virtuelles, mais rend la machine virtuelle plus (« up ») ou moins (« down ») puissante.It keeps the same number of VMs, but makes the VMs more ("up") or less ("down") powerful. La puissance se mesure en termes de mémoire, de vitesse du processeur, d’espace disque, etc. La mise à l’échelle verticale a davantage de limites.Power is measured in memory, CPU speed, disk space, etc. Vertical scaling has more limitations. Elle dépend de la disponibilité d’un matériel plus puissant, qui peut atteindre rapidement sa limite et varier d’une région à l’autre.It's dependent on the availability of larger hardware, which quickly hits an upper limit and can vary by region. La mise à l’échelle verticale nécessite généralement un arrêt et un redémarrage de la machine virtuelle.Vertical scaling also usually requires a VM to stop and restart.

Méthodes d’accèsMethods of access

Vous pouvez configurer la mise à l’échelle automatique viaYou can set up autoscale via

Services pris en charge pour la mise à l’échelle automatiqueSupported services for autoscale

de diffusion en continuService Schéma et documentationSchema & Docs
Web AppsWeb Apps Mise à l’échelle des applications webScaling Web Apps
Cloud ServicesCloud Services Mise à l’échelle automatique d’un service cloudAutoscale a Cloud Service
Machines virtuelles : ClassiqueVirtual Machines: Classic Mise à l’échelle de groupes à haute disponibilité de machines virtuelles classiquesScaling Classic Virtual Machine Availability Sets
Machines virtuelles : Groupes identiques WindowsVirtual Machines: Windows Scale Sets Mise à l’échelle des jeux de mise à l’échelle de machine virtuelle dans WindowsScaling virtual machine scale sets in Windows
Machines virtuelles : Groupes identiques LinuxVirtual Machines: Linux Scale Sets Mise à l’échelle des jeux de mise à l’échelle de machine virtuelle dans LinuxScaling virtual machine scale sets in Linux
Machines virtuelles : Exemple WindowsVirtual Machines: Windows Example Configuration avancée de la mise à l’échelle automatique à l’aide des modèles Resource Manager pour les groupes de machines virtuelles identiquesAdvanced Autoscale configuration using Resource Manager templates for VM Scale Sets
Service Gestion des APIAPI Management service Mettre à l’échelle automatiquement une instance du service Gestion des API AzureAutomatically scale an Azure API Management instance

Étapes suivantesNext steps

Pour en savoir plus sur la mise à l’échelle automatique, utilisez les guides sur la mise à l’échelle automatique répertoriés précédemment ou consultez les ressources suivantes :To learn more about autoscale, use the Autoscale Walkthroughs listed previously or refer to the following resources: