Recommandations pour la sélection des services appropriés
S’applique à cette recommandation de liste de vérification de l’efficacité des performances d’Azure Well-Architected Framework :
PE :03 | Sélectionnez les services appropriés. Les services, l’infrastructure et les sélections de niveaux doivent prendre en charge votre capacité à atteindre les objectifs de performances de la charge de travail et à prendre en charge les changements de capacité attendus. Les sélections doivent également évaluer les avantages de l’utilisation des fonctionnalités de la plateforme ou de la création d’une implémentation personnalisée. |
---|
Ce guide décrit les recommandations pour sélectionner les services appropriés pour votre charge de travail. Les recommandations suivantes vous aident à choisir les services qui répondent le mieux aux exigences et aux exigences de votre charge de travail. Lorsque vous utilisez des services conçus pour gérer les exigences de votre charge de travail, vous pouvez vous assurer que votre charge de travail répond à vos objectifs de performances. Si vous choisissez des services inappropriés pour votre charge de travail, les services risquent de ne pas être en mesure de gérer les demandes de votre charge de travail. Des services insuffisants peuvent entraîner des temps de réponse lents, des goulots d’étranglement ou des échecs de charge de travail.
Définitions
Terme | Définition |
---|---|
Zone de disponibilité | Groupe séparé de centres de données au sein d’une région. Chaque zone de disponibilité est indépendante des autres, avec sa propre infrastructure d’alimentation, de refroidissement et de mise en réseau. De nombreuses régions prennent en charge les zones de disponibilité. |
Service de calcul | Service qui fournit l’infrastructure dont vous avez besoin pour exécuter une application. |
Service de base de données | Service qui fournit des bases de données relationnelles et non relationnelles pour votre application. |
Infrastructure | Les composants physiques du cloud computing et l’emplacement géographique des composants. |
Infrastructure as a service (IaaS) | Service dans lequel le client est responsable du système d’exploitation, de l’identité, des applications et de la mise en réseau. |
Platform as a service (PaaS) | Service dans lequel le fournisseur de services cloud est responsable du système d’exploitation. Le fournisseur de services cloud partage avec le client la responsabilité de la gestion de l’identité, des applications et de la mise en réseau. |
Région | Périmètre géographique qui contient un ensemble de centres de données. |
Ressource | Entité ou composant unique que vous pouvez créer, configurer et utiliser au sein d’un fournisseur de services cloud. |
Service | Produit ou offre d’un fournisseur de services cloud. |
Référence SKU (Stock Keeping Unit) | Un niveau de service pour un service Azure. |
Service de stockage | Service qui fournit le stockage pour les objets, les blocs et les fichiers. |
Stratégies de conception
Les services que vous choisissez doivent s’aligner sur les objectifs de performances de votre charge de travail et s’adapter aux besoins de capacité futurs. À mesure que la charge de travail se développe ou évolue, les services que vous utilisez doivent correspondre à vos normes de performances sans nécessiter d’ajustements majeurs. Tenez compte de l’équilibre entre les fonctionnalités de la plateforme et les implémentations personnalisées. Les fonctionnalités de la plateforme fournissent des solutions immédiates, mais les options personnalisées offrent une personnalisation précise. Vos choix de services doivent être à la fois avant-gardistes et adaptés à vos besoins spécifiques, en tenant compte des compromis entre commodité et personnalisation.
Comprendre les exigences de charge de travail
La compréhension des exigences de charge de travail fait référence à la compréhension des exigences techniques et fonctionnelles d’une charge de travail. Cette analyse permet de déterminer les ressources, le stockage, le calcul, le réseau et d’autres spécifications nécessaires pour exécuter la charge de travail. L’alignement des services avec les besoins spécifiques d’une charge de travail permet d’éviter le surapprovisionnement ou la sous-utilisation des ressources.
Évaluez les besoins et les caractéristiques de votre charge de travail pour déterminer les exigences et alignez vos exigences de charge de travail sur vos objectifs de performances à tous les niveaux. Vous devez tenir compte des contraintes ou dépendances. Lorsque vous comprenez les exigences de votre charge de travail, vous pouvez prendre des décisions éclairées. Vous pouvez déterminer l’infrastructure appropriée et implémenter des stratégies pour gérer les pics de charge ou les variations de la demande.
Atteindre les objectifs de performances. Sélectionnez les services qui vous permettent d’atteindre les objectifs de performances de votre charge de travail. Assurez-vous qu’un service peut prendre en charge les besoins en matière de performances et que vous pouvez surveiller ses performances. Collecter des données de performances pour les composants critiques.
Tenez compte des restrictions organisationnelles. Familiarisez-vous avec les restrictions que votre organization peut avoir sur les services que vous déployez. Tenez compte de ces restrictions lorsque vous concevez votre solution.
Tenez compte des exigences de conformité et de sécurité. Les exigences de conformité et de sécurité peuvent affecter les services et les configurations que vous sélectionnez. Vérifiez qu’un service que vous choisissez répond aux exigences liées au stockage, au chiffrement, aux contrôles d’accès, aux journaux d’audit et aux emplacements de données.
Tenez compte des compétences d’équipe. Votre équipe crée et gère les charges de travail. Différents services nécessitent des compétences différentes. Choisissez les services que votre équipe sait utiliser, ou vous engagez à les former avant de choisir un service. Assurez-vous que les membres de l’équipe possèdent l’expertise et les connaissances nécessaires pour utiliser efficacement les services et optimiser leurs performances.
Compromis : les services spécialisés offrent des fonctionnalités spécifiques, mais peuvent limiter la personnalisation. Les ressources flexibles nécessitent davantage de gestion et de configuration que les services spécialisés. Les services managés offrent une facilité de gestion, mais vous avez peut-être moins de contrôle sur l’infrastructure sous-jacente que les ressources autogérées.
Comprendre les services
Comprendre les services consiste à connaître les fonctionnalités, les limites et les fonctionnalités des outils et des offres d’un fournisseur. Une compréhension des services vous aide à utiliser des fonctionnalités intégrées, ce qui réduit le besoin de solutions personnalisées complexes et améliore l’efficacité des performances.
Prenez en compte différents facteurs et obtenez une compréhension complète d’un service avant de le choisir. Recherchez et évaluez les services et les outils offerts par le fournisseur. Déterminez les services et outils qui correspondent le mieux aux exigences de votre charge de travail. Tenez compte de facteurs tels que les services managés, les options serverless et les services spécialisés.
Comprendre les limites du service
Les limites de service sont les seuils ou limites prédéfinis définis par les fournisseurs de services. Les limites de service définissent l’utilisation maximale des ressources ou des fonctionnalités au sein de ce service. Lorsque vous êtes familiarisé avec les limites de service, vous pouvez éviter les problèmes tels que la contention de ressources, la dégradation des performances ou les interruptions de service inattendues. Vous pouvez planifier et mettre à l’échelle l’infrastructure de manière appropriée. Votre planification prend en compte des facteurs tels que le volume de données, la capacité de traitement et les exigences de résidence des données.
Préférer les fonctionnalités de la plateforme
Préférer les fonctionnalités de plateforme consiste à utiliser des fonctionnalités intégrées fournies par un fournisseur pour gérer des tâches spécifiques sans code personnalisé. Les fournisseurs conçoivent des fonctionnalités de plateforme pour gérer efficacement des tâches spécifiques à grande échelle, et ils gèrent régulièrement ces fonctionnalités. Les fonctionnalités de plateforme vous permettent de mieux tirer parti des fonctionnalités de l’infrastructure cloud. Choisissez des services qui vous permettent de décharger des fonctionnalités sur la plateforme au lieu d’écrire et de gérer votre propre code personnalisé. Dans de nombreux cas, les solutions PaaS (Platform-as-a-Service) offrent une meilleure efficacité en matière de performances que le code personnalisé. Le code personnalisé ajoute de la complexité et rend la charge de travail sujette aux problèmes de performances. Développez du code personnalisé uniquement lorsque les fonctionnalités de service ne sont pas suffisantes.
Compromis : le meilleur service pour votre charge de travail peut être une technologie que votre équipe n’est pas qualifiée, ne peut pas se permettre ou qui peut nécessiter des couches de sécurité supplémentaires. Par exemple, un équilibreur de charge public peut répondre à vos besoins en matière de performances. Toutefois, si vous n’avez pas de pare-feu d’applications web, vous devrez peut-être déployer un pare-feu pour sécuriser la charge de travail.
Évaluer les exigences de l’infrastructure
L’efficacité des performances des ressources est liée à l’infrastructure sur laquelle elles résident. Il rend la sélection de l’infrastructure appropriée critique pour l’efficacité des performances du service. L’évaluation des exigences d’infrastructure permet d’identifier la région géographique et les zones de disponibilité les mieux adaptées à la prise en charge de votre charge de travail. Les principales considérations de cette prise de décision sont les suivantes :
Comprendre les régions et les zones de disponibilité. Chaque région correspond à un emplacement géographique distinct. Les zones de disponibilité représentent des centres de données physiques individuels au sein d’une région donnée.
Modèle de déploiement à région unique ou à plusieurs régions. Un modèle de déploiement à une seule région déploie toutes les ressources dans une seule région. Un modèle de déploiement multirégion déploie des ressources dans plusieurs régions. Un déploiement multirégion peut réduire la latence pour les utilisateurs finaux et atténuer les contraintes de capacité. Toutefois, cela peut également augmenter le coût et la complexité de la charge de travail. Choisissez le modèle de déploiement qui correspond le mieux à vos besoins de charge de travail.
Comprendre les fonctionnalités disponibles. Différentes régions ont différentes fonctionnalités disponibles, telles que le nombre de services et de zones de disponibilité. Comprendre les fonctionnalités disponibles dans une région avant de la sélectionner. Assurez-vous qu’une région répond aux besoins de performances de votre charge de travail.
Tenez compte de la latence. La latence, le temps nécessaire aux données pour voyager de la source à la destination, augmente les autres services les uns des autres. Les services qui communiquent entre les régions ou les zones de disponibilité peuvent faire face à une latence accrue. Il est recommandé d’identifier les services qui communiquent fréquemment et de les positionner dans la même région. En outre, la sélection d’une région proche de votre base d’utilisateurs principal peut réduire la latence, offrant une meilleure expérience utilisateur.
Comprendre le mappage du centre de données. Les zones de disponibilité peuvent ne pas être mappées de manière cohérente aux mêmes centres de données sur différents abonnements. Par instance, « Zone 1 » dans « Abonnement A » peut être différent de « Zone 1 » dans « Abonnement B ». Lorsque vous utilisez plusieurs abonnements, vous devez connaître ces mappages pour sélectionner des zones qui renforcent les performances de manière optimale.
Évaluer les exigences de mise en réseau
Évaluez les besoins de votre réseau pour déterminer les configurations et services de charge de travail appropriés. Assurez-vous que le réseau peut prendre en charge votre charge de travail. Pour évaluer les exigences de mise en réseau, tenez compte des éléments suivants :
Comprendre le trafic réseau. Évaluez le trafic réseau attendu pour la charge de travail. Comprendre les besoins de transfert de données et la fréquence des demandes réseau.
Comprendre les besoins en bande passante. Déterminez les besoins en bande passante pour la charge de travail. Tenez compte de la quantité de données transmises et reçues sur le réseau.
Comprendre la latence réseau. Évaluez la latence souhaitée pour la charge de travail. Utilisez des réseaux virtuels privés et des réseaux principaux au lieu de parcourir l’Internet public. Cette technique réduit la latence de la charge de travail.
Comprendre le débit. Tenez compte du débit requis pour la charge de travail. Le débit fait référence à la quantité de données qui peuvent être transmises sur un réseau dans un temps donné. Configurez les options de routage réseau pour tirer parti des avantages du débit réseau.
Compromis : Le réseau virtuel privé limite l’accès public et rend difficile le déploiement et la gestion des ressources.
Évaluer les exigences de calcul
L’évaluation des exigences de calcul implique d’évaluer les besoins de calcul spécifiques d’une charge de travail, y compris des facteurs tels que le type de instance, la scalabilité et la conteneurisation. Différents services de calcul ont des fonctionnalités et des caractéristiques variables qui peuvent affecter les performances de votre charge de travail. Sélectionnez le service de calcul optimal pour vous assurer que votre charge de travail s’exécute efficacement. Tenez compte des stratégies suivantes :
Comprendre les types instance. Différents types de instance sont optimisés pour différentes charges de travail, telles que les instances optimisées pour le processeur, la mémoire optimisée et les instances GPU. Choisissez le type instance qui correspond à vos besoins.
Envisagez la mise à l’échelle automatique. Si votre charge de travail a une demande variable, envisagez un service de calcul avec une fonctionnalité de mise à l’échelle automatique qui peut ajuster automatiquement la capacité de calcul en fonction de la demande. La mise à l’échelle automatique permet de garantir que vous disposez de suffisamment de ressources pendant les heures de pointe et d’éviter le surprovisionnement pendant les périodes de faible demande.
Envisagez la conteneurisation. Les conteneurs offrent des avantages en matière de performances par rapport à une charge de travail non centralisée. Envisagez d’utiliser la conteneurisation si elle répond à vos besoins architecturaux. Les conteneurs améliorent les performances de calcul grâce à l’isolation, à l’efficacité des ressources, au temps de démarrage rapide et à la portabilité.
Lorsque vous utilisez des conteneurs, tenez compte des facteurs de conception tels que la conteneurisation de tous les composants d’application. Utilisez des runtimes de conteneur basés sur Linux pour les images légères. Donnez aux conteneurs des cycles de vie courts pour les rendre immuables et remplaçables. Rassemblez les journaux et les métriques pertinents à partir de conteneurs, d’hôtes de conteneurs et du cluster sous-jacent. Utilisez ces données pour surveiller et analyser les performances. Les conteneurs ne sont qu’un composant d’une architecture globale. Choisissez un orchestrateur de conteneur approprié, comme Kubernetes, pour améliorer davantage les performances et la scalabilité.
Avantage du conteneur Description Isolation Les conteneurs fournissent des environnements isolés pour les applications. Les conteneurs garantissent que les ressources d’application n’interfèrent pas entre elles. Cette isolation garantit que les ressources de calcul affectées à un conteneur sont dédiées à l’exécution d’une application spécifique, ce qui améliore les performances. Efficacité des ressources Les conteneurs sont légers et partagent le noyau du système d’exploitation hôte, ce qui permet une utilisation efficace des ressources. Plusieurs conteneurs peuvent s’exécuter sur la même infrastructure virtualisée, ce qui optimise l’utilisation des ressources de calcul. Temps de démarrage rapide Les images conteneur sont prédéfinies et sont rapidement démarrées si nécessaire. Ce temps de démarrage rapide permet une scalabilité rapide. Il permet aux applications de monter ou de descendre en puissance en fonction de la demande et d’éviter les goulots d’étranglement des performances. Portabilité Les conteneurs encapsulent toutes les dépendances et bibliothèques requises dans l’image. Avec les conteneurs, il est plus facile de déplacer des applications entre différents systèmes d’exploitation ou environnements. Cette portabilité offre une flexibilité dans le déploiement d’applications et facilite la migration entre des fournisseurs de cloud ou des environnements locaux. Choisissez le niveau approprié. Dans chaque service de calcul, vous pouvez définir la capacité de calcul, sélectionner des fonctionnalités et activer des fonctionnalités. En fonction de vos objectifs de performances, choisissez le niveau de service approprié pour votre service de calcul.
Déterminez le nombre de instance. Déterminez le nombre minimal de instance requis par votre charge de travail. Certaines charges de travail, même à charge minimale, peuvent nécessiter plusieurs instance d’une ressource de calcul. Définissez le nombre minimal de instance en conséquence.
Évaluer les exigences en matière d’équilibrage de charge
L’équilibrage de charge garantit que le trafic réseau est distribué uniformément et empêche tout serveur unique d’être submergé par les requêtes. L’équilibrage de charge permet d’éviter les goulots d’étranglement et de réduire les temps de réponse. Évaluez les différents services d’équilibrage de charge offerts par votre fournisseur de cloud. Consultez la documentation et les outils de comparaison du fournisseur de cloud pour comprendre les fonctionnalités. Sélectionnez le service le plus approprié pour votre charge de travail. Pour sélectionner un service d’équilibrage de charge, tenez compte des éléments suivants :
Comprendre le type de trafic : déterminez si le service d’équilibrage de charge doit gérer le trafic web, comme HTTP et HTTPS, ou d’autres protocoles, tels que TCP (Transmission Control Protocol) ou UDP (User Datagram Protocol).
Connaître le routage global ou régional : déterminez si votre charge de travail nécessite un équilibrage de charge au sein d’une région spécifique ou entre plusieurs régions.
Connaître les objectifs de niveau de service (SLO) : considérez le contrat de niveau de service (SLA). Différents services d’équilibrage de charge offrent différents niveaux de performances.
Comprendre les fonctionnalités : envisagez des services d’équilibrage de charge qui fournissent une accélération de site, une distribution optimale du trafic et un équilibrage de charge de couche 4 à faible latence.
Évaluer les exigences du magasin de données
L’évaluation des exigences du magasin de données consiste à évaluer les besoins et les conditions spécifiques pour le stockage, la récupération et la gestion des données. Cette évaluation prend en compte des facteurs tels que le volume des données, la vitesse d’accès, la cohérence et la durabilité. Une charge de travail peut nécessiter plusieurs types de magasins de données en fonction de différentes exigences métier et techniques. L’identification des services de magasin de données appropriés et l’implémentation appropriée permettent d’éviter les goulots d’étranglement et de garantir un accès rapide aux données.
Évaluer les exigences de la base de données
La base de données peut affecter des facteurs tels que le stockage et la récupération des données, le traitement des transactions, les garanties de cohérence et la gestion des données volumineuses ou en évolution rapide. Évaluez les besoins et les critères de votre base de données. Sélectionnez un système de base de données qui peut répondre à ces exigences. Évaluez les exigences de base de données avant de choisir une base de données. Pour évaluer les exigences de la base de données et choisir la base de données appropriée, procédez comme suit :
Identifiez les besoins de charge de travail. Comprenez les exigences spécifiques de votre charge de travail, telles que le volume de données, les taux de transaction attendus, l’accès concurrentiel, les types de données et la croissance attendue. Évaluez différents systèmes de base de données en fonction de vos besoins de charge de travail. Par exemple, si votre charge de travail nécessite un traitement des données en temps réel hautes performances, vous pouvez choisir un système de base de données optimisé pour une ingestion rapide des données et une faible latence.
Considérez le modèle de données. Déterminez le modèle de données qui convient le mieux à votre charge de travail. Évaluez les exigences de base de données pour vous assurer que la base de données choisie prend en charge les structures de données, les relations et les contraintes d’intégrité requises. Par exemple, si vos données ont une structure hautement relationnelle, vous pouvez opter pour un système de gestion de base de données relationnelle (SGBDR) qui fournit une prise en charge robuste des transactions et de l’intégrité référentielle. Le modèle de données peut être hiérarchique, réseau, relationnel, orienté objet ou NoSQL. Évaluez la complexité de votre modèle de données. Assurez-vous que la base de données choisie prend en charge les structures de données et les relations requises.
Évaluez les fonctionnalités. Tenez compte de facteurs tels que les modèles de lecture/écriture, la complexité des requêtes, les exigences de latence et les besoins de scalabilité. Évaluez les fonctionnalités de performances des différents systèmes de base de données en conséquence. Certaines bases de données excellent dans les charges de travail nécessitant beaucoup de lecture, tandis que d’autres sont optimisées pour les charges de travail nécessitant beaucoup d’écriture ou d’analyse.
Évaluez la charge. Tenez compte de facteurs tels que le volume de données, les taux de transaction, les ratios de lecture/écriture et la croissance attendue. Choisissez une base de données capable de gérer la charge de travail prévue pour garantir le bon fonctionnement et éviter les goulots d’étranglement des performances à mesure que votre charge de travail est mise à l’échelle. Tenez compte des exigences de scalabilité de votre charge de travail. Ces exigences incluent la croissance prévue des données, l’accès simultané des utilisateurs et la nécessité d’une mise à l’échelle horizontale ou verticale. Évaluez les options de scalabilité et les fonctionnalités de disponibilité fournies par différents systèmes de base de données.
Évaluer les exigences de stockage
Choisissez des services de stockage qui s’alignent sur vos modèles d’accès aux données, vos exigences de durabilité et vos besoins en matière de performances. La plupart des charges de travail cloud utilisent une combinaison de technologies de stockage. Cette technique est connue sous le nom d’approche de persistance polyglotte. Déterminez la combinaison appropriée de services de stockage pour votre charge de travail. Vous pouvez également séparer les données pour éviter la contamination. Par exemple, vous pouvez avoir des comptes de stockage distincts pour surveiller les données et les données métier. Le choix de la combinaison appropriée et de l’implémentation correcte est important pour optimiser les performances de l’application.
Évaluer la configuration requise pour le cache
Un cache stocke les données fréquemment consultées. La mise en cache réduit la latence d’accès aux données et réduit la charge sur les composants de stockage de données. Il permet à la charge de travail de gérer davantage de requêtes sans mise à l’échelle. Il est courant de mettre en cache les données de charge de travail et le contenu statique. Un cache Redis peut stocker des données de session, des résultats de base de données, des réponses d’API et des données de référence, telles que les paramètres de configuration. Un réseau de distribution de contenu ou une application web statique peut mettre en cache et servir du contenu statique. Envisagez de mettre en cache les données pour améliorer les performances de votre charge de travail. Choisissez l’option de mise en cache appropriée pour votre charge de travail, préférant les services de mise en cache de plateforme, tels que le cache Redis Azure, aux services personnalisés ou auto-hébergés.
Facilitation Azure
Compréhension des exigences : Utilisez Azure Monitor pour collecter et analyser les données de votre charge de travail. Monitor fournit des informations sur les performances et l’intégrité de vos charges de travail, ce qui vous permet d’identifier et de résoudre les problèmes.
Compréhension et évaluation des services : passez en revue les produits et services Azure pour déterminer s’ils répondent à vos besoins en matière de performances. Azure propose plusieurs services qui permettent d’obtenir le même résultat. Vous avez la possibilité d’aligner votre choix de service sur vos besoins en matière de performances, votre ensemble de compétences d’équipe et vos exigences de coût.
Consultez Abonnement Azure et limites, quotas et contraintes de service pour obtenir la liste des limites Azure les plus courantes.
L’exemple Limites et quotas de requête montre comment interroger les limites et les quotas pour les ressources couramment utilisées.
Azure dispose de nombreux services qui peuvent prendre en charge n’importe quelle charge de travail. Passez en revue les conseils de sélection pour chaque type de service pour vous aider à simplifier votre sélection en fonction de vos besoins. Consultez les guides suivants pour choisir :
- Une région
- Services de calcul
- Services de conteneur
- Services de magasin de données
- Services d’équilibrage de charge
- Services de stockage
Liens connexes
- Régions Azure avec prise en charge des zones de disponibilité
- Recommandations pour définir des objectifs de performances
- Recommandations pour l’utilisation des zones de disponibilité et des régions
- Que sont les zones de disponibilité ?
- Sélectionner des régions Azure
Liste de contrôle d’efficacité des performances
Reportez-vous à l’ensemble complet de recommandations.