Ce principe du pilier "Optimisation des performances" du Google Cloud framework d'architecture fournit des recommandations pour vous aider à planifier les ressources de vos charges de travail dans Google Cloud. Il souligne l'importance de définir des exigences précises avant de concevoir et de développer des applications pour le déploiement ou la migration vers le cloud.
Présentation du principe
Pour répondre à vos besoins commerciaux, il est important de définir les exigences de performances de vos applications avant de les concevoir et de les développer. 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ébut, 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 de chaque charge de travail varient et dépendent du type de charge de travail. Chaque charge de travail peut contenir un mélange de systèmes et de services composants qui présentent des caractéristiques de performances uniques. 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 interactif. 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.
- Placement des ressources : lorsque vous sélectionnez une Google Cloud région pour les ressources de votre application, nous vous recommandons de donner la priorité à la faible latence pour les utilisateurs finaux, de respecter les réglementations sur la localisation des données et de vous assurer de la disponibilité des produits et services requis Google Cloud .
- Connectivité réseau : choisissez des services réseau qui optimisent l'accès aux données et la diffusion de contenu. Profitez du réseau mondial de Google Cloud , de ses dorsales à haut débit, de ses emplacements d'interconnexion et de ses services de mise en cache.
- 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, tenez compte des plates-formes Bare Metal, des machines virtuelles, des conteneurs et des 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, dès le début de la phase de conception, vous devez tenir compte des fonctionnalités de sécurité appropriées et de leur impact sur les ressources. Lorsque vous planifiez des fonctionnalités de sécurité, préparez-vous à faire 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 surallocation peut entraîner des dépenses inutiles, tandis qu'une sous-allocation peut entraîner une dégradation des performances.
Pour prendre en charge le 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.
Informer et sensibiliser
Informez vos utilisateurs des exigences de performances et fournissez des ressources pédagogiques sur les techniques efficaces de gestion des performances.
Pour évaluer les progrès 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 vous pouvez 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 peuvent 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.