ktsdesign - Fotolia
Stockage dans le cloud : comment mesurer ses performances
Cet article dresse la liste des mesures possibles pour évaluer les performances d’un stockage en cloud, comparativement aux mesures classiques dans les datacenters.
Environ 50 % des données d’entreprise sont désormais stockées dans le cloud, et ce chiffre augmente encore lorsqu’on tient compte des clouds privés et hybrides. Le stockage dans le cloud offre beaucoup de souplesse et s’avère plutôt économique. Les entreprises peuvent opter pour les hyperscalers, comme Amazon Web Services, Google Cloud Platform et Microsoft Azure, ou pour des fournisseurs de cloud locaux, souvent plus spécialisés. Mais comment mesurer l’efficacité des services de stockage dans le cloud ? Lorsque le stockage se fait sur site, il y a mille et une façons bien établies d’en suivre les performances. Dans le cloud, le flou s’installe.
C’est en partie à cause de la pluralité de choix que les choses se compliquent. En effet, le stockage dans le cloud se décline dans toute une gamme de formats, de capacités et de performances. Il peut s’agir de stockage en mode fichier, bloc ou objet, de systèmes à base de disques durs, de stockage accolé à une machine virtuelle, de NVMe, de SSD et même de bandes, ou encore d’une technologie qui fonctionne sur site « à la façon d’un cloud ».
La comparaison et la surveillance des instances de stockage dans le cloud s’avèrent donc plus difficiles que pour le stockage sur site. Outre les mesures de performance classiques du stockage, comme les IOPS et le débit, les professionnels informatiques qui évaluent les systèmes dans le cloud doivent tenir compte d’autres critères, tels que le coût, la disponibilité du service, voire la sécurité.
Les mesures classiques du stockage
Les mesures classiques s’appliquent bien évidemment au stockage dans le cloud, mais elles sont plus difficiles à interpréter. Les systèmes de stockage professionnels sont évalués selon deux principales mesures de « vitesse ». Le débit représente le taux de transfert des données vers et depuis les supports de stockage, exprimé en octets par seconde. Les IOPS mesurent le nombre de lectures et d’écritures (opérations d’entrée/sortie) effectuées par seconde.
Pour ces mesures, les fabricants de matériel distinguent les vitesses d’écriture et de lecture : les vitesses d’écriture sont généralement plus rapides, car les données sont d’abord enregistrées dans une mémoire cache embarquée dans l’unité de stockage ; cette mémoire, de la DRAM, est bien plus véloce que le support de stockage lui-même (un plateau magnétique survolé par une tête ou de la NAND).
Les fabricants de disques durs, de SSD et de baies de disques font aussi une distinction entre les lectures/écritures séquentielles et aléatoires. Ces mesures dépendent notamment du mouvement des têtes de lecture/écriture sur les plateaux d’un disque dur mécanique et, sur les SSD, de la nécessité d’effacer avant toute écriture des données préexistantes. La performance des lectures/écritures aléatoires est en principe la meilleure indication des performances réelles.
Les fabricants de disques durs parlent aussi de tours par minute (tr/min, ou RPM) pour les disques mécaniques. Il est généralement question de 5 400 ou 7 200 tr/min pour les disques durs grand public et parfois de 10 000 ou 12 000 tr/min pour les modèles professionnels. Ces vitesses de rotation n’influencent pas le débit ; d’ailleurs, à débit constant, plus un disque dur tourne vite, moins il a de capacité, mais ses données, étalées sur plus de surface, sont potentiellement écrites de manière plus fiable. En revanche, le nombre de tours par minute va de pair avec la vitesse d’accès (les IOPS, donc), car il permet à la tête de se positionner plus rapidement à l’endroit où se trouve un fichier.
Donc, plus le nombre d’IOPS est élevé, plus le système est performant pour accéder à une donnée. Les disques durs mécaniques se situent généralement entre 50 et 200 IOPS. Les supports SSD sont considérablement plus rapides, pouvant atteindre 25 000 IOPS, voire plus.
Dans la réalité, les différences de performances sont moindres dès que l’on tient compte des opérations fonctionnelles autour des disques : les traitements effectués par le contrôleur de stockage, le transport des données sur le réseau, l’utilisation en configuration RAID ou encore l’usage de mémoire cache.
La latence correspond au temps nécessaire pour exécuter chaque demande d’entrée/sortie. Pour un disque dur mécanique, il faut compter entre 10 et 20 millisecondes. Pour les SSD, le chiffre tombe à quelques millisecondes. La latence est souvent la mesure la plus importante pour déterminer le stockage le mieux adapté à une application.
Les mesures du cloud
Transposer les mesures de stockage classiques dans le cloud est rarement simple. En général, les acheteurs de stockage dans le cloud ne savent pas exactement comment leur capacité est provisionnée. La combinaison exacte de supports SSD, disques mécaniques, bandes ou dispositifs optiques dépend exclusivement du prestataire et de ses niveaux de service.
Les fournisseurs de cloud à grande échelle combinent généralement plusieurs types de stockage et font appel à la mise en cache et à l’équilibrage de charge, ce qui rend les données de performance du matériel proprement dit moins pertinentes.
Les fournisseurs de cloud proposent également différents formats de stockage : en mode bloc, fichier et objet principalement, rendant ainsi les mesures encore plus difficiles à comparer.
Les mesures varieront également selon les qualités de stockage qu’achète une entreprise. En effet, les hyperscalers proposent désormais plusieurs niveaux de stockage en fonction des performances et du prix.
N’oublions pas les offres orientées services, comme la sauvegarde, la restauration et l’archivage des données, qui s’accompagnent de leurs propres mesures, notamment la durée maximale d’interruption admissible (RTO, pour Recovery Time Objective) et la fraîcheur des données récupérées (RPO, Recovery Point Objective), laquelle est conditionnée par la fréquence des sauvegardes.
Le stockage en mode bloc, le plus basique, reste encore le critère de comparaison le plus simple, du moins entre les grands fournisseurs de cloud. Google annonce par exemple, pour sa plateforme cloud GCP, le nombre maximal d’IOPS soutenu et le débit maximal soutenu (en Mo/s) pris en charge pour son stockage en mode blocs. Cela se décompose en IOPS de lecture et d’écriture, et en débit par giga-octets de données par instance. Mais comme l’indique Google : « Les performances des disques persistants (IOPS et débit) dépendent, entre autres, de la taille de disque, du nombre d’instances vCPU et de la taille de bloc E/S. » Google présente également une comparaison utile de son infrastructure par rapport à un disque physique à 7 200 tr/min.
Microsoft publie un guide à l’attention des clients qui désirent surveiller leur usage sur son service de stockage objet appelé Blob. Ce guide donne une première idée de ce que sont les mesures de performance du stockage dans l’univers Azure.
AWS prodigue des conseils similaires pour son offre EBS (Elastic Block Store). Les acheteurs peuvent ainsi s’informer sur les différents niveaux de stockage, allant des SSD haute performance au stockage de données froides sur disque dur.
Coût, disponibilité du service et autres mesures utiles
Le stockage dans le cloud faisant l’objet d’une tarification à l’utilisation, le coût est toujours un élément clé à considérer. Là encore, les principaux fournisseurs de cloud proposent différents niveaux en fonction des performances et du budget souhaités.
AWS, par exemple, propose des volumes SSD à usage général gp2 et gp3, des volumes optimisés pour des performances io1 et io2 et des volumes disques durs axés sur le débit st1 qui sont destinés aux « applications séquentielles de grande envergure » (comprendre les bases de données de grande taille).
Les mesures de stockage cloud ne se limitent pas au coût et à la performance. Il faut également ajouter le coût par giga-octet ou par instance, celui des données en entrée et particulièrement en sortie (la récupération). Certaines offres de stockage à long terme très bon marché peuvent ainsi devenir très coûteuses lorsqu’il s’agit de récupérer ses données.
Autre mesure à prendre en compte : la capacité exploitable. Il s’agit de connaître la quantité de stockage achetée véritablement disponible pour l’application qui l’utilise, et à quel moment l’utilisation de cette capacité de stockage commence à peser sur les performances réelles de l’application. Les chiffres, là aussi, peuvent différer de ceux des technologies sur site.
Les DSI s’intéresseront également à la disponibilité du service. La fiabilité des composants et des sous-systèmes de stockage est traditionnellement évaluée en fonction de la durée moyenne avant une panne (indicateur MTBF) ou plus récemment, pour les SSD, en fonction de l’indicateur TBW (quantité totale de téra-octets écrits durant la durée de vie).
Pour le provisionnement de clouds à grande échelle, la disponibilité reste la mesure la plus courante et la plus utile. Les fournisseurs de cloud expriment de plus en plus les mesures de disponibilité ou de fonctionnement sous forme de « cinq neufs » (« disponible 99,999 % du temps ») comme le font les datacenters ou les opérateurs de télécoms. Il s’agit souvent du meilleur niveau de service (SLA) et du plus cher.
Ce n’est pas tout. Les acheteurs de stockage dans le cloud devront aussi tenir compte de la localisation géographique, de la redondance, de la protection des données, de la conformité, de la sécurité, et même de la solidité financière du prestataire. Ces critères ne sont pas des mesures de performance à proprement parler, mais si un fournisseur n’est pas à la hauteur, vous risquez de ne plus pouvoir utiliser son service du tout.