Considérations en matière de planification de la capacité du cluster Service Fabric

La planification de la capacité du cluster est importante pour chaque environnement de production Service Fabric. Éléments clés à prendre en compte :

  • Nombre initial et propriétés des types de nœuds de cluster

  • Niveau de durabilité de chaque type de nœud, qui détermine les privilèges de la VM au sein de l’infrastructure Azure

  • Niveau de fiabilité du cluster, qui détermine la stabilité des services système Service Fabric et de la fonction globale du cluster

Cet article vous guidera à travers les points de décision significatifs pour chacun de ces domaines.

Nombre initial et propriétés des types de nœuds de cluster

Un type de nœud définit la taille, le nombre et les propriétés d’un ensemble de nœuds (machines virtuelles) du cluster. Chaque type de nœud qui est défini dans un cluster Service Fabric est mappé à un groupe de machines virtuelles identiques distinct.

Comme chaque type de nœud est un groupe identique distinct, il peut faire l’objet d’une montée ou descente en puissance de manière indépendante, avoir différents jeux de ports ouverts et présenter différentes métriques de capacité. Pour plus d’informations sur la relation entre les types de nœuds et les groupes de machines virtuelles identiques, consultez Types de nœuds de cluster Service Fabric.

Chaque cluster requiert un type de nœud principal, qui exécute des services système essentiels qui fournissent des fonctionnalités de plateforme Service Fabric. Bien qu’il soit possible d’utiliser également des types de nœuds principaux pour exécuter vos applications, il est recommandé de les dédier uniquement à l’exécution des services système.

Les types de nœuds non principaux permettent de définir des rôles d’application (comme les services en frontaux et principaux) et d’isoler physiquement les services au sein d’un cluster. Les clusters Service Fabric peuvent avoir zéro, un ou plusieurs types de nœuds non principaux.

Le type de nœud principal est configuré à l’aide de l’attribut isPrimary sous la définition du type de nœud dans le modèle de déploiement Azure Resource Manager. Pour obtenir la liste complète des propriétés de type de nœud, consultez l’Objet NodeTypeDescription. Par exemple, ouvrez un fichier AzureDeploy.json dans Exemples de cluster Service Fabric et Rechercher sur la page pour rechercher l’objet nodeTypes.

Considérations relatives à la planification du type de nœud

Le nombre de types de nœuds initiaux dépend de l’objectif de votre cluster et des applications et services qui s’y exécutent. Considérez les questions suivantes :

  • Votre application inclut-elle plusieurs services ? Si oui, ces services doivent-ils être publics ou accessibles sur Internet ?

    Les applications standard contiennent un service de passerelle frontale qui reçoit des entrées d’un client, et un ou plusieurs services principaux qui communiquent avec les services frontaux avec des réseaux entre les différents services. Ces cas requièrent généralement trois types de nœuds : un type de nœud principal et deux types de nœuds non principaux (un pour le service frontal et un pour le service principal).

  • Vos services (qui composent votre application) ont-ils des besoins d’infrastructure différents tels qu’une RAM plus volumineuse ou des cycles processeur plus élevés ?

    Souvent, le service frontal peut s’exécuter sur des machines virtuelles plus petites (par exemple, de taille D2) ayant des ports ouverts sur Internet. Les services principaux intensifs doivent s’exécuter sur des machines virtuelles plus grandes (par exemple, de taille D4, D6, D15) qui ne sont pas connectées à Internet. La définition de différents types de nœuds pour ces services vous permet d’utiliser plus efficacement les machines virtuelles Service Fabric sous-jacentes et de les mettre à l’échelle de manière indépendante. Pour plus d’informations sur l’estimation de la quantité de ressources dont vous avez besoin, consultez Planification de la capacité pour les applications Service Fabric

  • L’un de vos services d’application devra-t-il évoluer au-delà de 100 nœuds ?

    Un type de nœud unique ne peut pas évoluer de manière fiable au-delà de 100 nœuds par groupe de machines virtuelles identiques pour les applications Service Fabric. L’exécution de plus de 100 nœuds nécessite des groupes de machines virtuelles identiques supplémentaires (et par conséquent des types de nœuds supplémentaires).

  • Votre cluster sera-t-il déployé sur plusieurs Zones de disponibilité ?

    Service Fabric prend en charge les clusters qui s’étendent sur des Zones de disponibilité en déployant des types de nœuds qui sont épinglés à des zones spécifiques pour assurer une haute disponibilité de vos applications. Les Zones de disponibilité nécessitent une planification supplémentaire du type de nœud et des exigences minimales. Pour plus d’informations, consultez Topologie pour étendre un type de nœud principal sur des zones de disponibilité.

Lorsque vous déterminez le nombre et les propriétés des types de nœuds pour la création initiale de votre cluster, n’oubliez pas que vous pouvez toujours ajouter, modifier ou supprimer des types de nœuds (non principaux) lorsque votre cluster est déployé. Les types de nœuds principaux peuvent également être mis à l’échelle dans les clusters en cours d’exécution. Toutefois, pour ce faire, vous devez créer un nouveau type de nœud, déplacer la charge de travail sur, puis supprimer le type de nœud principal d’origine.

Une autre considération pour les propriétés de votre type de nœud est le niveau de durabilité, qui détermine les privilèges que les VM d'un type de nœud ont au sein de l'infrastructure Azure. Utilisez la taille des VM que vous choisissez pour votre cluster et le nombre d'instances que vous attribuez aux différents types de nœuds pour vous aider à déterminer le niveau de durabilité approprié pour chacun de vos types de nœuds, comme décrit ci-après.

Caractéristiques de durabilité du cluster

Le niveau de durabilité désigne les privilèges que vos VM Service Fabric ont avec l'infrastructure Azure sous-jacente. Ce privilège permet à Service Fabric de suspendre toute demande de l’infrastructure au niveau de la machine virtuelle (par exemple, un redémarrage, une réinitialisation ou une migration) qui influe sur la configuration requise du quorum Service Fabric pour les services système et vos services avec état.

Important

Le niveau de durabilité est défini par type de nœud. Si rien n’est spécifié, le niveau Bronze est utilisé. Les charges de travail de production nécessitent un niveau de durabilité Silver ou Gold pour éviter la perte de données des demandes d’infrastructure au niveau de la machine virtuelle.

Le tableau ci-dessous présente les niveaux de durabilité de Service Fabric, leurs exigences et leurs prix.

Niveau de durabilité Nombre minimal de machines virtuelles exigées Tailles des machines virtuelles prises en charge Mises à jour que vous apportez à votre groupe de machines virtuelles identiques Mises à jour et maintenance lancées par Azure
Or 5 Tailles de nœud complet dédiées à un seul client - tailles de machine virtuelle disponibles Peuvent être différées jusqu’à ce qu’elles soient approuvées par le cluster Service Fabric Peuvent être suspendues pendant 2 heures par domaine de mise à niveau pour accorder du temps supplémentaire pour la récupération de réplicas à partir d’échecs précédents
Argent 5 Machines virtuelles avec un seul cœur ou plus avec un disque SSD local d’au moins 50 Go Peuvent être différées jusqu’à ce qu’elles soient approuvées par le cluster Service Fabric Ne peuvent pas être différées pour quelque durée que ce soit
Bronze 1 Machines virtuelles avec un disque SSD local d’au moins 50 Go Ne sont pas différées par le cluster Service Fabric Ne peuvent pas être différées pour quelque durée que ce soit

Notes

Le nombre minimal de machines virtuelles indiqué ci-dessus est requis pour chaque niveau de durabilité. Nous avons effectué des validations sur place, qui empêcheront la création ou la modification de groupes de machines virtuelles identiques qui ne répondent pas à ces exigences.

Avertissement

Avec la durabilité Bronze, la mise à jour automatique de l'image du système d'exploitation n'est pas disponible. Bien que l'application Patch Orchestration (destinée uniquement aux clusters hébergés non-Azure) ne soit pas recommandée pour les niveaux de durabilité Argent ou supérieurs, il s’agit de votre seule option pour automatiser les mises à jour Windows en ce qui concerne les domaines de mise à niveau de Service Fabric.

