Partager via


Révision d’Azure Well-Architected Framework - Azure Service Fabric

Azure Service Fabric est une plateforme de systèmes distribués qui facilite la création de packages pour déployer et gérer des microservices et des conteneurs fiables et évolutifs. Ces ressources sont déployées sur un ensemble connecté au réseau de machines virtuelles ou physiques, qui est appelé cluster.

Il existe deux modèles de clusters dans Azure Service Fabric : clusters standard et clusters managés.

Les clusters standard vous obligent à définir une ressource de cluster en même temps qu’un certain nombre de ressources de prise en charge. Ces ressources doivent être configurées correctement lors du déploiement et gérées correctement tout au long du cycle de vie du cluster. Sinon, le cluster et vos services ne fonctionnent pas correctement.

Les clusters managés simplifient vos opérations de déploiement et de gestion. Le modèle de cluster managé se compose d’une seule ressource de cluster managé Service Fabric qui encapsule et extrait les ressources sous-jacentes.

Cet article traite principalement du modèle de cluster managé pour plus de simplicité. Toutefois, les appels sont effectués pour toute considération particulière qui s’applique au modèle de cluster standard.

Dans cet article, vous allez découvrir les meilleures pratiques architecturales pour Azure Service Fabric. Les conseils sont basés sur les cinq piliers de l’excellence architecturale :

  • Fiabilité
  • Sécurité
  • Optimisation des coûts
  • Excellence opérationnelle
  • Efficacité des performances

Prérequis

  • Comprendre les piliers well-architected Framework peut aider à produire une architecture cloud de haute qualité, stable et efficace. Consultez la page de présentation d’Azure Well-Architected Framework pour passer en revue les cinq piliers de l’excellence architecturale.

  • L’examen des concepts fondamentaux d’Azure Service Fabric et de l’architecture de microservice peut vous aider à comprendre le contexte des meilleures pratiques fournies dans cet article.

Fiabilité

Les sections suivantes couvrent les considérations relatives à la conception et les recommandations de configuration, spécifiques à Azure Service Fabric et à la fiabilité.

Lorsque vous discutez de la fiabilité avec Azure Service Fabric, il est important de faire la distinction entre la fiabilité du cluster et la fiabilité des charges de travail. La fiabilité du cluster est une responsabilité partagée entre l’administrateur du cluster Service Fabric et son fournisseur de ressources, tandis que la fiabilité de la charge de travail est le domaine d’un développeur. Azure Service Fabric a des considérations et des recommandations pour ces deux rôles.

Dans la liste de contrôle de conception et la liste des recommandations ci-dessous, les appels sont effectués pour indiquer si chaque choix s’applique à l’architecture de cluster, à l’architecture de charge de travail ou aux deux.

Pour plus d’informations sur la fiabilité du cluster Azure Service Fabric, consultez la documentation de planification de la capacité.

Pour plus d’informations sur la fiabilité de la charge de travail Azure Service Fabric, référencez le sous-système de fiabilité inclus dans l’architecture Service Fabric.

Check-list pour la conception

Lorsque vous effectuez des choix de conception pour Azure Service Fabric, passez en revue les principes de conception pour ajouter la fiabilité à l’architecture.

  • Architecture de cluster : Utilisez la référence SKU Standard pour les scénarios de production. Cluster standard : Utilisez le niveau de durabilité Silver (5 machines virtuelles) ou supérieur pour les scénarios de production.
  • Architecture de cluster : pour les charges de travail critiques, envisagez d’utiliser Zones de disponibilité pour vos clusters Service Fabric.
  • Architecture de cluster : pour les scénarios de production, utilisez l’équilibreur de charge de niveau Standard. Les clusters gérés créent un Azure Load Balancer public Standard Load Balancer et un nom de domaine complet avec une adresse IP publique statique pour les types de nœuds principal et secondaires. Vous pouvez également apporter votre propre équilibreur de charge, qui prend en charge les équilibreurs de charge SKU De base et Standard.
  • Architecture de cluster : créez des types de nœuds secondaires supplémentaires pour vos charges de travail.

