luchschen_shutter - Fotolia
Scale-up ou scale-out : quel est le meilleur moyen d’étendre son stockage ?
Cet article examine les différences entre les modes scale-up et scale-out pour étendre le stockage, ainsi que les bonnes pratiques à adopter sur site et dans le cloud.
Lorsqu’elles ont besoin d’étendre leur capacité de stockage, les entreprises ont le choix entre deux approches : scale-up ou scale-out. En clair, étendre la capacité de stockage de la baie en place – éventuellement en la remplaçant par un modèle plus performant – ou en déployer d’autres à côté pour lui venir en renfort. Chaque option a ses avantages, ses inconvénients et ses scénarios d’usage.
En informatique, l’évolutivité verticale ou scale-up implique d’accroître la puissance de traitement en installant des composants plus performants. Cela pourrait, par exemple, consister à ajouter un nouveau processeur, à installer plus de disques, plus de RAM, voire à déplacer l’ensemble des données vers une autre plateforme matérielle, plus performante.
L’évolutivité horizontale, ou scale-out, représente la possibilité d’augmenter les ressources en démultipliant le nombre de serveurs ou d’unités de traitement. En mode scale-out, il n’est plus question d’exploiter un système plus puissant, mais de répartir la charge de travail entre un plus grand nombre d’unités génériques moins coûteuses.
Évolutivité horizontale ou verticale du stockage
L’évolutivité du stockage suit une démarche comparable. Pour augmenter la capacité, les équipes informatiques peuvent soit monter des disques de plus grosse capacité ou en augmenter le nombre (scale-up), soit répartir les charges de travail sur davantage de baies (scale-out).
L’extension en scale-up ne présente pas de difficulté technique majeure. Il y a cependant une limite : le système de stockage est prévu d’origine pour une certaine configuration, et agira d’autant plus comme un goulet d’étranglement que les nouvelles capacités s’éloignent des caractéristiques normales. Les montées en charge deviennent dès lors de plus en plus difficiles.
Ces goulets d’étranglement résultent du manque de débit des contrôleurs de stockage, au nombre de deux dans la plupart des baies de disques. Dans certains systèmes, il est possible de mettre à niveau les contrôleurs eux-mêmes. En cas de stockage en réseau, la saturation peut aussi provenir de l’interface réseau.
Le scale-out, l’autre solution permettant d’accroître la capacité de stockage, consiste à relier des nœuds en parallèle pour qu’ils fonctionnent les uns avec les autres en cluster, et à présenter à l’application leur capacité sous la forme d’un seul ensemble.
L’ajout de nœuds suffit à supprimer les goulets d’étranglement dus aux contrôleurs et aux interfaces, puisque chaque nœud dispose de ses propres ressources. Par exemple, le chiffrement ou la compression sont répartis. Plusieurs modèles de baies de stockage sont prévus pour fonctionner en cluster, mais le nec plus ultra en la matière est l’infrastructure hyperconvergée. Dans celle-ci, les ressources de stockage, mais aussi celles de calcul et celles du réseau sont mises en parallèle pour une efficacité maximale du stockage.
Stockage évolutif sur site
Sur site, il est relativement simple de faire évoluer le stockage en mode scale-up. Les fournisseurs proposent, dans la grande majorité, des mises à niveau des disques qui se font de manière transparente, les outils d’administration sachant reconfigurer automatiquement les constructions en RAID (protection des données par redondance) que l’on trouve dans les NAS comme dans les SAN. En revanche, le remplacement ou la mise à niveau des contrôleurs comme des interfaces réseau est plus complexe.
Dans les deux cas, ces mises à niveau impliquent la mise hors ligne des systèmes de stockage, que ce soit parce qu’il faut les éteindre pour remplacer un contrôleur, ou parce que la baie est indisponible pendant la reconstruction de ses groupes RAID.
Une alternative est de remplacer une baie par une autre plus récente et plus capacitive, ce qui permet de migrer de l’une à l’autre sans interrompre les opérations trop longtemps – en l’occurrence juste au moment de la bascule entre l’ancien et le nouveau système. Les entreprises doivent cependant tenir compte du temps nécessaire au transfert des données et du risque d’en perdre lors de l’opération.
Sur le papier, les systèmes de type scale-out semblent alors plus simples. L’ajout de nœuds permet de faire croître le pool de stockage moyennant une courte interruption, le temps que les nœuds se reconnaissent mutuellement sur le réseau et rafraîchissent ce qu’ils présentent aux serveurs. Dans ces configurations, il existe une sorte de RAID à l’échelle du cluster que l’on appelle l’Erasure Coding. Toutefois, sa construction – ou sa reconstruction – se fait au fil de l’eau, durant les périodes de production.
L’extension en scale-out est parfois le seul moyen d’accompagner l’envolée des besoins de stockage. Ce fonctionnement présente toutefois un inconvénient : s’il est bien adapté au stockage des fichiers, il convient généralement peu aux bases de données transactionnelles.
Stockage évolutif dans le cloud
En cloud, les services de stockage s’appuient sur des architectures scale-out. Les composants élémentaires (matériels génériques en cluster, systèmes de stockage objet) sont conçus d’entrée de jeu pour prendre en charge des jeux de données susceptibles de croître en permanence. Il s’agit de serveurs – souvent x86 – qui exécutent des systèmes de stockage, voire d’infrastructures hyperconvergées.
Ces systèmes sont bien adaptés aux charges de travail élastiques, aux entreprises qui souhaitent commencer petit puis se développer, aux bases de données non transactionnelles. Le mode scale-out est le moyen qui permet aux services de stockage en cloud d’étendre leur capacité d’un simple clic de souris.
Puisque le mode scale-out multiplie les contrôleurs – on conserve une certaine proportion entre le nombre de contrôleurs en production et la capacité utilisable – les fournisseurs de cloud public AWS, Azure et GCP proposent de jouer sur ces configurations. Ils proposent ainsi de choisir non seulement la capacité, mais aussi la quantité d’IOPS de leurs services de stockage.
Évidemment, les coûts suivent les niveaux de performance : aux DSI de concilier capacités et performances dans leur parc cloud.
Parlons enfin des architectures en cloud hybride qui font aujourd’hui miroiter une double promesse : scale-up pour le matériel sur site et scale-out pour le cloud public. On concilie ainsi simplicité et élasticité.