Partager via


Perspective Well-Architected Framework sur Azure Service Fabric

Azure Service Fabric est une plateforme de systèmes distribués qui facilite l’empaquetage, le déploiement et la gestion de microservices et de conteneurs évolutifs et fiables. Ces ressources sont déployées sur un ensemble connecté au réseau de machines virtuelles ou physiques, appelée cluster.

Cet article part du principe que, en tant qu’architecte, vous avez examiné l’arbre de décision de calcul et choisi Service Fabric comme plateforme de calcul pour votre charge de travail. Les conseils fournis dans cet article offrent des recommandations architecturales alignées avec les principes des piliers du Framework Well-Architected.

Important

Comment utiliser ce guide

Chaque section dispose d’une liste de contrôle de conception qui présente des domaines d’intérêt architecturaux, ainsi que des stratégies de conception localisées dans l’étendue technologique.

Sont également incluses les recommandations relatives aux fonctionnalités technologiques qui peuvent aider à matérialiser ces stratégies. Les recommandations ne représentent pas une liste exhaustive de toutes les configurations disponibles pour Azure Service Fabric et ses dépendances. Au lieu de cela, ils énumèrent les principales recommandations mappées aux perspectives de conception. Utilisez les recommandations pour créer votre preuve de concept ou pour optimiser vos environnements existants.

Architecture fondamentale qui illustre les recommandations clés : architecture de microservices sur Azure Service Fabric.

Champ d'application de la technologie

Cette révision se concentre sur les décisions liées aux ressources Azure suivantes :

  • Service Fabric

Remarque

Ce guide de service s’appuie sur des conseils trouvés dans le guide de service des machines virtuelles et des ensembles de mise à l'échelle. Les nœuds Service Fabric sont soutenus par des groupes de machines virtuelles identiques. Reportez-vous à ce guide de service pour obtenir des recommandations sur l’exploitation du serveur principal de calcul pour vos nœuds Service Fabric.

Lorsque vous discutez des considérations architecturales et des recommandations de configuration avec Azure Service Fabric, il est important de faire la distinction entre le cluster et la charge de travail . La configuration du cluster est une responsabilité partagée entre l’administrateur du cluster Service Fabric et son fournisseur de ressources, tandis que la configuration 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 dans la liste de recommandations ci-dessous, des indications sont faites pour indiquer si chaque option s'applique à l'architecture de cluster, à l'architecture de charge de travail ou aux deux.

Fiabilité

L’objectif du pilier fiabilité est de fournir des fonctionnalités continues en construisant une résilience suffisante et la capacité de récupération rapide après des défaillances.

principes de conception de fiabilité fournir une stratégie de conception de haut niveau appliquée pour les composants individuels, les flux système et le système dans son ensemble.

Liste de contrôle de conception

Commencez votre stratégie de conception sur la base de la liste de contrôle de la revue de conception pour la fiabilité. Déterminez sa pertinence pour vos besoins métier tout en gardant à l’esprit les [aspects spécifiques à l’offre]. Étendez la stratégie pour inclure davantage d’approches en fonction des besoins.

  • (Cluster) Déterminez le niveau de fiabilité approprié pour votre cluster en fonction de la métrique cible globale de fiabilité de la charge de travail. Le niveau de fiabilité du cluster que vous identifiez détermine le nombre minimal de nœuds à déployer pour votre type de nœud principal. Consultez la documentation de planification de la capacité pour en savoir plus sur la prise de ces déterminations.
  • (Cluster) Pour les charges de travail critiques, envisagez d’utiliser zones de disponibilité pour vos clusters Service Fabric.
  • (Cluster) Pour les scénarios de production, utilisez la référence SKU de cluster managé Standard avec un niveau de durabilité Silver (5 machines virtuelles) ou supérieur. Cette référence SKU offre des fonctionnalités de fiabilité plus élevées que la référence SKU de base, qui doit être utilisée pour les scénarios de non-production.
  • (Cluster) Créez des types de nœuds secondaires supplémentaires pour vos charges de travail afin d’isoler différents types de charges de travail. Cela peut vous aider à séparer les services frontaux des services principaux, ce qui vous permet de gérer et de mettre à l’échelle ces services indépendamment. Chaque type de nœud est soutenu par son propre ensemble d'échelles.

