Ce principe du pilier "Optimisation des performances" du Google Cloud Well-Architected Framework fournit des recommandations pour vous aider à planifier les ressources de vos charges de travail dansGoogle Cloud. Il souligne l'importance de définir des exigences précises avant de concevoir et de développer des applications pour un déploiement ou une migration vers le cloud.
Présentation du principe
Pour répondre aux exigences de votre entreprise, il est important de définir les exigences de performances de vos applications avant la conception et le développement. Définissez ces exigences de manière aussi précise que possible pour l'application dans son ensemble et pour chaque couche de la pile d'applications. Par exemple, dans la couche de stockage, vous devez tenir compte du débit et des opérations d'E/S par seconde (IOPS) dont les applications ont besoin.
Dès le départ, planifiez la conception des applications en tenant compte des performances et de l'évolutivité. Tenez compte de facteurs tels que le nombre d'utilisateurs, le volume de données et la croissance potentielle au fil du temps.
Les exigences de performances pour chaque charge de travail varient et dépendent du type de charge de travail. Chaque charge de travail peut contenir une combinaison de systèmes et de services de composants qui présentent des ensembles uniques de caractéristiques de performances. Par exemple, un système responsable du traitement par lot périodique de grands ensembles de données a des exigences de performances différentes de celles d'une solution de bureau virtuel interactive. Vos stratégies d'optimisation doivent répondre aux besoins spécifiques de chaque charge de travail.
Sélectionnez des services et des fonctionnalités qui correspondent aux objectifs de performances de chaque charge de travail. En matière d'optimisation des performances, il n'existe pas de solution unique. Lorsque vous optimisez chaque charge de travail, l'ensemble du système peut atteindre des performances et une efficacité optimales.
Tenez compte des caractéristiques de charge de travail suivantes qui peuvent influencer vos exigences de performances :
- Archétype de déploiement : l'archétype de déploiement que vous sélectionnez pour une application peut influencer votre choix de produits et de fonctionnalités, qui déterminent ensuite les performances que vous pouvez attendre de votre application.
- Emplacement des ressources : lorsque vous sélectionnez une région Google Cloudpour les ressources de votre application, nous vous recommandons de privilégier une faible latence pour les utilisateurs finaux, de respecter les réglementations sur la localité des données et de vous assurer de la disponibilité des produits et services Google Cloud requis.
- Connectivité réseau : choisissez des services de mise en réseau qui optimisent l'accès aux données et la diffusion de contenu. Profitez du réseau mondial, des backbones à haut débit, des emplacements d'interconnexion et des services de mise en cache de Google Cloud.
- Options d'hébergement d'applications : lorsque vous sélectionnez une plate-forme d'hébergement, vous devez évaluer les avantages et les inconvénients de chaque option en termes de performances. Par exemple, envisagez les plates-formes Bare Metal, les machines virtuelles, les conteneurs et les plates-formes sans serveur.
- Stratégie de stockage : choisissez une stratégie de stockage optimale en fonction de vos exigences de performances.
- Configurations des ressources : le type de machine, les IOPS et le débit peuvent avoir un impact significatif sur les performances. De plus, au début de la phase de conception, vous devez prendre en compte les fonctionnalités de sécurité appropriées et leur impact sur les ressources. Lorsque vous planifiez des fonctionnalités de sécurité, préparez-vous à accepter les compromis nécessaires en termes de performances pour éviter tout effet imprévu.
Recommandations
Pour garantir une allocation optimale des ressources, tenez compte des recommandations des sections suivantes.
Configurer et gérer les quotas
Assurez-vous que votre application n'utilise que les ressources nécessaires, telles que la mémoire, le stockage et la puissance de traitement. Une allocation excessive peut entraîner des dépenses inutiles, tandis qu'une allocation insuffisante peut entraîner une dégradation des performances.
Pour permettre un scaling élastique et vous assurer que des ressources adéquates sont disponibles, surveillez régulièrement la capacité de vos quotas. De plus, suivez l'utilisation des quotas pour identifier les contraintes de scaling potentielles ou les problèmes de surallocation, puis prenez des décisions éclairées concernant l'allocation des ressources.
Éduquer et sensibiliser
Informez vos utilisateurs des exigences de performances et fournissez-leur des ressources pédagogiques sur les techniques de gestion efficace des performances.
Pour évaluer la progression et identifier les points à améliorer, documentez régulièrement les performances cibles et les performances réelles. Testez la charge de votre application pour identifier les points d'arrêt potentiels et comprendre comment la faire évoluer.
Surveiller les métriques de performances
Utilisez Cloud Monitoring pour analyser les tendances des métriques de performances, analyser les effets de tests, définir des alertes pour les métriques critiques et effectuer des analyses rétrospectives.
Active Assist est un ensemble d'outils qui peut fournir des insights et des recommandations pour vous aider à optimiser l'utilisation des ressources. Ces recommandations peuvent vous aider à ajuster l'allocation des ressources et à améliorer les performances.