Cet article fait partie de notre guide: Stockage Flash : 2016, année de la consécration

Pourquoi la Flash menace les architectures traditionnelles

Le stockage Flash marche sur les plates-bandes des baies de stockage haut de gamme, grâce à ses performances, sa souplesse et à l’évolutivité que permettent les architectures scale-out qui s’adaptent bien aux applications modernes.

Les technologies de stockage à base de mémoire Flash sont en train de bouleverser en profondeur le monde du stockage haut de gamme du fait de leurs performances. Elles participent aussi à la refonte des architectures informatiques par leur rôle dans la convergence entre serveurs et stockage, mais aussi du fait de la nature distribuée des architectures retenues par nombre de constructeurs pour leurs baies 100 % Flash.

Historiquement, les entreprises ont appuyé leurs applications les plus critiques (applications transactionnelles, ERP, CRM, BI, outils analytiques) sur des serveurs en mode scale-up, comme les Mainframe, les minis ou les serveurs Unix. Logiquement, les systèmes de stockage haut de gamme ont adopté des architectures similaires et les baies monolithiques d’IBM, EMC ou Hitachi se sont imposées comme le pendant, côté stockage, des grands serveurs.

À cela trois raisons principales : ces baies ont longtemps été celles qui ont offert les performances les plus élevées, du fait de leur grand nombre de contrôleurs, de leur capacité mémoire et du nombre élevé de disques qu’elles sont capables d’héberger. Ce sont aussi celles qui offraient la panoplie de services de stockage la plus avancée en matière d’intégrité de données et de réplication. Enfin, elles ont été pensées pour offrir une disponibilité maximale et pour minimiser les interruptions de services.

SSD

Mais ce bel édifice est en train de se lézarder à vitesse accélérée.

Tout d’abord, les applicatifs adoptent de plus en plus des architectures distribuées, ce qui se traduit par une mise à la retraite progressive des grands serveurs critiques au profit d’architectures en mode scale-out.

Exemple type, un géant français de la distribution vient de mettre à la retraite une architecture ERP fondée sur sept serveurs Superdome HP pour la remplacer par un cluster de quatre serveurs x86 à base de Xeon E7 chacun doté de 6 To de mémoire et fonctionnant sous SAP HANA.

De plus en plus, des bases de données SQL sont remplacées par des bases SQL en cluster (comme Oracle RAC, ou des nouveaux venus tels NuoDB ou FoundationDB) ou par des bases NoSQL distribuées (type Cassandra, MongoDB, ou CouchBase), notamment pour servir de grandes applications web.

La Flash : des caractéristiques de performance spectaculaires

Ensuite, le monde du stockage connaît une véritable révolution du fait de l’irruption de la mémoire Flash. Si ce nouveau support de stockage a un tel impact c’est que la performance en nombre d’opérations par seconde des disques durs n’avait guère évolué au cours des 10 dernières années.

Ainsi un disque d’entreprise à 10 000 tr/mn reste péniblement sous la barre des 150 IOPS (opérations d’entrées/sorties par seconde) en accès aléatoires, et un disque SATA peine à franchir la barre des 70 à 80 IOPS. Des chiffres qui font pâle figure face à ceux d’une carte Flash PCIe Fusion-IO de dernière génération, qui peut délivrer environ 380 000 IOPS en écriture de blocs de 4K, ou face à ceux d’un SSD de dernière génération de chez HGST qui atteint 100 000 IOPS en écriture (blocs de 4K).

De la même façon, les gains en matière de latence apportés par la Flash sont spectaculaires. Celle des disques durs n’a que peu progressé au cours des 25 dernières années. Seagate note par exemple qu’un disque d’entreprise avait un temps d’accès de 60 ms en 1987. Depuis, on est passé à 5 ms pour les disques d’entreprise à 15 000 tr/mn et à un peu moins de 10 ms pour un disque Nearline. Cette amélioration d’un facteur de 6 à 12 fois peut paraître impressionnante.