Recommandations

Recommandation Avantage
(Cluster) API Management (APIM) peut s’intégrer directement à Service Fabric. Envisagez de l’utiliser pour exposer et décharger des fonctionnalités croisées pour les API hébergées sur le cluster. APIM est une passerelle d’application riche en fonctionnalités qui vous permet de publier, de gérer et de surveiller en toute sécurité les API déployées sur le cluster Service Fabric.
(Charge de travail) Pour les scénarios de charge de travail avec état, envisagez d’utiliser Reliable Services (Services fiables). Le modèle Reliable Services permet à vos services de rester à jour lorsque vous rencontrez des défaillances système ou des problèmes réseau, ou dans les cas où les services eux-mêmes rencontrent des dysfonctionnements. Pour les services avec état, votre état est conservé en cas de dysfonctionnement.

Sécurité

L'objectif du pilier Sécurité est de fournir des garanties de confidentialité, d'intégrité et de disponibilité à la charge de travail.

Les principes de conception de sécurité fournissent une stratégie de conception de haut niveau pour atteindre ces objectifs en appliquant des approches à la conception technique de Service Fabric.

Liste de contrôle de conception

Basez votre stratégie de conception sur la liste de contrôle de la révision de la conception pour la sécurité.

  • (Cluster et charge de travail) Familiarisez-vous avec les conseils de sécurité des produits Service Fabric. Consultez les bonnes pratiques pour la sécurité, les scénarios de sécurité de cluster et Application Service Fabric et sécurité du service.
  • (Cluster) Appliquez la segmentation et les contrôles réseau en configurant des groupes de sécurité réseau pour limiter le flux de trafic entre les sous-réseaux et les différents types de nœuds.
  • (Cluster) Gérez en toute sécurité les secrets d’application et les certificats clients à l’aide d’outils natifs. Les secrets d’application doivent être gérés avec le magasin de secrets Service Fabric et les certificats doivent être gérés avec Key Vault.
  • (Cluster) Envisagez de fournir votre propre équilibreur de charge, ce qui vous permet d’utiliser un équilibreur de charge interne et de définir différents équilibreurs de charge et groupes de sécurité réseau pour chaque type de nœud.
  • (Cluster) Contrôlez en toute sécurité l’accès au cluster en activant l’intégration de Microsoft Entra, ce qui permet aux utilisateurs de s’authentifier avec leurs informations d’identification Entra. Vous pouvez également utiliser des certificats client et administrateur de cluster. Ne distribuez pas les certificats clients de cluster entre les utilisateurs de Service Fabric Explorer.
  • (Cluster et charge de travail) Créez un processus pour surveiller la date d’expiration des certificats clients.
  • (Cluster et charge de travail) Conservez des clusters distincts pour le développement, la préproduction et la production. Les environnements de production nécessitent généralement des contrôles de sécurité plus stricts que les environnements hors production et l’isolation des environnements les uns des autres ajoute une couche de sécuirty si un environnement est compromis.

Recommandations

