Public Cloud Archive : la recette d’OVH pour faire fondre le coût du stockage de vos données froides

Complétant son offre de stockage, OVH a développé Public Cloud Archive, une solution de stockage à long terme dans le Cloud à un tarif parmi les plus bas du marché. Sur quelles technologies repose ce service ? Comment la pérennité des données est-elle garantie ? Peut-on automatiser le basculement, à une échéance prédéfinie, de ses données chaudes vers de l’archivage ? Réponses avec Romain Le Disez, lead tech du projet et Xavier Lucas, devops.

Données froides, chaudes et tièdes

Celui qui constitue sa cave à vin le sait, le classement des bouteilles est une affaire sérieuse. Étiquettes vers le haut, les vins blancs se rangent près du sol, les rouges au-dessus et les rosés entre les deux. Surtout, il est indispensable de bien distinguer les vins prêts à boire, qu’on placera en position frontale, des vins de garde qu’on logera plus au fond.

Quel rapport avec les données, me direz-vous ? Eh bien, figurez-vous que vous pourriez vous inspirer des méthodes des œnophiles pour discriminer les différents types de données que vous possédez et leur assigner la meilleure place au sein de votre infrastructure. Si le vin, avec les années, peut se bonifier et prendre de la valeur, cela se produit plus rarement avec les données froides malheureusement. Le plus souvent, le coût du stockage continue d’augmenter, tandis que l’intérêt de vos données froides décroît. Pour autant, vous ne pouvez pas toujours vous en séparer. Et encore moins prendre le risque de les découvrir bouchonnées le jour où vous aurez besoin de les désarchiver.

Public Cloud Archive est alors la solution idéale. Mais revenons un tout petit peu en arrière, et précisons ce que sont les données froides. Il s’agit des données rarement consultées, mais dont la conservation à long voire très long terme est nécessaire, pour des raisons juridiques, des besoins d’archivage ou simplement parce qu’il s’agit d’une garantie contractuelle vis-à-vis de vos clients. Facebook expliquait ainsi il y a quelques années constater un pic de téléchargement de photos le jour Halloween, lesquelles n’étaient déjà plus consultées quelques jours après l’événement, mais devaient tout de même être stockées sur les serveurs de la firme. Avec l’explosion du volume de données générées par les particuliers, et plus encore par les entreprises, il est aujourd’hui intéressant de dissocier données chaudes (actives), froides (inactives) voire tièdes (récentes mais peu accédées). Ceci dans le but de bâtir une stratégie de stockage permettant d’adapter les coûts aux usages réels des données.

Quels choix techniques pour réduire les coûts du stockage ?

En contrepartie d’un tarif significativement inférieur, l’utilisateur d’une solution d’archivage accepte des temps de récupération de ses données plus longs que lorsqu’il s’agit de ses données actives – dont la disponibilité est un critère de performance pour ses applications. Pour baisser les coûts, les hébergeurs ont le choix entre plusieurs technologies : stockage sur bande, sur cassette (LTFS), sur des disques durs génériques bon marché ou encore sur des serveurs placés en sommeil pour en réduire la consommation électrique… Mais, le plus souvent, les hébergeurs sont assez discrets sur la technologie de stockage à froid retenue.

OVH a fait le choix d’une solution Cloud, basée sur la brique Swift du projet libre OpenStack, couplée à une méthode de protection des données permettant d’optimiser la consommation d’espace disque. OpenStack Swift est une technologie qu’OVH maîtrise bien, et exploite notamment pour fournir le Public Cloud Storage. Public Cloud Archive repose sur le même système d’object storage ; les différences tiennent au choix du hardware et au procédé utilisé pour garantir la résilience des données en cas de perte d’un ou plusieurs disques dans l’infrastructure.

L’équipe a ainsi opté pour des serveurs de stockage très similaires au modèle FS-Max commercialisé par OVH, doté de disques grande capacité. L’utilisation de ce type de support de stockage permet de réduire les investissements et de réaliser des économies d’échelle sur la maintenance (moins de disques à remplacer). En outre, la méthode de l’erasure coding a été choisie pour assurer la protection des données sans les répliquer plusieurs fois en intégralité.