Recommandations

Explorez le tableau de recommandations suivant pour optimiser votre configuration d’Azure Service Fabric pour la fiabilité du service :

Recommandation pour Azure Service Fabric Avantage
Architecture de cluster : Utilisez la référence SKU Standard pour les scénarios de production. Ce niveau garantit la fiabilité du cluster par le fournisseur de ressources. Cluster standard : un cluster managé par référence SKU Standard fournit l’équivalent du niveau de durabilité Silver. Pour ce faire, vous devez utiliser 5 machines virtuelles (ou plus) à l’aide du modèle de cluster standard.
Architecture de cluster : envisagez d’utiliser Zones de disponibilité pour vos clusters Service Fabric. Un cluster managé Service Fabric prend en charge les déploiements qui s’étendent sur plusieurs zones de disponibilité pour assurer la résilience des zones. Cette configuration garantit la haute disponibilité des services système critiques et de vos applications afin de les protéger contre les points de défaillance uniques.
Architecture de cluster : envisagez d’utiliser Azure Gestion des API pour exposer et décharger les fonctionnalités de coupe croisée pour les API hébergées sur le cluster. Gestion des API peut s’intégrer directement à Service Fabric.
Architecture de la charge de travail : pour les scénarios de charge de travail avec état, envisagez d’utiliser Reliable Services. Le modèle Reliable Services permet à vos services de rester à jour même dans des environnements peu fiables où vos machines échouent ou rencontrent des problèmes réseau, ou dans les cas où les services eux-mêmes rencontrent des erreurs et se bloquent ou échouent. Pour les services avec état, l’état est conservé même en cas de panne du réseau ou d’autres incidents.

Pour plus de suggestions, consultez Principes du pilier de fiabilité.

Sécurité

Les sections suivantes traitent des considérations relatives à la conception et aux recommandations de configuration, spécifiques à Azure Service Fabric et à la sécurité.

Lorsque vous discutez de la sécurité avec Azure Service Fabric, il est important de faire la distinction entre la sécurité du cluster et la sécurité de la charge de travail. La sécurité du cluster est une responsabilité partagée entre l’administrateur du cluster Service Fabric et son fournisseur de ressources, tandis que la sécurité de la charge de travail est le domaine d’un développeur. Azure Service Fabric a des considérations et des recommandations pour ces deux rôles.

Dans la liste de contrôle de conception et la liste des recommandations ci-dessous, les appels sont effectués pour indiquer si chaque choix s’applique à l’architecture de cluster, à l’architecture de charge de travail ou aux deux.

Pour plus d’informations sur la sécurité du cluster Azure Service Fabric, consultez les scénarios de sécurité de cluster Service Fabric.

Pour plus d’informations sur la sécurité des charges de travail Azure Service Fabric, référencez l’application Service Fabric et la sécurité des services.

Check-list pour la conception

Lorsque vous effectuez des choix de conception pour Azure Service Fabric, passez en revue les principes de conception pour ajouter la sécurité à l’architecture.

  • Architecture du cluster : vérifiez que les groupes de sécurité réseau (NSG) sont configurés pour restreindre le flux de trafic entre les sous-réseaux et les types de nœuds. Vérifiez que les ports appropriés sont ouverts pour le déploiement d’applications et les charges de travail.
  • Architecture du cluster : lors de l’utilisation du magasin de secrets Service Fabric pour distribuer des secrets, utilisez un certificat de chiffrement de données distinct pour chiffrer les valeurs.
  • Architecture du cluster : déployez des certificats clients en les ajoutant à Azure Key Vault et en référençant l’URI dans votre déploiement.
  • Architecture du cluster : activez l’intégration de Microsoft Entra pour votre cluster pour vous assurer que les utilisateurs peuvent accéder à Service Fabric Explorer à l’aide de leurs informations d’identification Microsoft Entra. Ne distribuez pas les certificats clients de cluster entre les utilisateurs pour accéder à l’Explorateur.
  • Architecture du cluster : pour l’authentification du client, utilisez les certificats clients en lecture seule et/ou l’authentification Microsoft Entra.
  • Architectures de cluster et de charge de travail : créez un processus pour surveiller la date d’expiration des certificats clients.
  • Architectures de cluster et de charge de travail : conservez des clusters distincts pour le développement, la préproduction et la production.

