Ce principe du pilier de fiabilité du Google Cloud Well-Architected Framework fournit des recommandations pour vous aider à utiliser la scalabilité horizontale. En utilisant l'évolutivité horizontale, vous pouvez vous assurer que vos charges de travail dansGoogle Cloud peuvent évoluer efficacement et maintenir leurs performances.
Ce principe s'applique au domaine d'application de la fiabilité.
Présentation des principes
Repensez l'architecture de votre système pour qu'elle devienne horizontale. Pour faire face à la croissance du trafic ou des données, vous pouvez ajouter des ressources. Vous pouvez également supprimer des ressources lorsqu'elles ne sont pas utilisées.
Pour comprendre la valeur du scaling horizontal, examinez les limites du scaling vertical.
Un scénario courant pour le scaling vertical consiste à utiliser une base de données MySQL comme base de données principale avec des données critiques. À mesure que l'utilisation de la base de données augmente, davantage de RAM et de processeur sont nécessaires. À terme, la base de données atteint la limite de mémoire sur la machine hôte et doit être mise à niveau. Vous devrez peut-être répéter ce processus plusieurs fois. Le problème est que la croissance d'une base de données est strictement limitée. La taille des VM n'est pas illimitée. La base de données peut atteindre un point où il n'est plus possible d'ajouter de ressources.
Même si les ressources étaient illimitées, une grande VM peut devenir un point de défaillance unique. Tout problème lié à la VM de base de données principale peut entraîner des réponses d'erreur ou une panne à l'échelle du système qui affecte tous les utilisateurs. Évitez les points de défaillance uniques, comme décrit dans Créer des systèmes à disponibilité élevée grâce à la redondance des ressources.
En plus de ces limites de scaling, le scaling vertical a tendance à être plus coûteux. Le coût peut augmenter de manière exponentielle à mesure que vous acquérez des machines dotées d'une puissance de calcul et d'une mémoire plus importantes.
En revanche, le scaling horizontal peut coûter moins cher. Le potentiel de scaling horizontal est pratiquement illimité dans un système conçu pour évoluer.
Recommandations
Pour passer d'une architecture à une seule VM à une architecture horizontale à plusieurs machines, vous devez planifier soigneusement votre migration et utiliser les bons outils. Pour vous aider à effectuer un scaling horizontal, tenez compte des recommandations des sous-sections suivantes.
Utiliser des services gérés
Les services gérés éliminent la nécessité de gérer manuellement le scaling horizontal. Par exemple, avec les groupes d'instances gérés (MIG) Compute Engine, vous pouvez ajouter ou supprimer des VM pour faire évoluer votre application de manière horizontale. Pour les applications conteneurisées, Cloud Run est une plate-forme sans serveur qui peut adapter automatiquement vos conteneurs sans état en fonction du trafic entrant.
Promouvoir la conception modulaire
Les composants modulaires et les interfaces claires vous aident à mettre à l'échelle les composants individuels selon vos besoins, au lieu de mettre à l'échelle l'ensemble de l'application. Pour en savoir plus, consultez Promouvoir la conception modulaire dans le pilier de l'optimisation des performances.
Implémenter une conception sans état
Concevez des applications sans état, c'est-à-dire sans données stockées localement. Cela vous permet d'ajouter ou de supprimer des instances sans vous soucier de la cohérence des données.