Partager via


Stratégies d’architecture pour la planification de la capacité

S’applique à cette recommandation de liste de contrôle d’efficacité des performances d’Azure Well-Architected Framework :

PE:02 Menez à bien la planification de la capacité. La planification de la capacité doit être effectuée avant de prévoir des changements dans les modèles d’utilisation. Les modifications prédites incluent des variations saisonnières, des mises à jour de produits, des campagnes marketing, des événements spéciaux ou des modifications réglementaires.

Ce guide décrit les recommandations relatives à la planification de la capacité. La planification de la capacité fait référence au processus de détermination des ressources nécessaires pour répondre aux objectifs de performances de la charge de travail. Elle implique l’estimation de la quantité de ressources informatiques telles que l’UC, la mémoire, le stockage et la bande passante réseau nécessaires pour prendre en charge les exigences de performances de la charge de travail. La planification de la capacité permet d’éviter le sous-approvisionnement et garantit que la charge de travail dispose de ressources suffisantes pour gérer les demandes de charge de travail attendues sans rencontrer de dégradation des performances ou de goulots d’étranglement. Il permet également d’éviter le surprovisionnement et les coûts inutiles. Un manque de planification de la capacité peut entraîner des problèmes de performances, des goulots d’étranglement des ressources, des coûts accrus, une allocation inefficace, des défis d’extensibilité et des performances de charge de travail imprévisibles.

Définitions

Terme Définition
Planification de la capacité Processus de prédiction des ressources nécessaires à une charge de travail pour atteindre ses objectifs de performances.
Spécifications fonctionnelles Fonctionnalités et capacités dont une charge de travail doit disposer pour atteindre son objectif prévu.
Exigences techniques Code et infrastructure nécessaires pour répondre aux exigences fonctionnelles.
Analyse de tendances Analyse des données historiques pour prévoir la demande future.

La planification de la capacité est un processus prospectif qui implique de prendre des décisions basées sur les demandes et les modèles anticipés de la charge de travail. Son objectif est d’optimiser les performances de la charge de travail dans des scénarios de charge continue et optimale. En comprenant les changements d’utilisation, tels que les changements saisonniers ou les lancements de produits, vous pouvez allouer des ressources de manière stratégique, évitant ainsi les tensions sur le système pendant les périodes de forte demande. Cette stratégie proactive réduit les interruptions et renforce l’efficacité des performances. En analysant les tendances d’utilisation passées et les données de croissance, vous pouvez prévoir les besoins à court et à long terme. Vous pouvez identifier les goulots d’étranglement potentiels et les problèmes d’évolutivité, garantissant ainsi des performances cohérentes et efficaces de la charge de travail.

Collecter des données de capacité

La collecte des données d’utilisation de la charge de travail implique la collecte et l’analyse des informations sur la façon dont une charge de travail utilise des ressources. Vous devez collecter des données sur les modèles historiques pour les charges de travail existantes et des mesures prédictives pour les nouvelles charges de travail. Ce processus aide à traduire les objectifs métier en exigences techniques et est essentiel pour la prévision de la capacité. Tenez compte des recommandations suivantes :

Comprendre une charge de travail existante

Comprendre une charge de travail existante pour la planification de la capacité implique d’analyser les données historiques liées à la manière dont la charge de travail utilise les ressources. Cela englobe des mesures telles que l’utilisation des ressources, les données sur les performances et les modèles de charge de travail. Cette compréhension garantit une allocation efficace des ressources, traduit les objectifs métier en exigences techniques et aide à identifier les goulots d’étranglement potentiels.

  • Comprendre les données : examinez le données historiques disponibles et comprenez leur structure, leur format et leur pertinence pour la planification des capacités. Cet examen peut inclure des mesures d’utilisation des ressources, des modèles de charge de travail, des mesures de performances et d’autres points de données pertinents. Comprenez les processus métier et la criticité des applications. Identifiez les temps d’utilisation optimale, la charge des utilisateurs, les taux de transaction et d’autres mesures pertinentes.

  • Nettoyez et prétraitez les données : préparez les données à des fins d’analyse en supprimant les incohérences, erreurs ou valeurs hors norme. La préparation des données peut impliquer des techniques de nettoyage des données telles que l’imputation des données, la gestion des valeurs manquantes ou la normalisation.

  • Identifier les mesures clés : identifiez les mesures pertinentes pour la planification de la capacité. Les métriques peuvent inclure l’utilisation du processeur, l’utilisation de la mémoire, le débit réseau et les temps de réponse.

  • Identifier les goulots d’étranglement : mesurez le débit et les temps de réponse pour identifier les composants spécifiques de votre système susceptibles de devenir des goulots d’étranglement à mesure que la charge de travail augmente. Les demandes par seconde et l’utilisation du processeur de base de données peuvent être de bons indicateurs de capacité.

  • Visualisez les données : créez des visualisations, telles que des graphiques ou des tracés, pour obtenir de meilleurs insights sur les données historiques. Les visualisations peuvent vous aider à identifier les modèles, les tendances et les anomalies dans les données pour vous donner une compréhension plus claire du comportement de la charge de travail.

Comprendre une nouvelle charge de travail

Comprendre une nouvelle charge de travail pour la planification de la capacité fait référence à la prédiction des besoins en ressources d’une future tâche sans données historiques. Prédire les besoins futurs d’une nouvelle charge de travail sans données historiques peut être plus difficile. Ce processus garantit l’allocation efficace de ressources et l’alignement des allocations sur les objectifs de la charge de travail lorsque la charge de travail est introduite. Tenez compte des recommandations suivantes :

  • Recherche sur le marché : la réalisation de recherches sur le marché pour comprendre la demande de produits ou de services similaires peut fournir des insights précieux sur la demande potentielle d’une nouvelle charge de travail. La recherche peut impliquer l’analyse des tendances du marché, la réalisation d’enquêtes ou l’étude des offres de concurrents.

  • Jugement d’expert : les contributions d’experts en la matière ou de professionnels ayant de l’expérience dans le secteur peuvent vous aider à estimer la demande pour une nouvelle charge de travail. Leur expertise et leurs connaissances peuvent fournir des informations précieuses pour les prévisions.

  • Projets pilotes ou prototypes : des projets pilotes ou des prototypes à petite échelle peuvent vous aider à collecter des données et des commentaires en temps réel. Vous pouvez ensuite utiliser ces données pour informer le processus de planification de la capacité et ajuster la demande prévue.

  • Sources de données externes : les sources de données externes telles que les rapports du secteur, les études de marché ou les enquêtes auprès des clients peuvent fournir des informations supplémentaires pour estimer la demande pour une nouvelle charge de travail. Ces sources peuvent offrir des informations précieuses sur les préférences des clients, les tendances du marché et les facteurs potentiels de la demande.

Prévoir la demande

La prévision de la demande implique d’utiliser les données de la charge de travail pour prédire les besoins futurs pour un service ou un produit. Elle est essentielle pour permettre à la planification de la capacité de garantir une allocation efficace des ressources, d’anticiper les modèles de croissance et de se préparer à des augmentations potentielles de la demande. Lorsque vous prévoyez la demande future, vous utilisez des données pour avoir une idée des besoins futurs. Vous appliquez l’analyse statistique, l’analyse des tendances ou les techniques de modélisation prédictive aux données disponibles pour prévoir la demande future. Ces méthodes tiennent compte des modèles historiques ou anticipés et les projettent dans le futur pour fournir des estimations de la demande prévue de la charge de travail. Pour prévoir la demande, envisagez ces stratégies :

Tenir compte de divers scénarios

Lorsque vous effectuez une planification de la capacité, vous devez planifier différents scénarios qui peuvent se produire. Cette planification devrait inclure à la fois des modèles de croissance prévisibles et des augmentations inattendues de la demande. Les modèles d’utilisation peuvent augmenter ou diminuer. Ils peuvent être organiques (plus ou moins d’utilisateurs) ou inorganiques (un événement ou un incident de sécurité). Vous devez effectuer une planification de la capacité avant les modifications d’utilisation, à des moments clés :

  • Conception (prédiction)
  • Pics réguliers (demande de connexion à 8h00)
  • Lancement (validation de la prédiction)
  • Changement du modèle métier
  • Acquisition ou fusion
  • Campagne marketing
  • Changement saisonnier
  • Lancement de fonctionnalités
  • Périodiquement

Utiliser des techniques de prédiction

La prévision de la demande future pour un service ou un produit implique d’utiliser des techniques telles que l’analyse statistique, l’analyse des tendances et la modélisation prédictive. Voici un aperçu de la façon dont vous pouvez utiliser ces techniques :

  • Analyse statistique : les méthodes statistiques peuvent vous aider à découvrir des modèles et des relations dans les données historiques. Vous pouvez utiliser ces modèles pour prévoir la demande future. Vous pouvez utiliser des techniques telles que l’analyse de séries chronologiques, l’analyse de régression et les moyennes mobiles pour identifier les tendances, la saisonnalité et d’autres modèles dans les données.

  • Analyse des tendances : l’analyse des tendances consiste à examiner les données historiques pour identifier des modèles cohérents et extrapoler ces modèles dans le futur. Par exemple, si la demande de charge de travail a augmenté de 10 % au cours de l’année passée, vous pourriez prévoir une continuation de cette tendance. Lorsque vous analysez les données historiques de la demande sur une période donnée, vous pouvez identifier les tendances de croissance ou de réduction. Utilisez ces tendances comme base pour prévoir la demande future. L’analyse des tendances peut également identifier les effets d’événements occasionnels qui provoquent des changements rapides dans le trafic (inorganiques). Par exemple, les lancements de fonctionnalités peuvent augmenter de manière cohérente la demande de 5 %. Si vous avez quatre versions principales par an, vous devez prévoir une croissance de 5 % à chaque fois.

  • Modélisation prédictive : la modélisation prédictive est le processus de création de modèles mathématiques qui utilisent des données historiques et d’autres variables pertinentes pour faire des prédictions sur la demande future. Vous pouvez utiliser des techniques telles que les algorithmes Machine Learning, les réseaux neuraux ou les arbres de décision. Ces modèles peuvent prendre en compte plusieurs facteurs et variables pour fournir des prévisions plus précises.

