Software

AWS S3 Express One Zone réinvente l’accès aux données : Performances & TCO

  • 30 novembre 2023
  • 6 min. à lire
AWS S3 Express One Zone, stockage cloud avec des performances 10x supérieures. Optimisé pour une latence minimale et des coûts de -50% vs S3 Standard.

Du stockage cloud avec des performances dix fois supérieures et optimisé pour une latence minimale, nous vous présentons Amazon S3 Express One Zone. Avec une réduction des coûts de 50% par rapport à S3 Standard sur les requêtes.

Quand on parle de Cloud, la vitesse et l’efficacité sont souvent synonymes de succès. Deux qualités que Amazon Web Services (AWS) semble avoir adoptées comme leitmotiv dans l’annonce de sa dernière innovation : Amazon S3 Express One Zone.

Découverte lors de l’évènement re:Invent de 2023, cette nouvelle classe de stockage haute performance a été conçue pour répondre aux besoins croissants des applications et workloads exigeants en termes d’accès aux données.

Stockage optimisé pour des performances sans précédent à bas coûts

En premier lieu, S3 Express One Zone promet une amélioration des performances allant jusqu’à dix fois supérieures par rapport à la classe de stockage S3 Standard. Ce saut quantique est atteint grâce à une ingénierie de stockage repensée et permettant de gérer des centaines de milliers de requêtes par seconde tout en maintenant une latence constante à un chiffre en millisecondes.

Comment ça marche : Une question de proximité et de latence

L’astuce réside dans le rapprochement physique entre le stockage et les ressources de calcul (tels que Amazon EC2, Amazon ECS et Amazon EKS). Les objets sont stockés et répliqués sur du matériel dédié au sein d’une seule et même Zone de Disponibilité AWS. Ce qui offre une possibilité de réduction significative du temps d’exécution pour les applications gourmandes en données.

Un classement qui favorise les petits objets

S3 Express One Zone se révèle particulièrement performant pour les petits objets où le délai pour recevoir le premier byte est presque égal à celui pour recevoir le dernier byte. Ainsi, les petits objets peuvent être lus jusqu’à 10 fois plus vite en comparaison avec S3 Standard.

Fonctionnement de la classe de stockage Amazon S3 Express One Zone

Baisse des coûts et amélioration de l’efficacité : TCO quand tu nous tiens

L’efficacité ne s’arrête pas à la performance, car les coûts des requêtes sont également réduits de 50% par rapport à la classe S3 Standard. Cette économie substantielle ouvre la voie à une gestion des coûts plus stratégique, autorisant les entreprises à bénéficier d’une vitesse d’accès supérieure sans subir de charges financières supplémentaires.

Par exemple : Les types d’instances EC2 Spot et On-Demand comptent parmi les options les plus flexibles et économiques pour l’exécution de workloads dans le cloud d’AWS. Avec la réactivité accrue et la performance élevée de S3 Express One Zone, signifient que ces instances peuvent accomplir les tâches requises en un temps record. Ce gain de temps permet non seulement de raccourcir la durée d’utilisation active des instances, mais aussi d’améliorer le ratio performance/coût de ces dernières.

Stockage S3 Express, où sont les économies et pour quel usage?

Prenons pour exemple le cas d’une entreprise ayant un datalake de 500 Go de données avec un volume de 100 Millions de requêtes GET et SELECT mensuel et 100 Millions de requêtes POST, PUT et LIST mensuel.

Pour le contexte, voici les tarifs fournis par AWS pour le stockage S3 dans la région US East (N. Virginia) concernant les 2 classes de stockages S3 que nous allons comparer.

S3 Standard
Stockage / mois$0.023 par Go
GET, SELECT (pour 1,000 requests)$0.0004
PUT, COPY, POST, LIST (pour 1,000 requests)$0.005
S3 Express One Zone
Stockage / mois$0.16 par Go
GET, SELECT (pour 1,000 requests)$0.0002
PUT, COPY, POST, LIST (pour 1,000 requests)$0.0025

Nous pouvons rapidement observer que le prix du stockage est mutiplié par x7 alors que le coût pour 1,000 requêtes est seulement divisé par /2.

Approfondissons maintenant notre scénario de départ en utilisant les tarifs ci-dessus, nous obtenons les calculs suivants :

  • Avec S3 Standard, la facture mensuelle de stockage s’élève à $11,5, auxquels s’ajoutent $540 pour les requêtes, totalisant $551,5.
  • Pour S3 Express One Zone, le coût mensuel de stockage atteint $80, et les frais de requêtes se montent à $270, donnant un total de $350.

Ce scénario démontre l’intérêt financier pour des applications gourmandes en données — accès fréquent — de s’appuyer sur S3 Express comme solution de stockage primaire. Toutefois, pour les usages moins centrés sur les accès fréquent aux données, le supplément lié au stockage pourrait s’avérer contre-productif. Dans ce cas, s’orienter vers une solution comme S3 Standard, voire Standard - Infrequent Access serait plus judicieux.

Repenser l’accès aux données pour les applications exigeantes

Grâce à la classe S3 Express One Zone, des plateformes comme Pinterest et des sociétés comme ClickHouse ou Ansatz Capital ont remarqué non seulement une amélioration significative des performances mais aussi une réduction considérable des coûts d’infrastructure.

Buckets Directory : Une hiérarchisation naturelle du stockage

Pour atteindre ces niveaux de performance, AWS introduit un nouveau type de bucket appelé buckets directory, un nouveau modèle d’authentification et une convention de nommage de bucket qui assure que les noms de bucket soient uniques dans leur région AWS et spécifient un ID de Zone de Disponibilité.