Alors que les données sont répliquées intégralement 3 fois dans le cadre de la solution Public Cloud Storage, avec l’erasure coding 1 Mo stocké sur Public Cloud Archive ne consomme qu’1,25 Mo sur notre plateforme. La contrepartie de ce système peu gourmand en espace disque ? L’exécution des calculs nécessaires pour contrôler, hacher et fragmenter les fichiers en 15 morceaux (en fait, 12 morceaux auxquels 3 sont ajoutés pour la parité, c’est-à-dire pour être capable de recalculer les morceaux manquants le cas échéant), puis les rassembler le moment venu, nécessite des ressources CPU, ce qui dégrade logiquement les performances. Voilà pourquoi cet algorithme ne peut pas être utilisé dans le cadre d’une offre telle que Public Cloud Storage. Il assure en revanche le même niveau de résilience pour les données, voire un niveau supérieur, ce qui permet d’assurer une durabilité des données de 100 %. En savoir plus sur l’erasure coding.

Enfin, OVH a fait le choix de facturer aux utilisateurs le trafic lié à l’envoi et à la récupération des données (uniquement le trafic, pas les opérations de lecture/écriture de façon individuelle comme cela est pratiquée par ailleurs). Cela a pour effets vertueux de maintenir un niveau de charge sur l’infrastructure compatible avec l’exécution de l’algorithme d’erasure coding, et de limiter les IOPS sur les disques… ce qui en prolonge la durée de vie. Ainsi les coûts sont optimisés au maximum, et les tarifs affichés sont jusqu’à 50 % moins élevés que ceux de la concurrence sur ce type de service.

Développement d’une gateway pour se connecter à OpenStack Swift via les protocoles standards

L’avantage de Public Cloud Archive est d’offrir une compatibilité avec les principaux protocoles utilisés pour sécuriser le transfert de données, tels que HTTPS, Rsync, SCP et SFTP. Mais cela n’a pas été simple à proposer. OpenStack Swift n’a, en effet, pas été pensé à l’origine pour faire de l’archivage, même si l’on voit aujourd’hui émerger des projets, sous le nom de « High Latency Media », visant à faire fonctionner Swift avec des supports de stockage « lents », tels que les cassettes, disques optiques, MAID.

OpenStack Swift, qui manipule des objets (object storage), possède son propre protocole d’échange. Or, les utilisateurs ont l’habitude, via les protocoles cités plus haut, de manipuler des fichiers hiérarchisés au sein d’un arborescence qui constitue la base des file systems. Pour créer l’offre Public Cloud Archive, le plus gros chantier a donc été de développer un système de fichiers virtuel, permettant de rendre compatible OpenStack Swift avec les protocoles dédiés aux file systems. Pour que cette passerelle (gateway) profite au plus grand nombre, et notamment à la communauté OpenStack, OVH a d’ailleurs décidé de rendre open source le système de fichier virtuel sur lequel elle s’appuie (voir sur Github).

La compatibilité avec les protocoles standards ouvre le champ des usages de Public Cloud Archive, de la sauvegarde de NAS jusqu’au backup à long terme de logs, archive vidéos, photos, etc. En pratique l’utilisation est extrêmement simple : l’utilisateur se connecte au manager, il créé un projet cloud, puis un container de cold storage et choisit la zone géographique de son choix, entre les datacenters situés à Gravelines (Nord de l’Europe) Strasbourg (Est) et Beauharnois (Amérique du Nord) et bientôt d’autres zones. Il peut alors ajouter des objets via une interface graphique, au sein du manager, ou via le client de son choix. Lorsqu’il souhaite récupérer ses objets, l’API Swift d’OpenStack lui retourne un temps d’attente compris entre quelques minutes et quelques heures.

L’équipe travaille actuellement sur la possibilité de basculer, via une commande dans l’API, les données depuis Public Cloud Storage vers Public Cloud Archive à l’issue d’un temps prédéfini. Aujourd’hui, il est possible via l’API Swift d’OpenStack de faire périmer des objets à une date choisie, afin que ces objets soient automatiquement supprimés du Public Cloud Storage. Demain, vous pourrez définir qu’au bout de X semaines, telles types de données migreront automatiquement de PCS vers PCA, et vos coûts seront automatiquement optimisés… A l’intérieur d’OVH, qui met en pratique depuis longtemps le Dogfooding, Public Cloud Archive rencontre déjà un certain succès avec une cinquantaine de clients internes. Les prochains sur la liste ? Probablement le backup FTP des hébergements web… Affaire à suivre !

+ posts