Aligner les prévisions sur les objectifs de la charge de travail

L’alignement des prévisions sur les objectifs de la charge de travail implique d’ajuster les modèles de capacité prédictive pour garantir qu’ils répondent aux objectifs et aux exigences spécifiques d’une charge de travail donnée. Cet alignement garantit que les ressources sont correctement approvisionnées, ce qui empêche à la fois la sous-utilisation et les surcharges de charge de travail potentielles. Par exemple, si vous souhaitez prendre en charge une API pour 1 million d’utilisateurs afin de charger des fichiers de 1 Mo en seconde, mais les données actuelles affichent des vitesses d’écriture lentes, vous devez ajuster votre système. Il est essentiel de discuter avec les parties prenantes pour comprendre les exigences de la charge de travail. Assurez-vous que vos plans s’alignent sur les promesses (SLA) de vos fournisseurs de services. Cet alignement garantit que votre capacité répond à la demande prévue et aide à identifier les zones du système qui pourraient nécessiter des modifications.

Déterminer les besoins en ressources

La détermination des besoins en ressources pour la planification des capacités implique l'évaluation des ressources nécessaires pour répondre à la demande prévue. Par exemple, si une application prévoit une augmentation de 50% des utilisateurs pendant une campagne promotionnelle, il peut être nécessaire d’allouer plus d’instances cloud ou d’ajuster ses paramètres de mise à l’échelle automatique pour gérer la charge accrue.

Une charge de travail peut comporter de nombreuses ressources, il n’existe donc aucune mesure unique à observer pour déterminer les besoins en ressources. Vous devez mesurer la capacité au niveau des ressources pour obtenir des résultats significatifs. Estimez la demande prévue pour vos ressources en fonction des données historiques, des tendances du marché et des projections métier. Tenez compte du nombre de transactions, d’utilisateurs simultanés ou de toute autre mesure pertinente.

Sur la base de la demande prévue, calculez les ressources nécessaires pour répondre à cette demande. Tenez compte des facteurs tels que la capacité du serveur, la bande passante réseau, la capacité de stockage et le personnel :

  • Capacité du serveur : déterminez la capacité de serveur requise en fonction du nombre estimé d’utilisateurs ou de transactions simultanés. Tenez compte des facteurs tels que l’UC, la mémoire et les besoins en espace disque pour vous assurer que vos serveurs peuvent gérer la charge de travail attendue.

  • Bande passante réseau : évaluez la bande passante réseau nécessaire pour prendre en charge le niveau de trafic anticipé. Vous devez inclure les taux de transfert de données entrantes et sortantes pour garantir une communication fluide et efficace entre les serveurs et les clients.

  • Capacité de stockage : estimez la quantité de données que la charge de travail génère ou traite pendant la demande prévue. Tenez compte de facteurs tels que la taille de la base de données, les exigences de stockage de fichiers et tout autre besoin de stockage de données spécifique à votre application.

  • Personnel : évaluez les ressources humaines requises pour gérer et maintenir l’infrastructure, gérer le support client, effectuer la maintenance du système et garantir des opérations fluides. Prenez en compte des facteurs tels que la distribution de charge de travail, l’ensemble de compétences et l’expertise requise.

Comprendre les limitations des ressources

Les ressources de votre charge de travail ont des limitations de performances. Les limitations de performances s’appliquent aux services et références SKU au sein de chaque service. Vous devez comprendre les limitations des ressources de votre charge de travail et prendre en compte ces limitations dans vos décisions de conception. Par exemple, vous devez savoir si les limitations de ressources vous obligent à changer de SKU ou à changer complètement de ressources.