Recommandations

Tenez compte des recommandations suivantes pour optimiser votre configuration Azure Service Fabric pour la sécurité :

Recommandation pour Azure Service Fabric Avantage
Architecture du cluster : vérifiez que les groupes de sécurité réseau (NSG) sont configurés pour restreindre le flux de trafic entre les sous-réseaux et les types de nœuds. Par exemple, vous pouvez avoir une instance de Gestion des API (un sous-réseau), un sous-réseau frontal (exposant directement un site web) et un sous-réseau principal (accessible uniquement au serveur frontal).
Architecture du cluster : déployez des certificats Key Vault sur des groupes de machines virtuelles identiques de cluster Service Fabric. La centralisation du stockage des secrets d’application dans Azure Key Vault vous permet de contrôler la distribution de ces secrets. Key Vault réduit considérablement les risques de fuite accidentelle des secrets.
Architecture du cluster : appliquez une liste de contrôle d’accès (ACL) à votre certificat client pour votre cluster Service Fabric. L’utilisation d’une liste de contrôle d’accès fournit un niveau d’authentification supplémentaire.
Architecture du cluster : utilisez des demandes de ressources et des limites pour régir l’utilisation des ressources sur les nœuds de votre cluster. L’application de limites de ressources permet de s’assurer qu’un service ne consomme pas trop de ressources et ne manque pas d’autres services.
Architecture de la charge de travail : chiffrer les valeurs secrètes du package Service Fabric. Le chiffrement sur vos valeurs secrètes fournit un niveau de sécurité supplémentaire.
Architecture de la charge de travail : incluez des certificats clients dans les applications Service Fabric. Le fait que vos applications utilisent des certificats clients pour l’authentification offre des opportunités de sécurité au niveau du cluster et de la charge de travail.
Architecture de la charge de travail : authentifier des applications Service Fabric auprès des ressources Azure à l’aide de l’identité managée. L’utilisation de l’identité managée vous permet de gérer en toute sécurité les informations d’identification de votre code pour l’authentification auprès de différents services sans les enregistrer localement sur une station de travail de développeur ou dans le contrôle de code source.
Architectures de cluster et de charge de travail : suivez les bonnes pratiques service Fabric lors de l’hébergement d’applications non approuvées. Le suivi des meilleures pratiques fournit une norme de sécurité à suivre.

Pour plus de suggestions, consultez Principes du pilier de sécurité.

Azure Advisor vous aide à garantir et à améliorer la sécurité d’Azure Service Fabric. Vous pouvez consulter les recommandations de la section Azure Advisor de cet article.

Définitions de stratégies

Azure Policy permet de maintenir les normes organisationnelles et d’évaluer la conformité entre vos ressources. Gardez à l’esprit les stratégies intégrées suivantes lors de la configuration d’Azure Service Fabric :

  • Les clusters Service Fabric doivent avoir la propriété ClusterProtectionLevel définie sur EncryptAndSign. Il s’agit de la valeur par défaut pour les clusters managés et n’est pas modifiable. Cluster standard : veillez à définir ClusterProtectionLevel sur EncryptAndSign.
  • Les clusters Service Fabric doivent uniquement utiliser l’ID Microsoft Entra pour l’authentification du client.

Toutes les définitions de stratégie intégrées liées à Azure Service Fabric sont répertoriées dans les stratégies intégrées - Service Fabric.

Optimisation des coûts

Les sections suivantes couvrent les considérations relatives à la conception et les recommandations de configuration, spécifiques à Azure Service Fabric et à l’optimisation des coûts.