Recommandation Avantage
(Cluster) Vérifiez que les ports appropriés sont ouverts pour le déploiement d’applications et de charges de travail. Cette configuration garantit que la communication entre les ressources Service Fabric et le reste de la charge de travail sont sécurisées.
(Cluster) Lorsque vous utilisez le magasin de secrets Service Fabric pour distribuer des secrets, utilisez un certificat de chiffrement de données distinct pour chiffrer les valeurs. L’utilisation d’un certificat de chiffrement distinct garantit l’isolation entre les certificats, ce qui réduit le risque d’un point de défaillance unique et permet un contrôle d’accès plus granulaire.
(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, ce qui permet un contrôle plus précis sur qui peut accéder aux certificats.
(Cluster) Utilisez les demandes et les limites de ressources et pour gouverner l'utilisation des ressources à travers 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.
(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.
(Charge de travail) Authentifiez les applications Service Fabric auprès des ressources Azure à l’aide de managed Identity. 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.
(Cluster et charge de travail) Lors de l’hébergement d’applications non approuvées, utilisez la technologie de bac à sable la plus forte applicable, supprimez l’accès au runtime Service Fabric et suivez d’autres bonnes pratiques Service Fabric. Le suivi des bonnes pratiques fournies permet de s’assurer que seules les applications approuvées et vérifiées sont autorisées à interagir avec des composants critiques, ce qui limite l’impact des applications non approuvées avec des vulnérabilités ou du code malveillant peut avoir sur le fonctionnement normal du cluster.

Optimisation des coûts

L’optimisation des coûts se concentre sur la détection des modèles de dépense, la hiérarchisation des investissements dans les domaines critiques et l’optimisation dans d’autres pour répondre au budget de l’organisation tout en répondant aux besoins de l’entreprise.

Les principes de conception de l’optimisation des coûts fournissent une stratégie de conception de haut niveau pour atteindre ces objectifs et faire des compromis si nécessaire dans la conception technique liée à Service Fabric et à son environnement.

Liste de contrôle de conception

Lancez votre stratégie de conception en vous appuyant sur la liste de contrôle de révision de conception axée sur l’optimisation des coûts pour les investissements. Ajustez la conception afin que la charge de travail soit alignée sur le budget alloué pour la charge de travail. Votre conception doit utiliser les fonctionnalités Azure appropriées, surveiller les investissements et trouver des opportunités d’optimisation au fil du temps.

  • (Charge de travail et cluster) Estimer le coût intial à l’aide de la calculatrice de prix Azure . Vous êtes facturé uniquement pour les instances de calcul, le stockage, les ressources réseau et les adresses IP que vous choisissez lors de la création d’un cluster Service Fabric. Il n’y a aucun frais pour le service proposé par Service Fabric lui-même. Pour faciliter la prise en main de votre modélisation des coûts, consultez l’exemple de processus de calcul des coûts pour la planification des applications.
  • (Cluster) Sélectionnez les références SKU de machine virtuelle appropriées. Choisissez des machines virtuelles en fonction des caractéristiques de la charge de travail. La charge de travail est-elle intensive en termes de CPU ou exécute-t-elle des processus interruptibles ?
  • (Cluster) Sélectionnez les références SKU de cluster appropriées. Utilisez Standard pour les environnements de production et De base pour les environnements hors production, sauf s’il existe une raison convaincante de procéder autrement. Utilisez les types et tailles de nœuds appropriés dans chaque environnement.
  • (Cluster et charge de travail) Sélectionnez les niveaux et tailles de disque managé appropriés. Consultez le guide de service WAF pour le stockage sur disque. Évitez d’utiliser des références SKU de machine virtuelle avec des offres de disque temporaire pour éviter de payer des ressources inutiles.

Recommandations

Recommandation Avantage
(Cluster) Si vous n’avez pas besoin de conserver l’état, envisagez de choisir une référence SKU de machine virtuelle avec prise en charge de disque temporaire. Tirer le meilleur parti des ressources pour lesquelles 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.
(Cluster et charge de travail) Aligner la sélection des UGS de VM sur les exigences de la charge de travail. Assurez-vous d’avoir identifié correctement les types de nœuds, qui sont hébergés sur des groupes identiques, pour répondre à vos besoins. La mise en correspondance de votre sélection à vos demandes de charge de travail vous permet d’éviter de payer les références SKU de machine virtuelle coûteuses dont vous n’avez peut-être pas besoin.
(Cluster et charge de travail) Alignez la sélection du type de disque avec les exigences de charge de travail. Le choix du type de disque managé approprié vous permet d’éviter de payer pour les types coûteux dont vous n’avez peut-être pas besoin.

Excellence opérationnelle

L’excellence opérationnelle se concentre principalement sur les procédures pour les pratiques de développement , l’observabilité, et la gestion des mises en production.

Les principes de conception d’excellence opérationnelle fournissent une stratégie de conception de haut niveau pour atteindre ces objectifs pour les besoins opérationnels de la charge de travail.

Liste de contrôle de conception

Commencez votre stratégie de conception en vous basant sur la liste de contrôle pour l'excellence opérationnelle afin de définir les processus d'observabilité, de test et de déploiement liés à la Service Fabric.

  • (Cluster et charge de travail) Intégrez vos composants Service Fabric, y compris les clusters, l’infrastructure associée et l’application elle-même, à votre plateforme de supervision et d’alerte. Consultez l’article sur la surveillance des meilleures pratiques pour obtenir des conseils détaillés.
  • (Cluster et charge de travail) Utilisez le modèle d’intégrité Service Fabric pour surveiller en permanence l’intégrité de votre solution. Cet outil doit compléter votre modèle d’intégrité de la charge de travail global
  • (Cluster et charge de travail) Créez un processus pour surveiller la date d’expiration des certificats clients. Par exemple, Key Vault offre une fonctionnalité qui envoie un e-mail lorsque x% de la durée de vie du certificat s’est écoulée.
  • (Cluster et charge de travail) Utilisez des pratiques d’intégration continue et de déploiement continu pour gérer vos déploiements de cluster. Utilisez un outil conçu à usage unique comme Azure Pipelines ou Github Actions pour gérer vos pipelines CI/CD, ce qui vous permet de gérer de manière centralisée tous vos déploiements de charge de travail dans tous les environnements avec des stratégies de contrôle de code source appropriées.

Recommandations

Recommandation Avantage
(Charge de travail) Utilisez Application Insights pour surveiller vos charges de travail. Application Insights fournit une analyse complète des performances des applications (APM) pour les applications web actives, ce qui vous permet de collecter et d’analyser les données de télémétrie des applications, ce qui améliore l’intégrité de votre application et la surveillance des performances.
(Cluster et charge de travail) Utilisez Azure Monitor pour surveiller les événements d’infrastructure de cluster et de conteneur. Azure Monitor fournit des fonctionnalités complètes de supervision et de diagnostic, ce qui vous permet de collecter et d’analyser les journaux et les métriques à partir de vos applications et de votre infrastructure Azure. Azure Monitor s’intègre bien à la plateforme Azure, notamment Service Fabric.
(Cluster) Implémentez les stratégies d’intégrité de cluster appropriées dans le cadre de votre modélisation de l’intégrité. Les politiques vous permettent de personnaliser la façon dont les défaillances sont interprétées du point de vue de l'état de santé de la grappe. Par exemple, vous pouvez définir le pourcentage maximal toléré de nœuds qui peuvent être défectueux avant que le cluster ne soit considéré comme étant en erreur.
(Cluster) Implémentez des politiques de santé de type d’application et de service appropriées dans le cadre de votre modélisation de santé. La stratégie d’intégrité d’application décrit la procédure d’évaluation des événements et une agrégation des états enfants est effectuée pour les applications et leurs enfants. Service Fabric suppose que l’entité est défectueuse si elle (ou un de ses enfants) se trouve à l’état d’intégrité Warning ou Error.
(Cluster et charge de travail) Utilisez Azure Chaos Studio pour injecter des dysfonctionnements dans votre solution dans le cadre de votre stratégie de test. L’introduction de dysfonctionnements dans votre solution vous aidera à identifier les points d’échec potentiels et à pratiquer vos mesures de réponse aux incidents.
(Cluster et charge de travail) Utilisez Azure Pipelines pour votre solution d’intégration et de déploiement continus (CI/CD). L’utilisation d’une solution CI/CD comme Azure Pipelines vous aide à gérer efficacement vos déploiements, de manière cohérente et sécurisée. Azure Pipelines prend en charge nativement les déploiements Service Fabric.

Efficacité des performances

L’efficacité de la performance consiste à maintenir l’expérience utilisateur même lors d'une augmentation de la charge en gérant la capacité. La stratégie inclut la mise à l’échelle des ressources, l’identification et l’optimisation des goulots d’étranglement potentiels et l’optimisation des performances maximales.

Les principes de conception Performance Efficiency fournissent une stratégie de conception de haut niveau pour atteindre ces objectifs de capacité par rapport à l’utilisation attendue.

Liste de contrôle de conception

Commencez votre stratégie de conception en vous basant sur la liste de contrôle pour l'efficacité des performances. Définissez une base de référence basée sur des indicateurs de performances clés pour Service Fabric.

  • (Cluster) Tirez parti de l’optimisation des performances et de l’amélioration des fonctionnalités requises par la charge de travail. Consultez le guide de service de machine virtuelle pour obtenir des recommandations relatives à la plateforme de calcul sous-jacente.
  • (Cluster) Déployez des tailles de machine virtuelle et de disque qui répondent à vos exigences de perfomance sans entraîner de dépenses inutiles pour la capacité inutilisée. Assurez-vous que vous serez en mesure d’ajouter facilement une capacité pour répondre à vos futurs plans de croissance.
  • (Charge de travail) Comprendre les modèles de programmation pris en charge par Service Fabric et choisir le meilleur modèle pour vos besoins en charge de charge de travail. Chaque modèle de programmation présente des avantages et des inconvénients uniques, et vos exigences de charge de travail particulières peuvent s’aligner sur un modèle mieux que d’autres.
  • (Charge de travail) Utilisez des modèles d’architecture cloud établis pour concevoir votre charge de travail. Microservices, basé sur les événements et modèles d’architecture de traitement en arrière-plan sont tous de bons candidats pour les conceptions d’applications Service Fabric.

Recommandation

Recommandation Avantage
(Cluster) Exclure les processus Service Fabric s’exécutant sur vos machines virtuelles Windows de Windows Defender si vos stratégies de sécurité vous permettent d’exclure les processus et les chemins d’accès pour les logiciels open source. L’exclusion des processus Service Fabric réduit l’impact sur les performances et la surcharge de consommation des ressources encourues par Windows Defender
(Cluster) Envisagez d'utiliser la fonctionnalité de mise à l'échelle automatique Autoscaling pour votre cluster afin de permettre l’ajout ou la réduction des nœuds à la demande sur un type de nœud secondaire. La mise à l’échelle automatique réduit la surcharge de gestion et l’impact potentiel de l’entreprise en surveillant et en optimisant la quantité de nœuds qui maintenancent votre charge de travail.
(Cluster) Envisagez d’utiliser les Performances réseau accélérées. La mise en réseau accélérée permet un chemin de haute performance qui contourne l'hôte du chemin de données, ce qui réduit la latence, la gigue et l'utilisation du CPU pour les charges de travail réseau les plus exigeantes.
(Cluster) Envisagez d’utiliser le chiffrement à l’hôte au lieu d’Azure Disk Encryption (ADE). Le chiffrement sur l’hôte 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.
(Charge de travail) Implémentez les modèles de programmation Service Fabric mieux adaptés à votre charge de travail. Le choix d’un modèle de programmation approprié vous permet de tirer parti des fonctionnalités intégrées qui prennent en charge les exigences de charge de travail telles que la gestion de l’état, la concurrence et la réutilisation de votre base de code existante. Vous pouvez également vous assurer que vos normes de déploiement sont conservées en sélectionnant un modèle de programmation qui s’aligne sur ces normes.
(Cluster et charge de travail) Implémentez la mise à l’échelle pour répondre aux besoins de votre entreprise. trouver le mécanisme de mise à l’échelle approprié pour votre charge de travail.. Vous pouvez utiliser la mise à l’échelle pour activer l’utilisation maximale des ressources pour votre solution.

Stratégies Azure

Azure fournit un ensemble complet de stratégies intégrées liées à Service Fabric et à ses dépendances. Certaines des recommandations précédentes peuvent être auditées via Azure Policy. Par exemple, vous pouvez vérifier si :

  • Les clusters Service Fabric sont configurés pour être redondants interzones.
  • Les clusters Service Fabric ont la propriété ClusterProtectionLevel définie sur EncryptAndSign.
  • Les clusters Service Fabric sont configurés pour utiliser uniquement Azure Active Directory pour l’authentification du client.

Pour une gouvernance complète, passez en revue les définitions intégrées Azure Policy pour Service Fabric et d’autres stratégies susceptibles d’affecter la sécurité de la [zone d’infrastructure cloud].

Recommandations d’Azure Advisor

Azure Advisor est un consultant cloud personnalisé qui vous aide à suivre les meilleures 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 de Service Fabric.

Consultez l’article 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 de base 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.

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