Sauf que dans le même temps, la latence d’accès à la mémoire a été divisée par plus de 100 000 (pour passer sous la barre de la nanoseconde) et la performance unitaire des processeurs (mesurée en Flops) a été multipliée par un facteur de plusieurs dizaines de millions de fois. La mémoire flash permet au stockage de refaire une partie de son retard avec des latences ramenées entre 45 à 100 microsecondes selon le support utilisé.

Le stockage Flash menace le stockage traditionnel

Les caractéristiques de performances explosives de la flash ont un impact non négligeable sur le monde du stockage d’entreprise. Pendant près de 25 ans, certains administrateurs de baies haut de gamme ont passé leur temps à extraire le maximum de leurs baies de disques, recourant à des pratiques comme le « short stroking », qui consiste à ne stocker des données que sur les pistes les plus externes des disques durs afin d’en tirer la quintessence en matière de performance (ce sont sur ces pistes que la vitesse linéaire est maximale – elle approche le mur du son – et donc les performances les plus élevées).

Problème, si le short-stroking dope les performances, il se traduit par un colossal gaspillage de capacité, puisque l’on choisit de n’utiliser qu’environ 20 % de l’espace pour maximiser les performances. L’avantage des baies haut de gamme est qu’elles pouvaient accueillir 2 000 à 3 000 disques durs est qu’elles étaient donc les seules à pouvoir approcher la barre du million d’IOPS.

Pour cela, il fallait toutefois mobiliser deux à trois racks complets d’équipements. Par comparaison, il est aujourd’hui possible de délivrer l’équivalent de ce million d’IOPS avec une baie de stockage Flash tenant dans 8U et consommant 15 à 20 fois moins qu’une baie de disque haut de gamme.

Pire pour les fabricants de stockage, certaines applications de nouvelle génération font carrément l’impasse sur les baies et exploitent du stockage flash installé dans les serveurs pour délivrer des performances détonantes avec une consommation encore plus faible. Trois cartes PCIe Fusion-IO dans un serveur délivrent ainsi une performance agrégée de plus d’un million d’IOPS, pour une capacité de 15 To et une consommation électrique additionnelle de 75 W.

De façon plus modeste, VMware indique que sa technologie de stockage logicielle VSAN peut délivrer un peu plus de 100 000 IOPS par nœud serveur si l’on n’utilise que des disques Flash pour le stockage. Ce qui veut dire qu’un cluster de 64 serveurs (la limite pour un cluster vSphere et VSAN 6.0) peut délivrer environ 7 millions d’IOPS, tout en continuant à fournir normalement des services de calcul pour l’hébergement de machines virtuelles.

Face à une telle concurrence, on comprend que les baies de stockage haut de gamme traditionnelles ont un vrai problème.

Les seules raisons qui expliquent leur survie sont leurs exceptionnelles caractéristiques de disponibilité et les habitudes des utilisateurs — ou du moins le parc d’applications installées. Mais clairement, le temps ne joue pas en leur faveur. La migration accélérée des applications vers un modèle distribué et les progrès du stockage Flash en matière de disponibilité pourraient rapidement reléguer les baies de stockage monolithique au rang de dinosaures.

Les baies 100 % Flash à l’assaut des baies de classe Tier 1

Les fabricants de baies Flash l’ont bien compris et ils multiplient les assauts contre les baies traditionnelles. Le scénario dans lequel les baies de stockage Flash menacent le plus les baies de stockage traditionnelles est celui où il faut délivrer un très grand nombre d’IOPS avec une faible latence garantie aux applications.

Les baies de stockage Flash sont en effet non seulement plus rapides et plus simples à utiliser que les baies haut de gamme, mais elles sont à même de délivrer un niveau de performance prédictible tout en permettant une réduction importante des coûts d’acquisition et d’exploitation par rapport à une baie de disques de milieu ou de haut de gamme.

Cet argument n’est d’ailleurs pas utilisé uniquement par des start-ups agressives. Un constructeur comme Oracle, avec ses offres convergées Exadata, met en avant la performance de ses baies Flash face à celles des baies de stockage traditionnelles pour illustrer le bénéfice de son approche convergée, couplant base de données distribuée et stockage Flash distribué.