Lorsque vous discutez de l’optimisation des coûts avec Azure Service Fabric, il est important de faire la distinction entre le coût des ressources de cluster et le coût des ressources de charge de travail. Les ressources de cluster sont une responsabilité partagée entre l’administrateur du cluster Service Fabric et son fournisseur de ressources, tandis que les ressources de charge de travail sont le domaine d’un développeur. Azure Service Fabric a des considérations et des recommandations pour ces deux rôles.

Dans la liste de contrôle de conception et la liste des recommandations ci-dessous, les appels sont effectués pour indiquer si chaque choix s’applique à l’architecture de cluster, à l’architecture de charge de travail ou aux deux.

Pour optimiser les coûts du cluster, accédez à la calculatrice de prix Azure et sélectionnez Azure Service Fabric dans les produits disponibles. Vous pouvez tester différentes configurations et plans de paiement dans la calculatrice.

Pour plus d’informations sur la tarification des charges de travail Azure Service Fabric, consultez l’exemple de processus de calcul des coûts pour la planification des applications.

Check-list pour la conception

Lorsque vous effectuez des choix de conception pour Azure Service Fabric, passez en revue les principes de conception pour optimiser le coût de votre architecture.

  • Architecture du cluster : sélectionnez la référence SKU de machine virtuelle appropriée.
  • Architecture du cluster : utilisez le type et la taille de nœud appropriés.
  • Architectures de cluster et de charge de travail : Utilisez le niveau et la taille de disque managé appropriés.

Recommandations

Explorez le tableau de recommandations suivant pour optimiser votre configuration Azure Service Fabric pour les coûts :

Recommandation pour Azure Service Fabric Avantage
Architecture du cluster : évitez les références SKU de machine virtuelle avec des offres de disque temporaire. Service Fabric utilise des disques managés par défaut. Par conséquent, l’évitement des offres de disques temporaires garantit que vous ne payez pas pour les ressources inutiles.
Architecture du cluster : si vous devez sélectionner une référence SKU de machine virtuelle pour des raisons de capacité et qu’il se produit pour offrir un disque temporaire, envisagez d’utiliser la prise en charge de disque temporaire pour vos charges de travail sans état. Tirer le meilleur parti des ressources que vous payez. L’utilisation d’un disque temporaire au lieu d’un disque managé peut réduire les coûts des charges de travail sans état.
Architectures de cluster et de charge de travail : aligner la sélection de référence SKU et la taille du disque managé avec les exigences en matière de charge de travail. La mise en correspondance de votre sélection à vos demandes de charge de travail garantit que vous ne payez pas pour les ressources inutiles.

Pour plus de suggestions, consultez Principes du pilier d’optimisation des coûts.

Excellence opérationnelle

Les sections suivantes couvrent les considérations relatives à la conception et les recommandations de configuration, spécifiques à Azure Service Fabric et à l’excellence opérationnelle.

Lorsque vous discutez de la sécurité avec Azure Service Fabric, il est important de faire la distinction entre l’opération de cluster et l’opération de charge de travail. L’opération de cluster est une responsabilité partagée entre l’administrateur du cluster Service Fabric et son fournisseur de ressources, tandis que l’opération de charge de travail est le domaine d’un développeur. Azure Service Fabric a des considérations et des recommandations pour ces deux rôles.

Dans la liste de contrôle de conception et la liste des recommandations ci-dessous, les appels sont effectués pour indiquer si chaque choix s’applique à l’architecture de cluster, à l’architecture de charge de travail ou aux deux.

Check-list pour la conception

Lorsque vous effectuez des choix de conception pour Azure Service Fabric, passez en revue les principes de conception pour l’excellence opérationnelle.

  • Architecture du cluster : préparer une solution de supervision de cluster.
  • Architecture du cluster : passez en revue les stratégies d’intégrité du cluster dans le modèle d’intégrité Service Fabric.
  • Architecture de la charge de travail : préparer une solution de supervision d’application.
  • Architecture de la charge de travail : passez en revue les stratégies d’intégrité des types d’application et de service dans le modèle d’intégrité Service Fabric.
  • Architectures de cluster et de charge de travail : préparer une solution de supervision d’infrastructure.
  • Architectures de cluster et de charge de travail : concevez votre cluster avec des pipelines de build et de mise en production pour l’intégration et le déploiement continus.