Vous devez également identifier les limites accessibles. Il fait référence à l’identification des seuils ou limites maximales d’une charge de travail. Ces limites s’appliquent généralement à l’infrastructure (calcul, mémoire, stockage, réseau), à l’application (connexions de base de données simultanées, temps de réponse, disponibilité), au service (demandes par seconde) et à la mise à l’échelle. Lorsque la planification de la capacité identifie des limites atteignables, vous devez modifier la charge de travail avant que la limite ne crée un problème de performances. Les valeurs de référence des performances, la surveillance continue et les tests sont essentiels pour valider les limites et la solution.

Compromis : une planification incorrecte de la capacité peut générer un surapprovisionnement ou un sous-approvisionnement de ressources. Le surapprovisionnement entraîne des coûts plus élevés. Un sous-provisionnement peut générer de faibles performances. Essayez de trouver le bon équilibre.

Facilitation Azure

Collecte de données sur la capacité et prévision de la demande : Azure Monitor vous permet de collecter et d’analyser les données de télémétrie de vos applications et de votre infrastructure. Il prend en charge la surveillance de diverses ressources Azure, y compris les machines virtuelles, les conteneurs et les comptes de stockage. Les outils clés incluent Application Insights et Log Analytics. En configurant la collecte de données et en définissant les mesures et les journaux que vous souhaitez surveiller, vous pouvez collecter des données précieuses sur la charge de travail à des fins d’analyse. Pour la surveillance du réseau, combinez Azure Monitor avec Azure Network Watcher, les informations du réseau Azure Monitor et la surveillance Azure ExpressRoute.

Azure Monitor vous permet d’analyser les données historiques et d’appliquer des techniques de prévision pour prédire les tendances futures de la charge de travail et les exigences de capacité. Vous pouvez générer des prévisions qui peuvent vous aider à la planification de la capacité. Ces prévisions aident à estimer la capacité du serveur, la bande passante du réseau, la capacité de stockage et d’autres besoins en ressources en utilisant les modèles de demande prévus.

Pour les charges de travail analytiques complexes impliquant des jeux de données historiques volumineux, les travaux de recherche Log Analytics permettent l’interrogation asynchrone des données sur les périodes de rétention à long terme sans impact sur les performances de surveillance en temps réel. Les travaux de recherche créent des tables Analytics dédiées pour obtenir des résultats, ce qui permet de séparer les charges de travail analytiques de la surveillance opérationnelle. Cette fonctionnalité est particulièrement précieuse pour les activités de planification de capacité qui nécessitent une analyse historique approfondie, telle que l’analyse des tendances et la prévision, tout en conservant des performances optimales pour les opérations de surveillance quotidiennes.

Détermination des besoins en ressources : parce qu’ils fournissent un large éventail de configurations, les outils et services Azure peuvent vous aider à définir les exigences techniques. Vous pouvez aligner les exigences de votre charge de travail sur les ressources Azure disponibles, en vous assurant de sélectionner les composants et les paramètres appropriés pour répondre à vos besoins fonctionnels.

Présentation des limitations des ressources : Azure fournit de la documentation et des ressources pour vous aider à comprendre les limitations de performances de différents services et références SKU Azure. La prise en considération de ces limitations peut vous aider à prendre des décisions de conception éclairées et à optimiser votre architecture de charge de travail en termes de performances et de rentabilité.

Azure fournit des options d’extensibilité telles que la mise à l’échelle automatique, qui peuvent ajuster automatiquement les ressources en fonction de la demande de charge de travail. Vous pouvez effectuer une mise à l’échelle verticalement en augmentant la capacité d’une ressource à l’aide d’une plus grande taille de machine virtuelle, ou vous pouvez effectuer une mise à l’échelle horizontalement en ajoutant de nouvelles instances d’une ressource. Les services Azure qui disposent de fonctionnalités de mise à l’échelle automatique peuvent effectuer automatiquement un scale-out pour garantir la capacité pendant les pics de charge de travail et revenir à la normale lorsque la charge diminue. Il existe des limites d’évolutivité au sein de votre configuration et de vos services dont vous devez tenir compte. Vous pouvez lire la documentation ou exécuter des tests. Azure fournit des outils tels qu’Azure Load Testing, qui peuvent simuler la charge et différents modèles d’utilisation pour vous aider à collecter des données pertinentes sur votre charge de travail.

Activez les journaux de flux de réseau virtuel entre les charges de travail pour capturer des données sur l’activité réseau. Utilisez l’analytique du trafic pour analyser et enrichir ces journaux, ce qui offre une visibilité sur le comportement et les performances des flux utilisateur. En identifiant les principaux talkers, les points d’accès à la bande passante et les inefficacités de routage, l’analytique du trafic peut vous aider à optimiser l’allocation des ressources réseau et à améliorer la planification de la capacité.

Liste de contrôle Efficacité des performances

Reportez-vous à l’ensemble complet de recommandations.