12 avril 2009

Vertical Scaling vs Horizontal Scaling

Vertical Scaling: également connu sous le nom de scaling up, cette technique consiste à ajouter plus de ressources matérielles à la même machine, en général en ajoutant plus de puissance processeurs (CPU) et de mémoire (RAM). Cette solution est :

  • Chère
  • Très facile à mettre en œuvre (en général, pas de changement nécessaire dans votre application)
  • Un seul point de défaillance (si serveur plante, que faire?)
Horizontal Scaling: également connu sous le nom de scaling out, cette technique consiste à ajouter plus de machines dans l'infrastructure (architecture), en général en ajoutant du matériel bon marché (comme ce bon vieil ordinateur sous votre bureau). Cette solution est :
  • Moins couteuse : du moins les dépenses sont plus linéaires
  • Difficile à mettre en place techniquement parlant (beaucoup plus difficile que la verticale), il faut que l'application supporte cette architecture
  • Beaucoup de points de défaillances possibles, il faut traiter élégamment les points de défaillance (avoir de la haute disponibilité avec de la redondance)
Avant de choisir, l'une ou l'autre des solutions, il faut se poser la question de savoir laquelle est la plus rentable. En effet, est-ce que le cout du matériel pour le vertical scaling est plus rentable que le cout d'un ingénieur et de son travail pour mettre en place la solution pour faire fonctionner de façon transparente l'horizontal scaling ? A vous de juger en fonction de vos contraintes (budgétaires ou autres) et de celles de votre projet (contraintes de cout, disponibilité, scaling, ...).

1 Comment:

Anonyme said...
Ce message a été supprimé par un administrateur du blog.