Recommandations

Explorez le tableau de recommandations suivant pour optimiser votre configuration d’Azure Service Fabric pour l’excellence opérationnelle :

Recommandation pour Azure Service Fabric Avantage
Architecture de la charge de travail : utilisez Application Insights pour surveiller vos charges de travail. Application Insights s’intègre à la plateforme Azure, y compris Service Fabric.
Architectures de cluster et de charge de travail : créez un processus pour surveiller la date d’expiration des certificats clients. Par exemple, Key Vault propose une fonctionnalité qui envoie un e-mail lorsque x% de la durée de vie du certificat s’est écoulée.
Architectures de cluster et de charge de travail : pour les clusters de préproduction, utilisez Azure Chaos Studio pour extraire l’interruption du service sur une défaillance d’instance de groupe de machines virtuelles identiques. La pratique des scénarios d’interruption de service vous aidera à comprendre ce qui est à risque dans votre infrastructure et comment atténuer le mieux les problèmes s’ils se produisent.
Architectures de cluster et de charge de travail : Utilisez Azure Monitor pour surveiller les événements d’infrastructure de cluster et de conteneur. Azure Monitor s’intègre bien à la plateforme Azure, notamment Service Fabric.
Architectures de cluster et de charge de travail : utilisez Azure Pipelines pour votre solution d’intégration et de déploiement continue. Azure Pipelines s’intègre bien à la plateforme Azure, notamment Service Fabric.

Pour plus de suggestions, consultez Principes du pilier de l’excellence opérationnelle.

Efficacité des performances

La section suivante décrit les recommandations de configuration, spécifiques à Azure Service Fabric et à l’efficacité des performances.

Lorsque vous discutez de la sécurité avec Azure Service Fabric, il est important de faire la distinction entre l’opération de cluster et l’opération de charge de travail. Les performances du cluster sont une responsabilité partagée entre l’administrateur du cluster Service Fabric et son fournisseur de ressources, tandis que les performances de la charge de travail sont le domaine d’un développeur. Azure Service Fabric a des considérations et des recommandations pour ces deux rôles.

Dans la liste de contrôle de conception et la liste des recommandations ci-dessous, les appels sont effectués pour indiquer si chaque choix s’applique à l’architecture de cluster, à l’architecture de charge de travail ou aux deux.

Pour plus d’informations sur la façon dont Azure Service Fabric peut réduire les problèmes de performances de votre charge de travail avec les compteurs de performances Service Fabric, consultez Meilleures pratiques en matière de surveillance et de diagnostic pour Azure Service Fabric.

Check-list pour la conception

  • Architecture du cluster : excluez les processus Service Fabric de Windows Defender pour améliorer les performances.
  • Architecture du cluster : sélectionnez la référence SKU de machine virtuelle appropriée.
  • Architecture de la charge de travail : déterminez le modèle de programmation que vous utiliserez pour vos services.
  • Architectures de cluster et de charge de travail : Utilisez le niveau et la taille de disque managé appropriés.

Recommandations

Tenez compte des recommandations suivantes pour optimiser votre configuration Azure Service Fabric pour optimiser l’efficacité des performances :

