Partager via


Stratégies d’architecture pour sélectionner les services appropriés

S’applique à cette recommandation de liste de contrôle d’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 cibles de performances de la charge de travail et à prendre en charge les changements de capacité attendus. Les sélections doivent également peser les avantages de l’utilisation des fonctionnalités de plateforme ou de la création d’une implémentation personnalisée.

Ce guide décrit les recommandations relatives à la sélection des 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 peuvent ne pas être capables de gérer les demandes de votre charge de travail. Les 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 Definition
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 son propre alimentation, son refroidissement et son infrastructure 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 Composants physiques du cloud computing et 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 la responsabilité du client pour 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.
Resource 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.
Unité de conservation des stocks (SKU) Niveau de service pour un service Azure.
Service de stockage Service qui fournit un stockage pour les objets, les blocs et les fichiers.

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 plateforme offrent des solutions immédiates, mais les options personnalisées offrent une personnalisation précise. Vos sélections de service doivent être à la fois avant-pensée et adaptées à 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’empêcher le surprovisionnement ou la sous-utilisation des ressources.

Évaluez les besoins et les caractéristiques de votre charge de travail pour déterminer les exigences et aligner vos exigences de charge de travail sur vos objectifs de performances à chaque niveau. Vous devez tenir compte des contraintes ou des dépendances. Lorsque vous comprenez vos besoins en 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 de répondre aux 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 organisation 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. Assurez-vous qu’un service que vous choisissez répond aux exigences relatives au stockage, au chiffrement, aux contrôles d’accès, aux journaux d’audit et aux emplacements de données.

  • Considérez les compétences de l’é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 valider pour 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 par rapport aux services spécialisés. Les services managés offrent une facilité de gestion, mais vous pouvez avoir moins de contrôle sur l’infrastructure sous-jacente par rapport aux ressources auto-gérées.

Comprendre les services

Comprendre les services consiste à connaître les fonctionnalités, limites et fonctionnalités des outils et offres d’un fournisseur. Une compréhension des services vous aide à utiliser des fonctionnalités intégrées, ce qui réduit la nécessité 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 à vos besoins en 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 de service

Les limites de service sont les seuils prédéfinis ou les limites définies 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 connaissez les limites de service, vous pouvez éviter des problèmes tels que la contention des ressources, la dégradation des performances ou des interruptions de service inattendues. Vous pouvez planifier et mettre à l’échelle l’infrastructure de manière appropriée. Votre planification prend en compte les 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

Les fonctionnalités de plateforme préférées concernent l’utilisation des fonctionnalités intégrées fournies par un fournisseur pour gérer des tâches spécifiques sans code personnalisé. Les fournisseurs concevoir 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 d’infrastructure cloud. Choisissez des services qui vous permettent de décharger les 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é des performances que du code personnalisé. Le code personnalisé ajoute de la complexité et rend la charge de travail sujette aux problèmes de performances. Développez uniquement du code personnalisé lorsque les fonctionnalités de service ne sont pas suffisantes.

Compromis : le meilleur service de votre charge de travail peut être une technologie que votre équipe n’est pas qualifiée, ne peut pas se permettre, ou elle 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 effectue la sélection de l’infrastructure critique appropriée pour l’efficacité des performances du service. L’évaluation des exigences de l’infrastructure consiste à 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 par rapport au modèle de déploiement à 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 à plusieurs régions déploie des ressources dans plusieurs régions. Un déploiement à plusieurs régions peut réduire la latence pour les utilisateurs finaux et atténuer les contraintes de capacité. Toutefois, elle peut également augmenter le coût et la complexité de la charge de travail. Choisissez le modèle de déploiement qui convient le mieux à vos besoins en 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.

  • Envisagez la latence. Latence, le temps nécessaire aux données pour passer de la source à la destination augmente les autres services. 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 principale peut réduire la latence, offrant une meilleure expérience utilisateur.

  • Comprendre le mappage des centres 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 entre différents abonnements. Par exemple, « 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 services et configurations de charge de travail appropriés. Vérifiez que le réseau peut prendre en charge votre charge de travail. Pour évaluer les exigences de mise en réseau, envisagez les é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 exigences en matière de bande passante. Déterminez les exigences en matière de 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 du 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 : la mise en réseau virtuel privée 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 l’évaluation des besoins de calcul spécifiques d’une charge de travail, notamment des facteurs tels que le type d’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 d’instances. Différents types d’instances sont optimisés pour différentes charges de travail, telles que les instances optimisées en processeur, optimisées en mémoire et GPU. Choisissez le type d’instance qui s’aligne sur 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 empêche 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-conteneurisé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 le conteneurisation de tous les composants d’application. Utilisez des runtimes de conteneur 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 conteneur 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 conteneurs approprié, comme Kubernetes, pour améliorer les performances et l’extensibilité.

    Avantage du conteneur Descriptif
    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. Elle permet aux applications de monter en puissance ou de diminuer en fonction de la demande et d’éviter les goulots d’étranglement des performances.
    Portability 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é permet une flexibilité dans le déploiement d’applications et permet une migration facile entre les fournisseurs de cloud ou les 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 d’instances. Déterminez le nombre minimal d’instances requis par votre charge de travail. Certaines charges de travail, même à charge minimale, peuvent nécessiter plusieurs instances d’une ressource de calcul. Définissez le nombre minimal d’instances en conséquence.

