Azure Blob Storage vs File Storage

Microsoft propose plusieurs options pour stocker des données sur le cloud. Chaque option a son objectif unique pour servir différents besoins commerciaux. L’une des capacités importantes que Microsoft Azure fournit est l’agilité de migrer vers différentes options de stockage si nécessaire.

Il existe différentes options disponibles dans le compte de stockage Azure pour stocker les données des utilisateurs.

  • Blob Storage
  • File Storage
  • Table Storage
  • Queueue Storage
  • Disk

Ce blog essaie de faire la différence entre Azure Blob Storage et File Storage qui est disponible dans Azure Storage Account.

Introduction

Blob Storage

Azure Blob Storage est une solution de stockage objet pour le cloud. Le Blob Storage vous permet de stocker une quantité massive de données non structurées. Les données non structurées n’ont pas besoin d’être du modèle de données spécifique.

File Storage

Azure Files offre des partages de fichiers entièrement gérés dans le cloud qui sont accessibles via le standard industriel SMB. Les partages de fichiers Azure peuvent être montés simultanément par des déploiements dans le cloud ou sur site de Windows, Linux et macOS. Il peut être mis en cache sur les serveurs Windows avec Azure File Sync pour un accès plus rapide.

Quand utiliser

Blob Storage

Azure Blob Storage a été conçu pour répondre à des besoins spécifiques. Si le cas d’utilisation de votre entreprise nécessite de stocker des données non structurées comme l’audio, la vidéo, les images, etc, alors vous devriez probablement opter pour cette option. Les objets qui sont stockés dans Blob n’ont pas nécessairement une extension.

Les points suivants décrivent les scénarios de cas d’utilisation :

  • Servir des images ou des documents directement à un navigateur
  • Stocker des fichiers pour un accès distribué
  • Streaming vidéo et audio
  • Écrire dans des fichiers journaux
  • Stocker des données pour la sauvegarde, la restauration, la reprise après sinistre et l’archivage
  • Stockage de données pour l’analyse par un service sur site ou hébergé par Azure

Stockage de fichiers

Le stockage de fichiers peut être utilisé si votre cas d’utilisation commerciale doit traiter principalement des extensions de fichiers standard comme *.docx, *.png et *.bak alors vous devriez probablement opter pour cette option de stockage.

Les points suivants décrivent les scénarios de cas d’utilisation :

  • Remplacer ou compléter les serveurs de fichiers sur site
  • Applications « Lift and shift »
  • Simplifier le développement du cloud

Télécharger gratuitement ce blog en document PDF pour une lecture hors ligne.

Scénario en temps réel

Envisagez un scénario, dans un environnement de développement où chaque développeur a besoin d’accéder à l’IDE et aux outils sans utiliser internet pour les télécharger. Dans cette situation, Azure Blob Storage répondrait au besoin et en utilisant lequel vous pouvez seulement stocker les outils de développement puis donner un lien à l’équipe pour accéder à l’emplacement Blob.

Pour mettre en œuvre un serveur de fichiers dans votre organisation, vous devriez choisir l’option Azure Files. Un serveur de fichiers est utilisé pour partager des fichiers entre les départements de votre organisation. Lorsqu’il s’agit de partager des Fichiers, l’utilisateur final ne doit pas être autorisé à accéder aux copies du Fichier à partir de son URI et doit être mappé localement dans les ordinateurs. C’est à ce moment-là qu’Azure File Storage répond à votre besoin.

Transfert de gros fichiers

L’approche commune utilisée pour télécharger un gros fichier est de le diviser en morceaux. Le fractionnement n’est pas seulement la fonction pour télécharger des fichiers, mais les morceaux doivent être fusionnés en un Fichier une fois le téléchargement terminé.

Pour la tâche ci-dessus, quelle option serait la plus appropriée ? Azure Blob ou File Storage ?

La réponse est Azure Blob Storage. Bien que ce scénario traite des fichiers, Azure Blob Storage est une bonne solution en raison de ses capacités prêtes à l’emploi.

Azure Blob Storage contient trois types de blobs : Bloc, Page et Append. Un bloc est une unité unique dans un Blob. Un Blob peut contenir de nombreux blocs mais pas plus de 50 000 blocs par Blob. Cela signifie que vous pouvez diviser un Blob en 50 000 blocs à télécharger sur le stockage Azure Blobs. La taille minimale d’un bloc est de 64 Ko et sa taille maximale est de 100 Mo. Si vous regardez (par exemple la bibliothèque .NET), l’un des objets est BlockBlob qui fait partie de la classe CloudBlockBlob. Cette classe vous offre des choses pour travailler avec un Block Blob.

