Fermer

juin 21, 2021

Comprendre les avantages de Azure Virtual Machine Scale Set (VMSS)


La Azure Virtual Machine Scale Set(VMSS) vous permet de créer et gérer un groupe de machines virtuelles (VM) à équilibrage de charge. Le nombre d'instances de VM peut augmenter ou diminuer automatiquement en réponse à la demande ou à des planifications définies. Les groupes identiques offrent une haute disponibilité à vos applications et vous permettent de gérer, configurer et mettre à jour de manière centralisée un grand nombre de VM. Avec un VMSS, vous pouvez créer des services à grande échelle pour des domaines tels que le calcul, les mégadonnées et les charges de travail de conteneur.

Examinons les différences entre une VM et un VMSS.  

Différences clés entre les machines virtuelles et les ensembles identiques de machines virtuelles 

Les ensembles identiques sont créés à partir de machines virtuelles. Si nous souhaitons ajouter des instances de VM supplémentaires, les ensembles de VM Scale les créent automatiquement à partir de la configuration centrale, de l'équilibrage et de la distribution du trafic, de la haute disponibilité et de la redondance, et de la mise à l'échelle de la VM. Ces processus sont manuels pour les machines virtuelles normales, qui ne nécessitent pas que les machines virtuelles soient identiques.  

Scaling 

Nous devons surveiller manuellement et utiliser Azure Automation pour faire évoluer les machines virtuelles. Pour VMSS, nous devons effectuer une mise à l'échelle automatique en fonction des métriques de l'hôte, des métriques des invités, des informations sur les applications et du calendrier.

Pourquoi VMSS ? 

Azure VMSS offre les capacités de gestion pour les applications qui s'exécutent sur de nombreuses VM, la mise à l'échelle automatique des ressources et l'équilibrage de charge du trafic. Les ensembles évolutifs offrent les principaux avantages suivants : 

Facile à créer et à gérer plusieurs VM  

Lorsque de nombreuses VM exécutent votre application, il est important de maintenir une configuration cohérente dans votre environnement. Pour des performances fiables de votre application, la taille de la machine virtuelle, la configuration du disque et les installations d'application doivent correspondre à toutes les machines virtuelles.

Avec les groupes identiques, toutes les instances de VM sont créées à partir de la même image et configuration du système d'exploitation de base. Cette approche vous permet de gérer facilement des centaines de machines virtuelles sans tâches de configuration supplémentaires ni gestion de réseau.

Les ensembles évolutifs prennent en charge l'utilisation de l'équilibreur de charge Azure pour la distribution de base du trafic de couche 4 et de Azure Application Gateway pour une distribution de trafic de couche 7 plus avancée et la terminaison TLS.

Fournit une haute disponibilité et une résilience d'application 

Les ensembles évolutifs sont utilisés pour exécuter plusieurs instances de votre application. Si l'une de ces instances de VM rencontre un problème, les clients continuent d'accéder à votre application via l'une des autres instances de VM avec une interruption minimale.

Vous pouvez utiliser les Zones de disponibilité pour distribuer automatiquement les instances de VM dans un ensemble évolutif au sein d'un seul centre de données ou sur plusieurs centres de données pour une disponibilité supplémentaire.

Permet à votre application d'évoluer automatiquement en fonction des modifications de la demande de ressources 

La demande des clients pour votre application peut changer au cours de la journée ou de la semaine. Pour répondre à la demande des clients, les groupes identiques peuvent augmenter automatiquement les instances de VM à mesure que la demande des applications augmente, puis réduire le nombre d'instances de VM à mesure que la demande diminue.

Autoscale minimise également le nombre d'instances de VM inutiles qui exécutent votre application lorsque la demande est faible. Dans le même temps, les clients continuent de bénéficier d'un niveau de performances acceptable à mesure que la demande augmente et que des instances de VM supplémentaires sont automatiquement ajoutées. Cette capacité permet de réduire les coûts et de créer efficacement des ressources Azure selon les besoins.

Fonctionne à grande échelle 

