Azure Blob Storage vs File Storage

Microsoft biedt verschillende opties om data op te slaan in de cloud. Elke optie heeft zijn eigen unieke doel voor het bedienen van verschillende zakelijke behoeften. Een van de belangrijke mogelijkheden die Microsoft Azure biedt, is de flexibiliteit om te migreren naar verschillende opslagopties indien nodig.

Er zijn verschillende opties beschikbaar in het Azure Storage Account voor het opslaan van gebruikersgegevens.

  • Blob Storage
  • File Storage
  • Table Storage
  • Queue Storage
  • Disk

Deze blog probeert onderscheid te maken tussen Azure Blob Storage en File Storage die beschikbaar is in Azure Storage Account.

Inleiding

Blob Storage

Azure Blob Storage is een object storage oplossing voor de cloud. Met Blob Storage kunt u een enorme hoeveelheid ongestructureerde gegevens opslaan. De ongestructureerde gegevens hoeven niet van een specifiek gegevensmodel te zijn.

File Storage

Azure Files biedt volledig beheerde File shares in de cloud die toegankelijk zijn via de industriestandaard SMB. Azure File shares kunnen gelijktijdig worden gemount door cloud of on-premises implementaties van Windows, Linux en macOS. Het kan worden gecached op Windows-servers met Azure File Sync voor snellere toegang.

Wanneer te gebruiken

Blob Storage

Azure Blob Storage is ontworpen om in specifieke behoeften te voorzien. Als in uw bedrijf ongestructureerde gegevens moeten worden opgeslagen, zoals audio, video, afbeeldingen, enzovoort, kunt u waarschijnlijk het beste voor deze optie kiezen. De objecten die in Blob worden opgeslagen, hebben niet noodzakelijk een extensie.

De volgende punten beschrijven de use case scenario’s:

  • Afbeeldingen of documenten direct aan een browser
  • Bestanden opslaan voor gedistribueerde toegang
  • Video en audio streamen
  • Schrijven naar logbestanden
  • Opslaan van gegevens voor back-up, restore, disaster recovery en archivering
  • Opslaan van gegevens voor analyse door een on-premise of Azure-hosted service

Bestandsopslag

Bestandsopslag kan worden gebruikt als uw business use case voornamelijk te maken heeft met standaard bestandsextensies zoals *.docx, *.png en *.bak dan zou u waarschijnlijk voor deze opslag optie moeten gaan.

De volgende punten beschrijven de use case scenario’s:

  • Vervangen of aanvullen van on-premises File servers
  • “Lift and shift” applicaties
  • Vereenvoudigen van cloud ontwikkeling

Vrij downloaden van deze blog als PDF document om offline te lezen.

Real-time Scenario

Bedenk een scenario, in een ontwikkelomgeving waar elke ontwikkelaar toegang nodig heeft tot IDE en tools zonder het internet te gebruiken om deze te downloaden. In deze situatie zou Azure Blob Storage in de behoefte voorzien en waarmee u alleen ontwikkeltools kunt opslaan en vervolgens een link kunt geven aan het team om toegang te krijgen tot de Blob-locatie.

Voor het implementeren van een Bestandsserver in uw organisatie, moet u kiezen voor de optie Azure Files. Een Bestandsserver wordt gebruikt om Bestanden te delen tussen afdelingen in uw organisatie. Als het gaat om het delen van bestanden, mag de eindgebruiker geen toegang krijgen tot de kopieën van het bestand van zijn URI en moeten ze lokaal in de computers worden gemapt. Dit is wanneer Azure File Storage past bij uw behoefte.

Large File Uploading

De gemeenschappelijke aanpak gebruikt om een groot bestand te uploaden is om het te splitsen in brokken. Splitsen is niet alleen de functie om bestanden te uploaden, maar de brokken moeten worden samengevoegd tot een bestand zodra de upload is voltooid.

Voor de bovenstaande taak, welke optie zou een goede pasvorm zijn? Azure Blob of File Storage?

Het antwoord is Azure Blob Storage. Hoewel dit scenario gaat over bestanden, is Azure Blob Storage een goede fit vanwege de off the shelf mogelijkheden.

Azure Blob Storage bevat drie soorten blobs: Block, Page en Append. Een blok is een enkele eenheid in een Blob. Een Blob kan veel blokken bevatten, maar niet meer dan 50.000 blokken per Blob. Dit betekent dat je een Blob kunt opsplitsen in 50.000 blokken om te uploaden naar Azure Blobs storage. De minimale grootte van een blok is 64KB en het maximum is 100 MB. Als je kijkt naar (bijvoorbeeld .NET bibliotheek), een van de objecten is BlockBlob die deel uitmaakt van CloudBlockBlob klasse. Deze klasse biedt u tal van dingen om te werken met een Block Blob.

Bijvoorbeeld, StreamWriteSizeInBytes eigenschap kunt u een blok Blob grootte die goed kan zijn om onstabiele netwerksnelheid te behandelen. Elke blok Blob heeft ook metadata waarmee je individueel kunt regelen. Als je er bijvoorbeeld zeker van wilt zijn dat alle block Blobs met succes zijn gecommit, kun je Content-MD5.

Azure File Storage heeft deze out-of-the-box mogelijkheid niet. Als u een bestand wilt splitsen, moet u een indirecte methode vinden, zoals de FileStream-klasse of gebruikmaken van leveranciers van derden.

Monitoringopties beschikbaar voor Blob Storage en File storage

Azure Portal

Als u het gewenste Storage Account hebt geconfigureerd voor de optie Diagnostics onder de sectie Monitoring, kunt u het type meetgegevens definiëren dat u wilt monitoren en het retentiebeleid voor de gegevens.

Een standaard set metrieken wordt weergegeven in grafieken op het Storage Account blade, evenals de individuele service blades (Blobs en Files). Zodra u metrieken voor een service hebt ingeschakeld, kan het tot een uur duren voordat de gegevens in de grafieken verschijnen. U kunt Edit (Bewerken) selecteren op elke metric chart om te configureren welke metrics in de chart moeten worden weergegeven.

Azure portal storage monitoring option

Serverless360 (Off the Shelf Product)

Het is mogelijk om zowel Storage Blobs als Storage Files te monitoren in een Status- of Threshold-monitor. Status Monitor genereert een rapport op specifieke tijdstippen in een dag die de toestand van de entiteiten tegen de gewenste waarden weergeeft. Threshold Monitor genereert een rapport wanneer bepaalde eigenschappen de gewenste waarden overschrijden gedurende een bepaalde periode. Serverless360 monitort de Blobs en Files voornamelijk op basis van de eigenschappen en niet zozeer op basis van de metrieken, in tegenstelling tot Azure Portal.

Entity Type Eigenschappen die kunnen worden gemonitord
Storage Blob Lease State, Blob Count, Blob Size (Bytes), Block Blob Count, Block Blob Size (Bytes), Page Blob Count, Page Blob Size (Bytes), Append Blob Count, Append Blob Size (Bytes)
Storage File Usage (Bytes)

Onderstaande afbeelding geeft de Blob-configuratie weer in de Status Monitor van de Serverless360 applicatie.

Sl360 blob status monitor

Hieronder ziet u het foutdetail dat wordt gegenereerd als de fout gedurende de gewenste periode aanhoudt.

Sl360 blob error details

Scalability

Het is belangrijk om de quota en limieten van Azure Storage te kennen om de juiste optie te kiezen. Het hoogste niveau voor capaciteit in Azure Blob Storage is Containers, terwijl dat voor Bestanden Shares is.

Azure Blobs Resource Target
Max grootte van enkele Blob-container 500 TB
Max aantal blokken in een blok Blob of append Blob 50,000 blokken
Max grootte van een blok in een blok Blob 100 MB
Max grootte van een blok Blob 50.000 X 100 MB (ca. 4,75 TB)
Maximale grootte van een blok in een append Blob 4 MB
Maximale grootte van een append Blob 50.000 x 4 MB (ca. 195 GB)
Max grootte van een pagina Blob 8 TB
Max aantal opgeslagen toegangsbeleid per Blob container 5
Azure Files Resource Target
Maximale grootte van een bestandsshare 5 TB
Max grootte van een bestand in een bestandsaandeel 1 TB
Max aantal bestanden in een bestandsaandeel Geen limiet
Max IOPS per aandeel 1000 IOPS
Max aantal opgeslagen toegangsbeleid per Bestandsshare 5
Maximale verzoeksnelheid per Opslagaccount 20,000 verzoeken per seconde voor Bestanden van elke geldige grootte
Doeldoorvoer voor enkele Bestandsshare Tot 60 MB per seconde
Maximale open handles voor per Bestand 2000 open handles
Maximum aantal gedeelde snapshots 200 gedeelde snapshots

Veiligheid

Azure Storage Blob en Files Storage Service Encryptie zoals deze vallen onder Azure Storage Account niveau. Wanneer de applicatie een nieuwe Blob/Bestand schrijft/leest, worden deze versleuteld met 256-bit AES (Advanced Encryption Standard) algoritme. Bij oproepen via REST API worden zowel Azure Blobs als Azure Files ondersteund door Secure Required Transfer in te schakelen.

Zowel Azure Blobs als Azure Files hebben een Shared Access Signature (SAS) nodig om gedelegeerde toegang te krijgen tot Blobs en Files. Naast autorisatie worden beide ondersteund met Azure AD en gedeelde toegangstoken.

Azure Blobs maken het mogelijk versleuteling te bereiken door BlobEncryptionPolicy class met Azure Key Vault. Azure Files maken gebruik van ingebouwde versleuteling in het SMB 3.0-protocol. Ook ondersteunen zowel Azure Blobs als Azure Files CORS (Cross-Origin Resource Sharing) regel. CORS stelt u in staat om de whitelist voor HTTP header request te beschrijven.

Voor wat betreft netwerkbeveiliging, heeft u meer controle over inkomend netwerkverkeer naar zowel Azure Blobs als Azure Files. Alleen een gespecificeerd IP-bereik en virtuele netwerken hebben toegang.

Reparatie bij rampen

Databack-up is belangrijk voor elke onderneming waar de gegevens worden beschouwd als het bloed van hun organisatie. Helaas, Azure herstellen en back-up hebben geen automatisering om een back-up van gegevens rechtstreeks van Blob en File Storage. Om hiermee om te gaan, kunnen de gegevens worden gedownload naar uw on-premises infrastructuur of maak een nieuwe Storage Account in een andere regio om uw gegevens op te slaan.

Azure Blobs: Gebruik Copy Blob om asynchroon uw Blob naar bestemming Storage Account te kopiëren.

Azure Files: Gebruik Copy File om asynchroon File share te kopiëren naar bestemming Storage Account.

Prijzen

De hier beschreven prijzen zijn gebaseerd op de Microsoft-documentatie

Prijzen voor gegevensopslag

Hieronder vindt u de prijzen voor het opslaan van gegevens in Azure File en Blob Storage

Blob Storage PREMIUM HOT COOL ARCHIVE
Eerste 50 terabyte (TB) / maand $0.18 per GB $0.022 per GB $0.01 per GB $0.00099 per GB
Volgende 450 TB / maand $0.18 per GB $0.0212 per GB $0.01 per GB $0.00099 per GB
Meer dan 500 TB / Maand $0.18 per GB $0.0203 per GB $0.01 per GB $0.00099 per GB
Bestandsopslag STANDARD
GB/maand $0.06 per gebruikte GB
Snapshots GB/maand $0.06 per gebruikte GB

Prijzen voor operaties en gegevensoverdracht

Hieronder vindt u de prijzen voor operaties en gegevensoverdracht in Azure File and Blob Storage

Blob Storage PREMIUM HOT COOL ARCHIVE
Write operations (per 10,000)1 $0.021 $0.05 $0.10 $0.11
Lijst en containerbewerkingen maken (per 10.000)2 $0.06 $0.05 $0.05 $0.05
Leesbewerkingen (per 10.000)3
Archief Hoge Prioriteit Lezen (per 10.000)5
$0.0017 $0.004 $0.01 $5.50
$30
Alle andere operaties (per 10.000), behalve Delete, dat gratis is $0.0017 $0.004 $0.004 $0.004 $0.004
Data Retrieval (per GB)4
Archive High Priority Retrieval (per GB)5
Free Free $0.01 $0.022
$0.06
Data Write (per GB)4 Free Free $0.0025 Gratis
Bestandsopslag STANDARD
Put, Creëer Containerbewerkingen (per 10.000) $0.015
Lijstbewerkingen (per 10.000) $0.015
Alle andere bewerkingen behalve Verwijderen, dat is gratis (per 10.000) $0.0015
Geo-Replicatie Gegevensoverdracht (per GiB) N/A

Wrap Up

In de revolutie van digitale transformatie, worden applicaties gemoderniseerd en het vereist grootschalige patroon niet alleen in de applicatie laag, maar ook in de data laag die ik denk niet Azure Files kan passen. Azure Files zou nog steeds goed zijn als uw applicatie wordt geserveerd voor een specifiek publiek.

Misschien zijn er individuele aspecten die moeten worden overwogen voordat de beste optie tussen Azure Blob Storage en Files wordt geconcludeerd. Als we de gemeenschappelijke functionaliteiten in overweging nemen, zou ik de voorkeur geven aan Azure Blob Storage boven Files.

Auteur: Nadeem Ahamed

Nadeem is een Technical Product Marketeer voor Serverless360. Hij is gepassioneerd over bloggen over baanbrekende technologieën. Hij gelooft dat blogs zijn de beste manier om kennis te delen onder de gemeenschap en zijn passie voor het schrijven zal nooit eindigen tot de laatste dag van zijn adem. Hij gelooft altijd in de zin “Looks so Good on the Outside, It’ll Make You Feel Good Inside”.Bekijk alle berichten van Nadeem Ahamed