Nouvelles métriques de stockage d'objets

Nouvelles métriques de stockage d'objetsForteresse volante par Nele-Diel

Équipe de stockage d'objets S3 Mail.ru Cloud Storage a traduit un article sur les critères importants lors du choix d'un stockage d'objets. Voici le texte de l'auteur.

Lorsque l’on parle de stockage d'objets, les gens pensent généralement à une seule caractéristique : le prix par To/Go. Bien sûr, cette métrique est importante, mais elle rend l'approche unidimensionnelle et réduit le stockage d'objets à un outil de sauvegarde. De plus, cette approche diminue l'importance du stockage d'objets dans la stack technologique de l'entreprise.

Lors du choix d'un stockage d'objets, il convient de prêter attention à cinq caractéristiques :

  • performance ;
  • scalabilité ;
  • compatibilité avec S3 ;
  • réaction aux pannes ;
  • intégrité.

Ces cinq caractéristiques constituent de nouvelles métriques pour le stockage d'objets, au même titre que le coût. Examinons-les toutes.

Performance

Les stockages d'objets traditionnels ne se distinguent pas par leur performance. Les prestataires de services ont constamment sacrifié la performance dans leur quête de prix bas. Cependant, avec les solutions de stockage d'objets modernes, c'est différent.

La vitesse des différents stockages s'approche du Hadoop, voire la dépasse. Les exigences modernes en matière de vitesse de lecture et d'écriture vont de 10 Go/s pour les disques durs à 35 Go/s pour le NVMe. 

Une telle bande passante est suffisante pour Spark, Presto, Tensorflow, Teradata, Vertica, Splunk et d'autres frameworks de calcul modernes dans le domaine de l'analyse. Le fait que les bases de données MPP soient configurées pour utiliser des stockages d'objets indique qu'il est de plus en plus utilisé comme principale solution de stockage.

Si votre système de stockage ne fournit pas la vitesse nécessaire, vous ne pouvez pas utiliser les données et en extraire de la valeur. Même si vous extrayez des données d'un stockage d'objets vers une structure de traitement en mémoire, une bande passante est toujours nécessaire pour transférer des données dans et hors de la mémoire. Les anciens stockages d'objets n'offrent pas cette capacité.

C'est un point clé : le nouvel indicateur de performance est la bande passante, et non la latence. Elle est requise pour des données évolutives, et c'est la norme dans les infrastructures de données modernes.

Bien que les tests de performance soient un bon moyen d'évaluer la performance, il est impossible de la mesurer avec précision avant le déploiement de l'application dans un environnement. Ce n'est qu'après cela que l'on peut identifier l'endroit exact du goulet d'étranglement : dans le logiciel, les disques, le réseau ou au niveau du calcul.

Scalabilité

La scalabilité fait référence au nombre de pétaoctets pouvant être contenus dans un seul espace de noms. Les fournisseurs annoncent une scalabilité facile, mais omettent de mentionner que, à mesure que l'on scale, les systèmes monolithiques massifs deviennent fragiles, complexes, instables et coûteux.

Un nouvel indicateur de scalabilité est le nombre d'espaces de noms ou de clients que vous pouvez servir. Cette métrique est directement issue des hyperscalers, où les modules de stockage sont petits mais s'échelonnent à des milliards d'unités. En général, il s'agit d'une métrique cloud.

Lorsque les modules standard sont de petite taille, il est plus facile de les optimiser, c'est-à-dire d'assurer la sécurité, le contrôle d'accès, la gestion des politiques, du cycle de vie et des mises à jour sans interruption de service. Et en fin de compte, d'assurer la performance. La taille du module est fonction de la gestion de la zone de défaillance, c'est ainsi que les systèmes hautement résilients sont construits.

La multiclientèle présente de nombreuses caractéristiques. Bien que ce paramètre indique comment les organisations fournissent l'accès aux données et aux applications, il s'applique également aux applications elles-mêmes et à la logique de leur isolation les unes par rapport aux autres.

Les caractéristiques de l'approche moderne de la multiclientèle :

  • En peu de temps, le nombre de clients peut passer de quelques centaines à plusieurs millions.
  • Les clients sont complètement isolés les uns des autres. Cela leur permet d'exécuter différentes versions du même logiciel et de stocker des objets avec différentes configurations, permissions, fonctionnalités, niveaux de sécurité et de service. Cela est nécessaire lors de la mise à l'échelle de nouveaux serveurs, des mises à jour et des régions géographiques.
  • Le stockage est élastiquement évolutif, les ressources sont fournies à la demande.
  • Chaque opération est gérée par une API et automatisée sans intervention humaine.
  • Les logiciels peuvent être déployés dans des conteneurs et utiliser des systèmes d'orchestration standard tels que Kubernetes.

Compatibilité avec S3

L'API Amazon S3 — véritable référence pour le stockage d'objets. Chaque fournisseur de logiciels pour le stockage d'objets prétend être compatible avec celui-ci. La compatibilité avec S3 est binaire : soit elle est pleinement réalisée, soit elle ne l'est pas.