Par exemple, la propriété StreamWriteSizeInBytes vous permet de définir une taille de Block Blob qui peut être bonne pour gérer une vitesse de réseau instable. Chaque bloc Blob possède également des métadonnées qui vous permettent de le contrôler individuellement. Par exemple, si vous voulez vous assurer que tous les Blobs de bloc sont livrés avec succès à un Blob donné, vous pouvez utiliser Content-MD5.

Azure File Storage n’a pas cette capacité prête à l’emploi. Si vous avez besoin de diviser File, vous devez trouver une méthode indirecte comme la classe FileStream ou utiliser des fournisseurs tiers.

Options de surveillance disponibles pour le stockage Blob et le stockage File

Azure Portal

Une fois que vous avez configuré le compte de stockage souhaité à l’option Diagnostics sous la section Surveillance, vous pourrez définir le type de données de métriques que vous souhaitez surveiller et la politique de rétention des données.

Un ensemble de métriques par défaut est affiché dans des graphiques sur la lame du compte de stockage, ainsi que sur les lames de service individuelles (Blobs et Fichiers). Une fois que vous avez activé les métriques pour un service, il peut falloir jusqu’à une heure pour que les données apparaissent dans ses graphiques. Vous pouvez sélectionner Modifier sur n’importe quel graphique de métrique pour configurer les métriques à afficher dans le graphique.

Option de surveillance du stockage du portail Azur

Serverless360 (Produit sur étagère)

Il est possible de surveiller à la fois les blocs de stockage et les fichiers de stockage dans un moniteur d’état ou de seuil. Status Monitor génère un rapport à des moments spécifiques dans une journée représentant l’état des entités par rapport aux valeurs souhaitées. Threshold Monitor génère un rapport lorsque certaines propriétés violent les valeurs souhaitées pendant une période spécifiée. De manière prédominante, Serverless360 surveille les Blobs et les Fichiers en fonction de ses propriétés plutôt que de ses métriques, contrairement à Azure Portal.

Type d’entité Propriétés pouvant être surveillées
Storage Blob État de location, nombre de Blob, taille des Blob (octets), nombre de blocs de Blob, taille des blocs de Blob (octets), nombre de pages de Blob, Page Blob Size (Bytes), Append Blob Count, Append Blob Size (Bytes)
Storage File Usage (Bytes)

L’image ci-dessous représente la configuration Blob dans le Status Monitor de l’application Serverless360.

Sl360 blob status monitor

Ci-après se trouve le détail de l’erreur générée si l’erreur persiste pendant la période souhaitée.

Sl360 blob error details

Scalability

Il est important de connaître le quota et les limites d’Azure Storage pour choisir la bonne option. Le plus haut niveau de représentation de la capacité dans Azure Blob Storage est celui des conteneurs, tandis que pour les fichiers, il s’agit des partages.

.

Ressource Azure Blobs Cible
Taille maximale d’un conteneur Blob unique 500 TB
Nombre maximal de blocs dans un bloc Blob ou un append Blob 50,000 blocs
Taille maximale d’un bloc dans un Blob 100 Mo
Taille maximale d’un Blob 50 000 X 100 Mo (env. 4,75 To)
Taille maximale d’un bloc dans un Blob 4 Mo
Taille maximale d’un Blob 50 000 x 4 Mo (env. 195 Go)
Taille maximale d’une page Blob 8 To
Nombre maximal de politiques d’accès stockées par conteneur Blob 5

.

Ressource Azure Files Target
Taille maximale d’un partage de fichiers 5 TB
Taille maximale d’un fichier dans un partage de fichiers . d’un fichier dans un partage de fichiers 1 TB
Nombre maximum de fichiers dans un partage de fichiers Aucune limite
Max IOPS par partage 1000 IOPS
Nombre maximal de politiques d’accès stockées par partage de fichiers 5
Taux maximal de requêtes par compte de stockage 20,000 demandes par seconde pour des Fichiers de toute taille valide
Débit cible pour un seul Partage de fichiers Jusqu’à 60 Mo par seconde
Maximum de handles ouverts pour par Fichier 2000 handles ouverts
Nombre maximal d’instantanés de partage 200 instantanés de partage

Sécurité

Cryptage du service de stockage Azure Storage Blob et Files car ils relèvent du niveau du compte de stockage Azure. Lorsque l’application écrit/lit un nouveau Blob/File, ils sont chiffrés à l’aide de l’algorithme AES (Advanced Encryption Standard) de 256 bits. En cas d’appel via l’API REST, tant les Azure Blobs que les Azure Files sont pris en charge en activant le transfert requis sécurisé.

Les Azure Blobs et les Azure Files ont tous deux besoin d’une signature d’accès partagé (SAS) pour obtenir un accès délégué aux Blobs et aux fichiers. En plus de l’autorisation, les deux sont pris en charge avec Azure AD et le jeton d’accès partagé.

Les Blobs Azure permettent de réaliser un chiffrement par la classe BlobEncryptionPolicy avec Azure Key Vault. Les fichiers Azure utilisent un chiffrement intégré dans le protocole SMB 3.0. En outre, Azure Blobs et Azure Files prennent tous deux en charge la règle CORS (Cross-Origin Resource Sharing). CORS vous permet de décrire la liste blanche pour la demande d’en-tête HTTP.

En ce qui concerne la sécurité du réseau, vous avez plus de contrôle sur le trafic réseau entrant à la fois vers Azure Blobs et Azure Files. Il permet uniquement à une plage d’IP et à des réseaux virtuels spécifiés d’y accéder.

Récupération après sinistre

La sauvegarde des données est importante pour toute entreprise où les données sont considérées comme le sang de leur organisation. Malheureusement, Azure recover et back-up n’ont pas d’automatisation pour sauvegarder les données directement à partir de Blob et File Storage. Pour gérer, les données peuvent être téléchargées les données vers le bas à votre infrastructure sur place ou créer un nouveau compte de stockage dans une autre région pour stocker vos données.

Azure Blobs : Utilisez Copy Blob pour copier de manière asynchrone votre Blob vers le compte de stockage de destination.

Azure Files : Utilisez Copy File pour copier de manière asynchrone le partage de fichiers vers le compte de stockage de destination.

Tarification

La tarification décrite ici est basée sur la documentation Microsoft

Prix du stockage de données

Vous trouverez ci-dessous les prix pour le stockage de données dans Azure File et Blob. Storage

Blob Storage PREMIUM HOT COOL ARCHIVE
Premiers 50 téraoctets (To) / mois 0 $.18 par GB 0,022 $ par GB 0,01 $ par GB 0,00099 $ par GB
Suivant 450 TB / mois 0.18 par GB 0,0212$ par GB 0,01$ par GB 0,00099$ par GB
Plus de 500 TB / mois 0.18 par GB 0,0203 $ par GB 0,01 $ par GB 0.00099 par GB
Stockage de fichiers STANDARD
GB/mois $0.06 par GB utilisé
Snapshots GB/mois $0.06 par Go utilisé

Prix des opérations et du transfert de données

Vous trouverez ci-dessous les prix des opérations et du transfert de données dans Azure File and Blob Storage

.

Blob Storage PREMIUM HOT COOL ARCHIVE
Opérations d’écriture (par 10,000)1 $0.021 $0.05 $0.10 0,11
Liste et création de conteneurs (par 10 000)2 0,06 0,05 0,05 0.05
Opérations de lecture (par 10 000)3
Lecture d’archives haute priorité (par 10 000)5
0,0017 0,004 0,01 5$.50
$30
Toutes les autres opérations (par 10 000), sauf Supprimer, qui est gratuit 0,0017 0,004 0,004 0.004
Récupération de données (par Go)4
Récupération d’archives à haute priorité (par Go)5
Libre Libre 0$.01 0,022
0,06
Ecriture de données (par Go)4 Libre Libre 0.0025 Libre
Stockage de fichiers STANDARD
Mise en place, création de conteneurs (par 10 000) $0.015
Opérations de liste (par 10 000) 0,015
Toutes les autres opérations sauf Supprimer, qui est gratuit (par 10 000) 0$.0015
Transfert de données de géo-réplication (par GiB) N/A

Wrap Up

Dans la révolution de la transformation numérique, les applications sont modernisées et cela nécessite un modèle à grande échelle non seulement dans la couche d’application mais aussi dans la couche de données que je ne pense pas que Azure Files puisse s’adapter. Azure Files serait encore bon si votre application est servie pour un public spécifique.

Peut-être, il y a des aspects individuels à considérer avant de conclure la meilleure option entre Azure Blob Storage et Files. En prenant en considération les fonctionnalités communes, je préférerais Azure Blob Storage plutôt que Files.

Auteur : Nadeem Ahamed

Nadeem est un commercialisateur de produits techniques pour Serverless360. Il est passionné par le blogging sur les technologies de pointe. Il croit que les blogs sont le meilleur moyen de partager des connaissances parmi la communauté et sa passion pour l’écriture ne s’arrêtera jamais jusqu’au dernier jour de son souffle. Il croit toujours en la phrase « Il est si beau de l’extérieur qu’il vous fera vous sentir bien à l’intérieur ».View all posts by Nadeem Ahamed