Les ensembles à grande échelle prennent en charge jusqu'à 1 000 instances de VM. Si vous créez et chargez vos propres images de VM personnalisées, la limite est de 600 instances de VM. Pour les meilleures performances avec les charges de travail de production, utilisez Azure Managed Disks.

Parlons d'un cas d'utilisation concernant la façon dont une application Web déployée sur Azure peut tirer parti de l'ensemble d'échelle : 

Le diagramme ci-dessus montre que tous les serveurs de recherche doivent gérer les demandes des utilisateurs finaux, ce qui signifie que ces serveurs ont les mêmes caractéristiques en termes de configuration, de spécifications informatiques, de CPU, de mémoire.

En utilisant des ensembles de VM à l'échelle, les utilisateurs peuvent faire tourner plusieurs VM sans se soucier de gérer chaque VM séparément.

Étant donné que le trafic atteignant l'ensemble de mise à l'échelle est chargé. -équilibré sur tous les membres du groupe identique, une disponibilité et une tolérance aux pannes plus élevées permettront à l'application de mieux fonctionner.

Modes d'orchestration pour VMSS dans Azure

VMSS fournit un regroupement logique de plateformes gérées machines virtuelles. Avec les groupes identiques, vous créez un modèle de configuration de machine virtuelle, ajoutez ou supprimez automatiquement des instances supplémentaires en fonction de la charge du processeur ou de la mémoire et mettez automatiquement à niveau vers la dernière version du système d'exploitation. Traditionnellement, les groupes identiques vous permettent de créer des machines virtuelles à l'aide d'un modèle de configuration de machine virtuelle fourni au moment de la création des groupes identiques. Le groupe identique ne peut gérer que les machines virtuelles créées implicitement en fonction du modèle de configuration.

Les modes d'orchestration du groupe identique vous permettent de mieux contrôler la façon dont les instances de machine virtuelle sont gérées par le groupe identique. Le mode d'orchestration est défini lorsque vous créez le groupe d'échelles et ne peut pas être modifié ou mis à jour ultérieurement. Il existe deux types de modes d'orchestration dans Azure :

  • Orchestration uniforme
  • Orchestration flexible

Orchestration uniforme

Avec l'orchestration uniforme, les groupes identiques de machines virtuelles utilisent un profil ou un modèle de machine virtuelle pour évoluer jusqu'à capacité souhaitée. Bien qu'il existe une certaine possibilité de gérer ou de personnaliser des instances de machine virtuelle individuelles, uniform utilise des instances de VM identiques. Les instances individuelles ne sont pas compatibles avec les commandes de l'API Azure IaaS VM standard, les fonctionnalités de gestion Azure telles que Azure Resource Managerqui balise une ressource avec des autorisations RBAC, Azure Backup ou Récupération de site Azure. Uniform fournit des garanties de haute disponibilité du domaine de pannes lorsqu'il est configuré avec moins de 100 instances. Il est également généralement disponible et prend en charge une gamme complète de gestion et d'orchestration des groupes identiques, y compris l'autoscaling basé sur des métriques, la protection des instances et les mises à niveau automatiques du système d'exploitation.

Flexible Orchestration

Azure offre une expérience unifiée à travers l'écosystème de machines virtuelles Azure. L'orchestration flexible offre des garanties de haute disponibilité (jusqu'à 1 000 machines virtuelles) en répartissant les machines virtuelles sur les domaines de pannes d'une région ou d'une zone de disponibilité. Cela vous permet de faire évoluer votre application tout en maintenant l'isolation du domaine de pannes qui est essentielle pour exécuter des charges de travail basées sur le quorum ou avec état, notamment :

  • Les charges de travail basées sur le quorum.
  • Bases de données Open Source.
  • Applications avec état.[19659073]Services nécessitant une haute disponibilité et à grande échelle.
  • Services qui souhaitent combiner des types de machines virtuelles ou exploiter des machines virtuelles Spot et à la demande.
  • Applications d'ensemble de disponibilité existantes.

Déploiement de VMSS à l'aide d'un modèle ARM

]Qu'est-ce qu'un modèle ARM, demandez-vous ? Pour fournir un peu de contexte, Azure est géré à l'aide d'une API. Pourtant, il était à l'origine géré à l'aide de l'API Azure Service Management ou ASM, qui contrôle les déploiements de « Classic ». Pourtant, l'API Azure Resource Manager ou ARM a remplacé cette API. Les ressources gérées par l'API ARM sont des objets dans Azure tels que des cartes réseau, des machines virtuelles, des bases de données hébergées.