Dans la pratique, il existe des centaines et des milliers de scénarios aux limites où quelque chose ne fonctionne pas lors de l'utilisation d'un stockage d'objets. Cela est particulièrement vrai chez les fournisseurs de logiciels et de services propriétaires. Ses principaux cas d'utilisation sont l'archivage direct ou la sauvegarde, donc les raisons d'appeler l'API sont limitées, et les options d'utilisation sont homogènes.

Les avantages du logiciel open source sont significatifs. Il couvre la plupart des scénarios aux limites, en tenant compte de la taille et de la diversité des applications, des systèmes d'exploitation et des architectures matérielles.

Tout cela est important pour les développeurs d'applications, donc il est conseillé de tester le fonctionnement de l'application avec les fournisseurs de stockage. Le code source ouvert simplifie le processus — il est plus facile de comprendre quelle plateforme convient le mieux à votre application. Un fournisseur peut être utilisé comme point d'entrée unique vers les stockages — cela signifie qu'il répondra à vos besoins. 

Le code source ouvert signifie que les applications ne sont pas liées au fournisseur et sont plus transparentes. Cela garantit un cycle de vie long pour l'application.

Et quelques remarques supplémentaires concernant l'open source et S3. 

Si vous lancez une application pour le traitement de grandes quantités de données, S3 SELECT améliore considérablement les performances et l'efficacité. Cela se fait en utilisant SQL pour n'extraire du stockage que les objets dont vous avez besoin.

Un point clé est le support des notifications de seau. Les notifications de seau facilitent l'informatique sans serveur — un composant essentiel de toute architecture microservices proposée en tant que service. Étant donné que le stockage d'objets est en fait un stockage cloud, cette capacité devient décisive lorsque le stockage d'objets est utilisé par des applications cloud.

Enfin, l'implémentation de S3 doit prendre en charge les interfaces de chiffrement des API Amazon S3 côté serveur : SSE-C, SSE-S3, SSE-KMS. Mieux encore, si S3 prend en charge une protection contre l'accès non autorisé qui est vraiment sécurisée. 

Réaction aux pannes

Un indicateur souvent négligé est la manière dont le système gère les pannes. Les échecs surviennent pour diverses raisons, et le stockage objet doit les prendre en compte.

Par exemple, il existe un point de défaillance unique, dont la métrique est nulle.

Malheureusement, de nombreux systèmes de stockage d'objets utilisent des nœuds spéciaux qui doivent être activés pour que le cluster fonctionne correctement. Cela inclut les nœuds de nom ou les serveurs de métadonnées, créant ainsi un point de défaillance unique.

Même là où plusieurs points de défaillance sont prévus, la capacité à supporter des pannes catastrophiques est primordiale. Les disques échouent, les serveurs tombent en panne. Le point clé est de développer un logiciel conçu pour traiter les pannes comme un état normal. En cas de défaillance d'un disque ou d'un nœud, ce logiciel continuera à fonctionner sans interruption.

La protection intégrée contre l'effacement et la dégradation des données garantit que vous pouvez perdre autant de disques ou de nœuds que vous avez de blocs de parité — généralement la moitié des disques. Ce n'est qu'à ce moment-là que le logiciel ne pourra pas récupérer les données.

L'échec est rarement testé sous charge, mais un tel test est impératif. La simulation d'un échec sous charge montrera les coûts cumulatifs engagés après la défaillance.

Consistance

Un indicateur de consistance de 100% est également appelé consistance stricte. La consistance est un élément clé de tout système de stockage, mais la consistance stricte est relativement rare. Par exemple, Amazon S3 ListObject n'est pas strictement cohérent, il est cohérent uniquement à la fin.

Que signifie la consistance stricte ? Pour toutes les opérations après une opération PUT confirmée, les conditions suivantes doivent être remplies :

  • La valeur mise à jour est visible lors de la lecture à partir de n'importe quel nœud.
  • La mise à jour est protégée par une sauvegarde en cas de défaillance d'un nœud.

Cela signifie que si vous débranchez le câble en plein milieu d'une écriture, rien ne sera perdu. Le système ne retourne jamais des données corrompues ou obsolètes. C'est une barre haute qui compte pour de nombreux scénarios : des applications transactionnelles aux sauvegardes et à la récupération.

Conclusion

Ce sont de nouvelles métriques de stockage d'objets qui reflètent les modèles d'utilisation dans les organisations modernes, où la performance, la cohérence, la scalabilité, les domaines de défaillance et la compatibilité avec S3 sont des éléments fondamentaux pour les applications cloud et l'analyse de grandes données. Je recommande d'utiliser cette liste en complément du prix lors de la création des architectures de données modernes. 

À propos du stockage d'objets Mail.ru Cloud Solutions : Architecture S3. 3 ans d'évolution du stockage cloud Mail.ru.

Que lire d'autre :

  1. Exemple d'application événementielle basée sur des webhooks dans le stockage d'objet S3 de Mail.ru Cloud Solutions.
  2. Plus que Ceph : stockage en blocs dans le cloud MCS 
  3. Travailler avec le stockage S3 Mail.ru Cloud Solutions comme avec un système de fichiers.
  4. Notre chaîne Telegram pour les nouvelles sur les mises à jour du stockage S3 et d'autres produits. 

Source : habr.com

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster