Mettre manuellement à l’échelle une application web

Effectué

Le scale-out et le scale-in manuels vous permettent de répondre aux hausses et aux baisses de trafic attendues. Le scale-out présente l’avantage supplémentaire d’accroître la disponibilité en raison du nombre accru d’instances de l’application web. L’échec d’une instance n’a pas pour effet de rendre l’application web indisponible.

Dans le système de réservation hôtelière, vous pouvez effectuer un scale-out en anticipation d’un afflux saisonnier. En fin de saison, une fois que le nombre de demandes de réservation a diminué, vous pouvez alors effectuer un scale-in.

Dans cette unité, vous apprenez à effectuer le scale-out manuel d’une application web, suivi de son scale-in.

Plans App Service et scalabilité

Une application web qui s’exécute dans Azure utilise généralement Azure App Service pour fournir l’environnement d’hébergement. App Service peut organiser l’exécution de plusieurs instances de l’application web. Il équilibre la charge des requêtes entrantes entre ces instances. Chaque instance s’exécute sur une machine virtuelle.

Un plan App Service définit les ressources disponibles pour chaque instance. Le plan App Service spécifie le système d’exploitation (Windows ou Linux), le matériel (mémoire, capacité de traitement du processeur, stockage sur disque, etc.) et la disponibilité des services comme la sauvegarde et la restauration automatiques.

Azure propose différents niveaux de plan App Service bien définis. Cette liste récapitule chacun de ces niveaux par ordre croissant de capacité et de coût :

  • Le niveau Gratuit vous confère 1 Go d’espace disque et prend en charge jusqu’à 10 applications. Toutefois, il ne fournit qu’une seule instance partagée et n’offre aucun contrat SLA de disponibilité. Chaque application est soumise à un quota de calcul de 60 minutes par jour. Le plan de service Gratuit convient au développement et au test d’applications. Il n’est pas destiné aux déploiements en production.
  • Le niveau Partagé prend en charge un plus grand nombre d’applications (jusqu’à 100) s’exécutant aussi sur une seule instance partagée. Les applications font l’objet d’un quota de calcul de 240 minutes par jour. Aucun contrat SLA de disponibilité n’est fourni.
  • Le niveau De base prend en charge un nombre illimité d’applications et fournit davantage d’espace disque. Les applications peuvent faire l’objet d’un scale-out sur trois instances dédiées. Ce niveau offre un contrat SLA de disponibilité de 99,95 %. Il est divisé en trois paliers qui présentent des caractéristiques différentes en termes de puissance de calcul, de mémoire et de stockage sur disque.
  • Le niveau Standard prend aussi en charge un nombre illimité d’applications. Ce niveau peut être mis à l’échelle avec 10 instances dédiées et un contrat SLA de disponibilité de 99,95 %. Comme le niveau De base, ce niveau comprend trois paliers qui offrent un ensemble de plus en plus puissant d’options de calcul, de mémoire et de disque.
  • Le niveau Premium vous donne droit à 20 instances dédiées, un contrat SLA de disponibilité de 99,95 % et plusieurs niveaux de matériel.
  • Le niveau Isolé s’exécute dans un réseau virtuel Azure dédié, ce qui vous fait bénéficier de l’isolation réseau et de l’isolation des calculs. Ce niveau peut faire l’objet d’un scale-out sur 100 instances et propose un contrat SLA de disponibilité de 99,95 %.

Notes

Certains niveaux ne sont pas accessibles à tous les systèmes d’exploitation. Par exemple, il n’existe actuellement pas de niveau Partagé pour Linux.

Superviser et mettre à l’échelle une application web

Quand vous créez une application web, vous pouvez créer un plan App Service ou utiliser un plan existant. Si vous sélectionnez un plan existant, toutes les applications web qui utilisent ce plan partagent les ressources avec votre application web. Comme elles sont mises à l’échelle ensemble, elles doivent avoir les mêmes exigences en matière de mise à l’échelle. Si vos applications ont des exigences différentes, utilisez un plan App Service distinct pour chacune d’elles.

Pour effectuer un scale-out, vous ajoutez des instances à un plan App Service dans la limite du nombre disponible pour le niveau sélectionné. Si vous n’utilisez pas le niveau Gratuit, chaque instance est facturée à l’heure. Vous pouvez effectuer cette tâche sur le portail Azure.

La clé d’une mise à l’échelle efficace consiste à savoir quand l’effectuer et dans quelles proportions. Vous supervisez les performances d’une application web en utilisant les métriques disponibles pour App Service. Le moyen le plus simple d’accomplir cette tâche est d’utiliser le portail Azure.

Si vous remarquez une augmentation constante de la consommation des ressources, notamment l’utilisation processeur, l’occupation de la mémoire ou la longueur de file d’attente du disque, envisagez d’effectuer un scale-out avant que ces métriques atteignent un seuil critique. Vous avez aussi tout intérêt à superviser le temps de réponse moyen des demandes et le nombre de demandes en échec. Si ces deux chiffres sont élevés, il est possible que le système fonctionne pratiquement à pleine capacité ou au-delà. Il peut être nécessaire de procéder immédiatement à un scale-out.

Si les métriques indiquent que votre système est peu chargé et qu’il dispose d’importantes capacités inutilisées, vous pouvez effectuer un scale-in pour réduire les coûts.

Dans les deux cas, vous devez continuer à superviser les statistiques de l’application web. Veillez à stabiliser le système. Si les métriques indiquent que l’application est toujours sous-alimentée ou suralimentée, ajoutez ou supprimez des instances selon les besoins.