Avantages de l'API ARM

L'API ARM vous permet de déployer plusieurs ressources ensemble en un seul unit et lorsque les déploiements sont de type script idempotent dans Azure. L'utilisateur peut déclarer le type de ressource, le nom à utiliser et les propriétés qu'elle doit avoir. L'API ARM créera un nouvel objet qui correspond à ces détails ou modifiera un objet existant avec le même nom et le même type pour avoir les mêmes propriétés.

Un VMSS vous permet de déployer et de gérer un ensemble de machines virtuelles à mise à l'échelle automatique. Vous pouvez mettre à l'échelle le nombre de machines virtuelles dans l'ensemble de mise à l'échelle manuellement ou définir des règles de mise à l'échelle automatique en fonction des utilisations des ressources telles que le processeur, la demande de mémoire ou le trafic réseau. Un équilibreur de charge Azure distribue ensuite le trafic aux instances de machine virtuelle dans le groupe identique.

Un modèle ARM est un fichier JavaScript Object Notation (JSON) qui définit l'infrastructure et la configuration de votre projet. Le modèle utilise une syntaxe déclarative. Dans la syntaxe déclarative, vous décrivez votre déploiement prévu sans écrire la séquence de commandes de programmation pour créer le déploiement.

Les modèles ARM vous permettent de déployer des groupes de ressources associées. Dans un seul modèle, vous pouvez créer le VMSS, installer des applications et configurer des règles de mise à l'échelle automatique. Grâce à l'utilisation de variables et de paramètres, ce modèle peut être réutilisé pour mettre à jour des jeux d'échelles existants ou créer des jeux d'échelles supplémentaires. Vous pouvez déployer des modèles via le portail Azure, Azure CLI Azure PowerShell ou des pipelines d'intégration continue/livraison continue (CI/CD).

Dans le diagramme ci-dessous, nous pouvons voir comment le modèle Azure ARM est utilisé pour déployer VMSS.

Voyons ce dont le déploiement d'un VMSS a besoin à partir du portail Azure :

À partir du portail Azure, sélectionnez le service « ensemble de machines virtuelles à l'échelle » :

Renseignez le nom du VMSS ainsi que le nom du compte administrateur sur les VM :

Spécifiez le « DNS label » attribué à l'adresse IP publique.

Spécifiez le nombre d'instances dans le groupe identique. La mise à l'échelle peut être définie sur « manuelle » ou « personnalisée ».

Enfin, vérifiez votre configuration et créez le VMSS :

Azure Knowledge en quelques minutes

Vous connaissez maintenant Azure VMSS et les différences entre une machine virtuelle et VMSS. Les instances VMSS peuvent augmenter ou diminuer automatiquement en réponse à la demande ou à un calendrier défini et fournir une haute disponibilité à vos applications, et vous permettre de gérer, configurer et mettre à jour de manière centralisée un grand nombre de machines virtuelles. C'est quelque chose que seule une plate-forme cloud peut fournir avec facilité. Pour plus d'informations sur les services Azure, contactez nos experts dès aujourd'hui.

À propos de l'auteur

Amit Belekar est un administrateur système expérimenté dans la gestion des infrastructures de serveur et des opérations sur les plates-formes Windows. Il a une connaissance de Microsoft Azure (IaaS, PaaS, SaaS). Il travaille actuellement sur Azure et des environnements hébergés dédiés, notamment en fournissant des solutions et en implémentant la conception de projet et la livraison de l'application et des services.

Plus de cet auteur




Source link