Les différents moyens d'utiliser la Flash pour doper le stockage
Il existe aujourd'hui de multiples façon de tirer parti des capacités de la mémoire Flash pour doper les performances du stockage au sein du datacenter.
Il existe aujourd’hui plusieurs moyens de déployer la Flash dans l’infrastructure de son datacenter, que ce soit au sein même des serveurs, ou dans des baies de stockage. Dans tous les cas, l’objectif est le même : réduire la latence et améliorer les performances, tant en matière d’IOPS qu’en matière de bande passante. L’un des bénéfices secondaires est souvent la réduction du coût du stockage, la mise en œuvre de la Flash permettant d’utiliser moins de disques durs ou d’opter pour un système de stockage moins coûteux – sans compter les bénéfices annexes en matière de réduction d’espace au sein du datacenter et de réduction de la consommation électrique. Dans cet article, nous passons en revue cinq scénarios d'utilisation de la Flash afin d'optimiser les performances du stockage au sein du datacenter.
La Flash sous forme de carte PCI ou de SSD NVME au sein d’un serveur comme étage de cache ou de stockage.
Le fait de placer une carte Flash PCIe ou un SSD NVME au sein d’un serveur permet à la Flash de résider au plus près du processeur et donc de réduire la latence d’accès à la Flash à sa plus simple expression. C’est aujourd’hui la façon la plus efficace de maximiser le nombre d’IOPS avec la latence la plus faible. Utilisée comme stockage primaire , la flash sur SSD ou carte PCI-e permet de maximiser les performances des applications et notamment les applications transactionnelles massives et les applications analytiques. Utilisée comme cache, la Flash PCI-e permet d’accélérer l’accès aux volumes SAN ou NAS (grâce au logiciel ad hoc installé sur le serveur). Et ce cache est d’autant plus efficace que la Flash est proche du CPU.
Il est à noter que l’usage de la Flash aussi près du CPU se traduit souvent par une hausse de la consommation CPU et que du fait du coût des cartes PCI-e et de celui des disques NVME, les capacités sont contraintes. Dans le cas de l’usage de la Flash comme cache, la principale limite est celle des capacités du logiciel de cache. Nombre des logiciels du marché sont limités à un serveur, tandis que d’autres permettent de mettre en œuvre un cache distribué notamment dans les environnements distribués (cas d’une solution comme celle de PernixData en lecture/écriture ou d’Infinio en lecture).
La Flash en tant que cache dans une baie de stockage
L’usage de la Flash en tant que cache par les baies de stockage est devenu courant au cours des trois dernières années. Certains constructeurs, comme NetApp, ont par exemple recours à des cartes Flash PCI-e pour créer un étage de cache en lecture à très haute performance qui vient suppléer l’espace de cache habituel en mémoire vive. De facto cet espace Flash agit comme un accélérateur et permettant de maintenir en cache une quantité bien plus importante de données.
D’autres constructeurs utilisent des SSD traditionnelles au format SAS pour servir d’étage de cache en lecture et en écriture. Leur performance est moindre que celle des cartes PCI-e Flash, mais reste très supérieure à celle des disques de telle sorte qu’il est préférable de stocker des données dans le cache Flash que de les voir évincer du cache en mémoire vive.
L’usage de la Flash comme cache permet de repousser au maximum l’accès aux disques durs. Mais ce n’est pas une panacée. À un moment où à un autre il faudra lire une donnée qui n’est pas en cache ce qui se traduira par un effondrement des performances. Dans la pratique le cache en Flash est particulièrement intéressant pour certaines applications comme le VDI ou l’e-mail. Il peut aussi améliorer les performances des applications de bases de données, les index et les fichiers les plus accédés étant souvent en cache.
La Flash comme stockage de classe « Tier 0 » dans une baie de stockage NAS ou SAN.
La Flash peut être utilisée sous forme de disques SSD afin de fournir une classe de stockage à haute performance dans une baie de stockage. Cette à très haute performance peut être utilisée pour stocker les données les plus critiques (index de bases de données, fichiers VDI…) ou pour participer à une architecture de tiering. Dans ce dernier cas, la baie de stockage gère automatiquement les mouvements de données entre classes de stockage pour garantir que les données ayant besoin de performance soient placées sur la classe la plus rapide et que les données les moins fréquemment utilisées soit placées sur la classe la plus lente (typiquement un pool de disques SATA à 7200 tr/mn).
L’usage de la Flash comme une classe rapide permet de mutualiser une ressource performante mais coûteuse entre plusieurs serveurs et se révèle une alternative économique à l’usage systématique de cartes PCI-e. Mais les algorithmes de tiering ont leurs limites et si une donnée ne se trouve pas positionnée sur la classe désirée, la performance peut s’en trouver très diminuée.
La Flash dans des baies de stockage 100% Flash
Les baies 100% Flash sont aujourd’hui les systèmes de stockage en réseau les plus performants du marché. Leur prix est souvent assez élevé mais l’usage de technologies comme la compression et la déduplication permet de ramener le coût au gigaoctet à un niveau comparable à celui d’une baie de milieu de gamme. Les niveaux de performances pour une baie 100%Flash approchent souvent les 250 000 à 500 000 par baie de 3 à 4 U, un niveau de performance qu’une baie de disque traditionnelle ne pouvait espérer qu’avec une grande quantité de disque nécessitant souvent un rack plein de datacenter.
Le principal bénéfice des baies 100%Flash est leur performance qui permet de doper les applications. Ce sont aussi des dispositifs bien plus simples à administrer et à exploiter que les baies de stockage traditionnelles. Les gains en matière de consommation et de refroidissement sont importants de même que les gains d’espace dans le datacenter. En revanche, ces baies ne sont pas adaptées au stockage de très grandes quantités de données, une fonction qui reste l’apanage des baies de stockage à base de disque dur.
La Flash dans des appliance de cache en réseau
La Flash peut aussi être déployée au sein d’appliance de cache en réseau afin de doper l’accès au stockage SAN ou NAS ou au sein d’appliance de stockage permettant l’accès au cloud. Avere par exemple fait usage de Flash pour doper l’accès aux baies NAS, (ce que faisait aussi Alacritech avec ses appliances ANX) tandis que des constructeurs comme StorSimple ou TwinStrata utilisent des SSD comme espace de stockage et de cache local pour des données dont la vocation est à terme de migrer vers un service de stockage en cloud comme Azure Storage ou Amazon S3.