Important

Quel que soit le niveau de durabilité, la désallocation d’un groupe de machines virtuelles identiques a pour effet de détruire le cluster.

Bronze

Les types de nœuds s’exécutant avec un niveau de durabilité Bronze n’obtiennent aucun privilège. Cela signifie que les travaux d’infrastructure qui affectent vos charges de travail avec état ne seront ni arrêtés ni différés. Utilisez le niveau de durabilité Bronze pour les types de nœuds qui exécutent uniquement des charges de travail sans état. Pour les charges de travail de production, il est recommandé d’exécuter Silver ou un niveau supérieur.

Argent et Or

Utilisez les niveaux de durabilité Argent ou Or pour tous les types de nœuds qui hébergent des services avec état dont vous prévoyez une diminution fréquente de la taille des instances, si vous préférez que les opérations de déploiement soient retardées et que la capacité soit réduite au profit d’une simplification du processus. Les scénarios de scale-out ne doivent pas affecter votre choix du niveau de durabilité.

Avantages

  • Réduit le nombre d’étapes requises dans une opération de diminution de la taille des instances (les étapes de désactivation du nœud et Remove-ServiceFabricNodeState sont appelées automatiquement).
  • Réduit le risque de perte de données résultant d’une opération de changement de taille de machine virtuelle et d’opérations de l’infrastructure Azure.

Inconvénients

  • Des déploiements sur les groupes de machines virtuelles identiques et d’autres ressources Azure associées peuvent être différés, dépasser le délai d’attente ou être entièrement bloqués par des problèmes au sein de votre cluster ou au niveau de l’infrastructure.
  • Augmente le nombre d’événements du cycle de vie d’un réplica (par exemple, les permutations principales) en raison de l’automatisation des désactivations de nœud durant les opérations de l’infrastructure Azure.
  • Met des nœuds hors service pendant les mises à jour logicielles de la plateforme Azure ou la maintenance du matériel. Vous pouvez voir l’état En cours de désactivation/Désactivé des nœuds pendant ces activités. La capacité de votre cluster est temporairement réduite, mais cela ne devrait pas avoir d’impact sur sa disponibilité ou sur celle de vos applications.

Bonnes pratiques pour les types de nœuds de durabilité Argent et Or

Suivez ces recommandations pour la gestion des types de nœuds avec durabilité Argent ou Or :

  • Veillez à la permanence de l’intégrité de votre cluster et de vos applications, et assurez-vous que les applications répondent à tous les événements de cycle de vie de réplica de service (par exemple, le blocage de la création d’un réplica) en temps opportun.
  • Adoptez des méthodes plus sûres pour la modification des tailles de machine virtuelle (augmentation ou réduction d’échelle). La modification de la taille de la machine virtuelle sur un groupe complet nécessite une planification minutieuse et de la prudence. Pour plus d’informations, consultez Effectuer un scale-up d’un type de nœud Service Fabric
  • Conservez au minimum cinq nœuds pour tout groupe de machines virtuelles identiques sur lequel le niveau de durabilité Gold ou Silver est activé. Votre cluster entrera en état d’erreur si vous passez en dessous de ce seuil, et vous devrez nettoyer manuellement l’état (Remove-ServiceFabricNodeState) des nœuds supprimés.
  • Chaque groupe de machines virtuelles identiques avec le niveau de durabilité Silver ou Gold doit être mappé à son propre type de nœud dans le cluster Service Fabric. Le mappage de plusieurs groupes de machines virtuelles identiques à un type de nœud unique empêche le fonctionnement correct de la coordination entre le cluster Service Fabric et l’infrastructure Azure.
  • Ne supprimez pas d’instances de machine virtuelle aléatoires. Utilisez toujours la fonctionnalité de scale-in du groupe de machines virtuelles identiques. La suppression d’instances de machine virtuelle aléatoires risque de créer des déséquilibres au sein de l’instance de machine virtuelle répartie sur les domaines de mise à niveau et sur les domaines d’erreur. Ce déséquilibre peut nuire à la capacité du système à équilibrer correctement la charge entre les instances de service/réplicas de service.
  • Si vous utilisez la fonctionnalité Mise à l’échelle automatique, définissez les règles de façon à ce que le scale-in (suppression d’instances de machine virtuelle) soit effectué nœud après nœud. La mise à l’échelle de plusieurs instances en même temps présente des risques.
  • En cas de suppression ou de désallocation de machines virtuelles sur le type de nœud principal, ne réduisez jamais le nombre de machines virtuelles d’allouées en dessous de ce qu’exige le niveau de fiabilité. Ces opérations sont bloquées pour une durée indéterminée dans un groupe identique avec un niveau de durabilité Silver ou Gold.

Modification des niveaux de durabilité

Dans le cadre de certaines contraintes, le niveau de durabilité du type de nœud peut être ajusté :

  • Les types de nœuds avec des niveaux de durabilité Argent ou Or ne peuvent pas être rétrogradés à Bronze.
  • La rétrogradation des types de nœuds avec un niveau de durabilité Or vers Argent n’est pas prise en charge.
  • La mise à niveau de Bronze vers Argent ou Or peut prendre quelques heures.
  • Lorsque vous modifiez le niveau de durabilité, veillez à le mettre à jour à la fois dans la configuration d’extension Service Fabric de votre ressource de groupe de machines virtuelles identiques et dans la définition du type de nœud dans votre ressource de cluster Service Fabric. Ces valeurs doivent correspondre.

Une autre considération à prendre en compte lorsque la planification de la capacité est le niveau de fiabilité de votre cluster, qui détermine la stabilité des services système et de votre cluster global, comme décrit dans la section suivante.

Caractéristiques de fiabilité du cluster

Le niveau de fiabilité du cluster détermine le nombre de réplicas des services système en cours d’exécution sur le type de nœud principal du cluster. Plus le nombre de réplicas est grand, plus les services système sont fiables (et par conséquent, le cluster dans son ensemble).

Important

Le niveau de fiabilité est défini au niveau du cluster et détermine le nombre minimal de nœuds du type de nœud principal. Les charges de travail de production nécessitent un niveau de fiabilité Argent (supérieur ou égal à cinq nœuds) ou supérieur.

Le niveau de fiabilité peut avoir les valeurs suivantes :

  • Platine : les services système s’exécutent avec un nombre de jeux de réplicas cible égal à neuf
  • Or : les services système s’exécutent avec un nombre de jeux de réplicas cible égal à sept
  • Argent : les services système s’exécutent avec un nombre de jeux de réplicas cible égal à cinq
  • Bronze : les services système s’exécutent avec un nombre de jeux de réplicas cible égal à trois

Voici la recommandation sur le choix du niveau de fiabilité. Le nombre de nœuds initiaux est également défini sur le nombre minimal de nœuds d’un niveau de fiabilité.

Nombre de nœuds Niveau de fiabilité
1 Ne spécifiez pas le paramètre reliabilityLevel : le système le calcule.
3 Bronze
5 ou 6 Argent
7 ou 8 Or
9 et plus Platinum

Lorsque vous augmentez ou réduisez la taille de votre cluster (la somme des instances de machine virtuelle dans tous les types de nœuds), pensez à mettre à jour la fiabilité de votre cluster d’un niveau à l’autre. Cette opération déclenche les mises à niveau de cluster nécessaires pour modifier le nombre de jeux de réplicas des services système. Attendez que la mise à niveau en cours se termine avant d’apporter d’autres modifications au cluster, comme l’ajout de nœuds. Vous pouvez surveiller la progression de la mise à niveau avec Service Fabric Explorer ou en exécutant Get-ServiceFabricClusterUpgrade

Planification des capacités de fiabilité

Les besoins en capacité de votre cluster sont déterminés par vos exigences spécifiques en matière de charge de travail et de fiabilité. Cette section fournit des conseils généraux pour vous aider à prendre en main la planification de la capacité.

Tailles des machines virtuelles

Pour les charges de travail de production, la taille de référence de machine virtuelle recommandée est Standard D2_V2 (ou équivalent) avec un minimum de 50 Go de mémoire sur disque SSD local 2 cœurs et 4 Gio de mémoire. Il est recommandé d’utiliser un disque SSD local de 50 Go au minimum, mais certaines charges de travail (comme celles qui exécutent des conteneurs Windows) nécessitent des disques plus volumineux.

Par défaut, le SSD local est configuré sur 64 Go. La taille peut être configurée dans le paramètre MaxDiskQuotaInMB de la section Diagnostics des paramètres de cluster.

Pour obtenir des instructions sur l’ajustement des paramètres d’un cluster hébergé dans Azure, consultez Mettre à niveau la configuration d’un cluster dans Azure.

Pour obtenir des instructions sur l’ajustement des paramètres d’un cluster autonome hébergé dans Windows, consultez Mettre à niveau la configuration d’un cluster autonome.

Lorsque vous choisissez d’autres tailles de machines virtuelles pour les charges de travail de production, gardez à l’esprit les contraintes suivantes :

  • Les tailles de machine virtuelle à cœur partiel/unique comme Standard A0 ne sont pas prises en charge.
  • La série-A de tailles de machines virtuelles n’est pas prise en charge pour des raisons de performances.
  • Les machines virtuelles de faible priorité ne sont pas prises en charge.
  • Les références SKU Burstable de série B ne sont pas prises en charge.

Type de nœud principal

Les charges de travail de production sur Azure nécessitent au minimum cinq nœuds principaux (instances de machine virtuelle) et un niveau de fiabilité Argent. Il est recommandé de dédier le type de nœud principal des clusters aux services système et d’utiliser des contraintes de placement pour déployer votre application sur des types de nœuds secondaires.

Les charges de travail de test dans Azure peuvent exécuter au minimum un ou trois nœuds principaux. Pour configurer un cluster à un nœud, assurez-vous que le paramètre reliabilityLevel est omis dans votre modèle Resource Manager (spécifier une valeur de chaîne vide pour reliabilityLevel n’est pas suffisant). Si vous configurez le cluster à un nœud via le portail Azure, la configuration est automatiquement prise en charge.

Avertissement

Les clusters à un nœud s’exécutent avec une configuration spéciale sans fiabilité et lorsque la mise à l’échelle n’est pas prise en charge.

types de nœuds non principaux

Le nombre minimal de nœuds pour un type de nœud non principal dépend du niveau de durabilité spécifique au type de nœud. Vous devez planifier le nombre de nœuds (et le niveau de durabilité) en fonction du nombre de réplicas des applications ou des services que vous souhaitez exécuter pour le type de nœud, et selon que la charge de travail est avec ou sans état. Gardez à l’esprit que vous pouvez augmenter ou diminuer le nombre de machines virtuelles dans un type de nœud à chaque fois que vous avez déployé le cluster.

Charges de travail avec état

Pour les charges de travail de production avec état basées sur les collections ou les acteurs fiables Service Fabric, un nombre de réplicas cibles minimum de cinq est recommandé. Cela signifie qu’à l’état stationnaire, vous vous retrouvez avec un réplica (issu d’un jeu de réplicas) dans chaque domaine d’erreur et de mise à niveau. En général, utilisez le niveau de fiabilité que vous avez défini pour les services système comme guide pour le nombre de réplicas que vous utilisez pour vos services avec état.

Charges de travail sans état

Pour les charges de travail de production sans état, la taille minimale prise en charge pour le type de nœud non principal est de trois pour maintenir le quorum, mais une taille de nœud de type cinq est recommandée.

Étapes suivantes

Avant de configurer votre cluster, passez en revue les stratégies de mise à niveau de clusterNot Allowed pour limiter la nécessité de recréer votre cluster ultérieurement en raison des paramètres de configuration du système non modifiables.

Pour plus d’informations sur la planification d’un cluster, consultez :