Passer au contenu principal

Scalabilité et Scaling

La scalabilité est la capacité d’un système à s’adapter à une croissance future sans nécessiter de modifications majeures de sa conception ou de son architecture. Un système est dit "scalable" s’il peut évoluer de manière transparente pour gérer un plus grand nombre d’utilisateurs, de données ou de transactions sans perturbation significative.

Le scaling est le processus d’adaptation de la capacité d’un système existant pour répondre à une demande croissante. Cela peut impliquer l’augmentation des ressources matérielles ou logicielles d’un système, comme la puissance de traitement, la mémoire, le stockage, etc., pour gérer une charge de travail accrue.


Qu'est ce que la scalabilité verticale ?

La scalabilité verticale fait référence à l’ajout de ressources à un serveur unique, comme l’augmentation de la RAM ou le remplacement du CPU. Cette approche est relativement simple, mais présente des inconvénients majeurs :

  • Le coût de l’expansion des capacités matérielles peut augmenter de manière exponentielle.
  • Il existe des limites à cette méthode : bien qu’il soit possible d’augmenter les capacités d’un serveur par un facteur de 2, cela devient difficile, voire impossible, pour des augmentations de l’ordre de 100 fois.


Qu'est ce que la scalabilité horizontale ?

La scalabilité horizontale consiste à ajouter de nouveaux serveurs qui exécutent les mêmes tâches. Cela permet l’utilisation de serveurs standard, mais cela nécessite des considérations logicielles importantes :

  • L’application doit être sans état (stateless), ce qui signifie que les données sont stockées dans un service externe, comme une base de données externe ou un cache distribué, plutôt que sur les serveurs individuels.
  • Il est également important de noter que la scalabilité horizontale nécessite une gestion efficace de la répartition de la charge (load balancing) pour distribuer efficacement les requêtes entre les différents serveurs.

Aucune page ou chapitre n'a été ajouté à cet article.