De façon générale, si les baies Flash ont l’avantage en matière de performances et de prédictibilité, leurs limites se trouve dans la disponibilité. Les baies haut de gamme sont en effet des références en la matière. Elles sont conçues pour assurer une disponibilité optimale des données et garantir une exploitation sans interruption. Pour cela elles embarquent de multiples mécanismes de redondance et des services de monitoring et de diagnostic à distance. Le tout est assorti d’un niveau de service et de support sans faille garantissant par exemple le remplacement de composants défaillants en moins de 4 heures 7 jours sur 7.

Ces baies sont aussi dotées de fonctions de réplication avancées (tels que SRDF chez EMC, PPRC chez IBM, etc.) assurant une reprise sur un site distant même en cas de désastre de grande ampleur. Elles sont aussi utilisables dans des scénarios de métrocluster pour assurer la continuité d’activité dans le cadre d’architecture multi-datacenter en mode actif/actif.

Pour l’instant les baies 100 % Flash sont encore loin de disposer de cet arsenal (à l’exception des baies 100 % Flash G1000 d’Hitachi ou des baies StoreServ 7450, qui s’appuie sur la même architecture que les baies haut de gamme des deux constructeurs). Mais la situation progresse. La réplication synchrone et asynchrone arrive progressivement dans les baies Flash, comme l’attestent les progrès récents de SolidFire ou de Kaminario. Le métrocluster n’est sans doute pas pour demain, mais cela est plus lié à l’évolution des architectures informatiques modernes qu’à l’impossibilité de supporter cette fonction.

Des avantages uniques

Si elles n’ont pas toutes les fonctions de disponibilité des baies monolithiques, les baies 100 % Flash ont toutefois quelques avantages uniques comme leur aptitude au scale-out, qui permet aux entreprises d’ajouter des nœuds au fur et à mesure et souvent de façon totalement transparente pour l’exploitation (ce n’est pas encore le cas d’XtremIO, qui requiert un arrêt du cluster pour l’ajout d’un nœud, mais ce problème devrait être réglé avec la version 4.0 de l’OS de la baie).

Du fait de son architecture « shared nothing », une baie comme la baie Solidfire peut ainsi accueillir des nouveaux nœuds chaque fois que le besoin s’en fait sentir (et il est aussi possible de retirer de façon transparente un nœud pour le réaffecter à un autre cluster), ce qui confère à ces baies une très grande souplesse.

De même, un certain nombre de baies Flash disposent de mécanismes avancés de gestion de la qualité de service qui ont de quoi faire pâlir d’envie certaines baies haut de gamme. Elles peuvent ainsi garantir un certain nombre d’IOPS ou un débit de données à une application donnée, tout en plafonnant le nombre d’IOPS alloué à une autre.

Certains services de données avancés des baies Flash ne sont rendus possibles que par l’utilisation d’un support de stockage à base de silicium. Par exemple, les fonctions avancées de snapshots, de clonage instantané ou de snapshots réinscriptibles de nombreuses baies Flash n’ont pas d’équivalent dans le monde des baies de stockage à base de disques durs.

Il est vraisemblable que d’ici trois à cinq ans, la plupart des applications ouvertes hautement transactionnelles requérant des performantes prédictibles auront migré sur une forme de stockage Flash. Les baies de stockage monolithiques devraient encore un temps conserver le marché des applications Mainframe, du fait des caractéristiques unique de cette plate-forme, et continuer à servir un parc installé d’applications historiques requérant de très haut niveau de disponibilité. Mais les nouvelles applications distribuées ou web scale, ainsi que les environnements de serveurs et de postes de travail virtualisés devraient massivement migrer vers le stockage flash. D’autant que les prix au gigaoctet vont continuer à baisser rapidement avec l’arrivée des nouveaux modules de mémoire Flash 3D chez l’ensemble des grands fabricants de modules Flash, à commencer par Samsung, puis Intel/Micron et Toshiba. Clairement l’avenir est plus aux baies 100 % flash en architecture scale-out qu’au stockage monolithique traditionnel.


Sur le même sujet :


 

Pour approfondir sur DevOps et Agilité