Évaluer les exigences 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 proposés par votre fournisseur de cloud. Passez en revue la documentation et les outils de comparaison du fournisseur 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, envisagez les éléments suivants :

  • Comprendre le type de trafic : déterminez si le service d’équilibrage de charge doit gérer le trafic web, tel que 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 (SLA) : envisagez 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 d’équilibrer la charge des services 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 en matière de magasin de données

L’évaluation des exigences de magasin de données consiste à évaluer les besoins et conditions spécifiques pour le stockage, la récupération et la gestion des données. Cette évaluation considère des facteurs tels que le volume de 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 de l’implémentation appropriée permet d’éviter les goulots d’étranglement et garantit un accès rapide aux données.

Évaluer les exigences de 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 rapidement modifiées. É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 la 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 la 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, la concurrence, les types de données et la croissance attendue. Évaluez différents systèmes de base de données en fonction des besoins de votre charge de travail. Par exemple, si votre charge de travail nécessite un traitement de données en temps réel hautes performances, vous pouvez choisir un système de base de données optimisé pour l’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 contraintes d’intégrité, de relations et de structures de données requises. Par exemple, si vos données ont une structure relationnelle élevée, 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. Vérifiez que la base de données choisie prend en charge les structures et relations de données requises.

  • Évaluez les fonctionnalités. Tenez compte des facteurs tels que les modèles de lecture/écriture, la complexité des requêtes, les exigences de latence et les besoins en scalabilité. Évaluez les fonctionnalités de performances de différents systèmes de base de données en conséquence. Certaines bases de données excelent dans les charges de travail lourdes en lecture, tandis que d’autres sont optimisées pour les charges de travail d’écriture intensives ou analytiques.

  • Évaluez la charge. Tenez compte des 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 qui peut gérer la charge de travail attendue pour garantir une opération fluide et empêcher 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 d’extensibilité et les fonctionnalités de disponibilité fournies par différents systèmes de base de données.

Évaluer les exigences de stockage

Choisissez les services de stockage qui s’alignent sur vos modèles d’accès aux données, les exigences de durabilité et les 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 des 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 les exigences en matière de 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. Elle 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 les données de session, les résultats de la base de données, les réponses d’API et les 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 des 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, en préférant les services de mise en cache de plateforme, tels qu’Azure Redis Cache, sur des services personnalisés ou auto-hébergés.

Facilitation Azure

Présentation des exigences : Utilisez Azure Monitor pour collecter et analyser des données à partir de votre charge de travail. Le moniteur fournit des insights 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.

Comprendre et évaluer les services : passez en revue les services et produits Azure pour déterminer s’ils répondent à vos besoins en matière de performances. Azure propose plusieurs services qui réalisent le même résultat. Vous avez la possibilité d’aligner votre choix de service sur vos besoins en matière de performances, d’ensemble de compétences d’équipe et de besoins en matière de coûts.

Pour obtenir la liste des limites Azure les plus courantes, consultez les limites d’abonnement et de service Azure, les quotas et les contraintes.

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 :

Liste de contrôle d’efficacité des performances

Reportez-vous à l’ensemble complet de recommandations.