Les buckets directory d’AWS sont un nouveau type de bucket spécialement conçu pour cette classe de stockage. Ils abordent la gestion et l’organisation des données de manière hiérarchique, semblable à une arborescence de fichiers dans un système de fichiers traditionnel. Cette structure de répertoire facilite la navigation et l’accès aux données, tout en soutenant des centaines de milliers de requêtes par seconde, rendant ces buckets parfaitement adaptés aux workloads performants et à la demande data-intensive.

Un nouveau modèle d’authentification

AWS redéfinit le modèle d’authentification avec la fonction CreateSession, qui génère un token de session octroyant un accès temporaire – pour une durée strictement limitée à cinq minutes – à un bucket défini. Ce cadre restreint minimise le risque d’accès non autorisés tout en offrant une flexibilité pour les opérations rapides et fréquentes sur les données.

Les versions les plus récentes des SDK AWS prennent automatiquement en main cette création de session.

Convention de nommage de Bucket : précision et unicité

Chaque bucket au sein de la classe de stockage Express One Zone est garant d’un nom unique qui en plus d’être identificateur au niveau d’une région AWS, inclut spécifiquement un ID de Zone de Disponibilité.

Cette convention de nommage possède plusieurs avantages :

  • D’une part, elle simplifie l’identification et le placement des ressources stockées,
  • et d’une autre part, elle évite tout conflit de nommage, garantissant ainsi une unicité mondiale.

Ainsi, si vous stockez vos données dans la zone use1-az6, la construction du nom de votre bucket suivra l’ordre nomdubucket--use1-az6--x-s3, fusionnant emplacement géographique et caractère unique.

Cette rigueur dans la détermination des noms de buckets non seulement augmente la transparence de la localisation des données, mais elle simplifie également la navigation pour les utilisateurs et les systèmes automatisés, en offrant un cadre cohérent et des repères clairs à l’échelle mondiale.

Dans la pratique : implémentation d’Amazon S3 Express One Zone via CLI

La mise en place de ce nouveau service s’illustre via l’interface de ligne de commande (CLI), bien que l’accès via la console AWS Management et l’API soit également possible (Les SDK sont disponibles).

Création d’un Bucket en S3 Express One Zone via AWS CLI

Par exemple, la création d’un bucket nécessiterait de préciser la zone de disponibilité, et le nom du bucket suivra la convention établie, autorisant ainsi un accès multi-zone sans frais de transfert de données supplémentaires. Le format est le suivant :

base-name--azid--x-s3

Supposons que vous devez créer un bucket dans la zone de disponibilité us-east-1c, qui correspond à l’ID de zone use1-az6. Vous allez commencer par créer un fichier de configuration de bucket, disons s3express-bucket-config.json :

echo '{
   "Location":{
      "Type":"AvailabilityZone",
      "Name":"use1-az6"
   },
   "Bucket":{
      "DataRedundancy":"SingleAvailabilityZone",
      "Type":"Directory"
   }
}' > s3express-bucket-config.json

Ensuite, vous exécuterez la commande suivante pour créer votre bucket directory (ici loud-express) :

aws s3api create-bucket --bucket loud-express--use1-az6--x-s3 \
  --create-bucket-configuration file://s3express-bucket-config.json \
  --region us-east-1

Si tout se passe comme prévu, AWS CLI confirmera la création de votre bucket avec une sortie similaire à :

{
	"Location": "https://loud-express--use1-az6--x-s3.s3express-use1-az6.us-east-1.amazonaws.com/"
}

Usage du Bucket Express One Zone pour le Stockage et Calcul Co-localisés

Une fois que vous avez configuré votre bucket directory, vous pouvez commencer à l’utiliser comme destination pour les commandes CLI classiques, en facilitant ainsi le transfert et la synchronisation des données. Par exemple, pour synchroniser un répertoire local avec votre bucket, vous utiliseriez:

aws s3 sync /dossier/local s3://loud-express--use1-az6--x-s3

Il est important de noter que le service S3 Express One Zone est conçu pour offrir une durabilité des données de 99.999999999% et une garantie de disponibilité de 99.95%, avec un accord de niveau de service de 99.9%.

Création via la Console AWS

Bien que l’AWS CLI soit très pratique, la console AWS offre une alternative plus visuelle. Pour ceux qui préfèrent éviter les lignes de commande, créer un bucket S3 Express One Zone à partir de la console AWS est une procédure simple et intuitive.

Pour démarrer, connectez-vous à la console AWS et naviguez jusqu’au service Amazon S3. Une fois dans le tableau de bord S3, suivez ces étapes :

  1. Cliquez sur le bouton Créer un bucket.
  2. Sélectionnez la région AWS appropriée correspondant à votre Zone de Disponibilité cible.
  3. Spécifiez le type du bucket, en choisissant l’option Directory - New comme classe de stockage.
  4. Dans le formulaire de création, entrez le nom de votre bucket, qui doit suivre la convention requise pour les buckets de la classe Express One Zone.
  5. Passez en revue votre configuration, puis cliquez sur le bouton Créer un bucket pour finaliser le processus.

Création d'un bucket S3 Express One Zone à partir de la console AWS

Un message de confirmation apparaîtra, affirmant que votre bucket S3 Express One Zone est désormais actif et prêt à être utilisé.

Nicolas Verlhiac

Nicolas Verlhiac

Full stack software expert | E-commerce & CRM

Nous sommes spécialisés dans la création de solutions technologiques innovantes qui aident les entreprises à rester compétitives et à prospérer.

tracking-thumb