Recommandation pour Azure Service Fabric Avantage
Architecture du cluster : excluez les processus Service Fabric de Windows Defender pour améliorer les performances. Par défaut, l’antivirus Windows Defender est installé sur Windows Server 2016 et 2019. Pour réduire tout impact sur les performances et la surcharge de consommation des ressources encourues par Windows Defender, et si vos stratégies de sécurité vous permettent d’exclure des processus et des chemins d’accès pour les logiciels open source, vous pouvez exclure.
Architecture du cluster : envisagez d’utiliser la mise à l’échelle automatique pour votre cluster. La mise à l’échelle automatique offre une grande élasticité et permet l’ajout ou la réduction des nœuds à la demande sur un type de nœud secondaire. Ce comportement automatisé et élastique réduit les frais généraux dus à la gestion et l’impact potentiel sur l’entreprise en surveillant et en optimisant le nombre de nœuds traitant votre charge de travail.
Architecture de cluster : envisagez d’utiliser la mise en réseau accélérée. La mise en réseau accélérée permet un chemin hautes performances qui contourne l’hôte du chemin de données, ce qui réduit la latence, la gigue et l’utilisation du processeur pour les charges de travail réseau les plus exigeantes.
Architecture du cluster : envisagez d’utiliser le chiffrement sur l’hôte au lieu d’Azure Disk Encryption (ADE). Cette méthode de chiffrement s’améliore sur ADE en prenant en charge tous les types et images du système d’exploitation, y compris les images personnalisées, pour vos machines virtuelles en chiffrant les données dans le service Stockage Azure.
Architecture de la charge de travail : passez en revue les modèles de programmation Service Fabric pour déterminer quel modèle convient le mieux à vos services. Service Fabric prend en charge plusieurs modèles de programmation. Chacun d’eux présente ses propres avantages et inconvénients. Connaître les modèles de programmation disponibles peut vous aider à faire les meilleurs choix pour concevoir vos services.
Architecture de la charge de travail : tirez parti des microservices faiblement couplés pour vos charges de travail, le cas échéant. L’utilisation de microservices vous permet de tirer le meilleur parti des fonctionnalités de Service Fabric.
Architecture de la charge de travail : tirez parti de l’architecture basée sur les événements pour vos charges de travail, le cas échéant. L’utilisation de l’architecture pilotée par les événements vous permet de tirer le meilleur parti des fonctionnalités de Service Fabric.
Architecture de la charge de travail : tirez parti du traitement en arrière-plan pour vos charges de travail, le cas échéant. L’utilisation du traitement en arrière-plan vous permet de tirer le meilleur parti des fonctionnalités de Service Fabric.
Architectures de cluster et de charge de travail : passez en revue les différentes façons dont vous pouvez mettre à l’échelle votre solution dans Service Fabric. Vous pouvez utiliser la mise à l’échelle pour activer l’utilisation maximale des ressources pour votre solution.

Pour plus de suggestions, consultez Principes du pilier efficacité des performances.

Recommandations Azure Advisor

Azure Advisor est un conseiller cloud personnalisé qui vous aide à suivre les bonnes pratiques pour optimiser vos déploiements Azure. Voici quelques recommandations qui peuvent vous aider à améliorer la fiabilité, la sécurité, l’efficacité des coûts, les performances et l’excellence opérationnelle lors de l’utilisation d’Azure Service Fabric.

Sécurité

  • Les clusters Service Fabric doivent avoir la propriété ClusterProtectionLevel définie sur EncryptAndSign. Il s’agit de la valeur par défaut pour les clusters managés et n’est pas modifiable. Cluster standard : veillez à définir ClusterProtectionLevel sur EncryptAndSign.
  • Les clusters Service Fabric doivent uniquement utiliser l’ID Microsoft Entra pour l’authentification du client.

Ressources supplémentaires

Consultez l’article sur les options de configuration de cluster managé Azure Service Fabric pour obtenir la liste de toutes les options dont vous disposez lors de la création et de la maintenance de votre cluster.

Passez en revue les principes fondamentaux de l’architecture d’application Azure pour obtenir des conseils sur le développement de vos charges de travail. Bien que Service Fabric puisse être utilisé uniquement comme plateforme d’hébergement de conteneurs, l’utilisation de charges de travail bien conçues tire parti des fonctionnalités complètes de Service Fabric.

Étapes suivantes

Utilisez ces recommandations lorsque vous créez votre cluster managé Service Fabric à l’aide d’un modèle ARM ou via l’Portail Azure :