Azure Blob Storage vs File Storage

Microsoft erbjuder flera alternativ för att lagra data i molnet. Varje alternativ har sitt unika syfte för att tillgodose olika affärsbehov. En av de viktiga funktionerna som Microsoft Azure erbjuder är smidigheten att vid behov migrera till olika lagringsalternativ.

Det finns olika alternativ tillgängliga i Azure Storage Account för lagring av användardata.

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

Den här bloggen försöker skilja mellan Azure Blob Storage och File Storage som är tillgängliga i Azure Storage Account.

Introduktion

Blob Storage

Azure Blob Storage är en objektlagringslösning för molnet. Med Blob Storage kan du lagra stora mängder ostrukturerade data. De ostrukturerade uppgifterna behöver inte vara av den specifika datamodellen.

Fillagring

Azure Files erbjuder fullt hanterade fildelningar i molnet som är tillgängliga via branschstandarden SMB. Azure File shares kan monteras samtidigt av moln- eller lokala installationer av Windows, Linux och macOS. De kan cachelagras på Windows-servrar med Azure File Sync för snabbare åtkomst.

När du ska använda

Blob Storage

Azure Blob Storage utformades för att tillgodose specifika behov. Om ditt företags användningsområde kräver lagring av ostrukturerade data som ljud, video, bilder etc. bör du förmodligen välja det här alternativet. De objekt som lagras i Blob har inte nödvändigtvis ett tillägg.

De följande punkterna beskriver scenarierna för användningsfallen:

  • Servering av bilder eller dokument direkt till en webbläsare
  • Lagring av filer för distribuerad åtkomst
  • Streaming av video och ljud
  • Skrivning till loggfiler
  • Lagring av data för säkerhetskopiering, återställning, katastrofåterställning och arkivering
  • Lagring av data för analys av en tjänst på plats eller i Azure

Fillagring

Fillagring kan användas om ditt företags användningsområde huvudsakligen behöver hantera standardfiltillägg som *.docx, *.png och *.bak så bör du förmodligen välja det här lagringsalternativet.

Följande punkter beskriver scenarierna för användningsfallen:

  • Ersätt eller komplettera lokala filservrar
  • ”Lift and shift”-applikationer
  • Förenkla utvecklingen i molnet

Hämta gratis den här bloggen som PDF-dokument för att läsa offline.

Realtidsscenario

Tänk på ett scenario, i en utvecklingsmiljö där varje utvecklare behöver tillgång till IDE och verktyg utan att använda internet för att ladda ner dem. I denna situation skulle Azure Blob Storage uppfylla behovet och med hjälp av detta kan du bara lagra utvecklingsverktyg och sedan ge en länk till teamet för att få tillgång till Blob-platsen.

För att implementera en filserver i din organisation bör du välja Azure Files-alternativet. En filserver används för att dela filer mellan avdelningar i din organisation. När det gäller fildelning ska slutanvändaren inte få tillgång till kopiorna av filen från dess URI och måste mappas lokalt i datorerna. Det är då Azure File Storage passar ditt behov.

Överföring av stora filer

Den vanliga metoden för att ladda upp en stor fil är att dela upp den i bitar. Uppdelning är inte bara funktionen för att ladda upp filer, utan bitarna måste slås ihop till en fil när uppladdningen är klar.

För ovanstående uppgift, vilket alternativ skulle passa bra? Azure Blob eller File Storage?

Svaret är Azure Blob Storage. Även om det här scenariot handlar om filer är Azure Blob Storage en bra lösning på grund av dess färdiga funktioner.

Azure Blob Storage innehåller tre typer av blobs: Block, Page och Append. Ett block är en enskild enhet i en Blob. En Blob kan innehålla många block men inte mer än 50 000 block per Blob. Detta innebär att du kan dela upp en Blob i 50 000 block för att ladda upp till Azure Blobs storage. Den minsta storleken på ett block är 64KB och den största är 100 MB. Om du tittar på (t.ex. .NET-biblioteket) är ett av objekten BlockBlob som är en del av klassen CloudBlockBlob. Den här klassen erbjuder dig massor av saker för att arbeta med Block Blob.

Till exempel kan du med egenskapen StreamWriteSizeInBytes ställa in en Block Blob-storlek som kan vara bra för att hantera instabila nätverkshastigheter. Varje block Blob har också metadata så att du kan styra individuellt. Om du till exempel vill försäkra dig om att alla block Blobs har överförts till en viss Blob kan du använda Content-MD5.

Azure File Storage har inte den här möjligheten. Om du behöver dela File måste du hitta en indirekt metod som FileStream-klassen eller använda tredjepartsleverantörer.

Övervakningsalternativ tillgängliga för Blob-lagring och fillagring

Azure Portal

När du har konfigurerat önskat lagringskonto till alternativet Diagnostics under avsnittet Monitoring kan du definiera vilken typ av mätdata du vill övervaka och vilken lagringspolicy som ska gälla för dessa data.

En standarduppsättning av mätvärden visas i diagram på bladet Lagringskonto samt på de enskilda tjänstbladen (Blobs och Filer). När du har aktiverat mätvärden för en tjänst kan det ta upp till en timme innan data visas i dess diagram. Du kan välja Redigera på varje diagram för mätvärden för att konfigurera vilka mätvärden som ska visas i diagrammet.

Azure Portal Storage Monitoring Option

Serverless360 (Off the Shelf Product)

Det är möjligt att övervaka både Storage Blobs och Storage Files i en status- eller tröskelövervakning. Statusmonitor genererar en rapport vid specifika tidpunkter på en dag som representerar enheternas tillstånd i förhållande till önskade värden. Tröskelövervakaren genererar en rapport när vissa egenskaper bryter mot önskade värden under en viss period. Serverless360 övervakar huvudsakligen Blobs och filer baserat på deras egenskaper snarare än deras mätvärden, till skillnad från Azure Portal.

Entitetstyp Egenskaper som kan övervakas
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)

Understående bild visar Blob-konfigurationen i statusmonitorn för Serverless360-applikationen.

Sl360 blob status monitor

Nedan visas de feluppgifter som genereras om felet kvarstår under önskad tidsperiod.

Sl360 blob error details

Skalering

Det är viktigt att känna till kvoten och gränserna för Azure Storage för att kunna välja rätt alternativ. Den högsta representationsnivån för kapacitet i Azure Blob Storage är Containers, medan den högsta nivån för filer är Shares.

Azure Blobs Resource Target
Maxstorlek för en enskild Blob-container 500 TB
Max antal block i en block Blob eller append Blob 50,000 block
Max storlek på ett block i ett block Blob 100 MB
Max storlek på ett block Blob 50 000 X 100 MB (ca. 4,75 TB)
Max storlek på ett block i en bilaga Blob 4 MB
Max storlek på en bilaga Blob 50 000 x 4 MB (ca. 195 GB)
Max storlek på en sida Blob 8 TB
Max antal lagrade åtkomstpolicyer per Blob-behållare 5
Azure Files Resource Target
Maxstorlek för en fildelning 5 TB
Max. storlek på en fil i en fildelning 1 TB
Max antal filer i en fildelning Ingen begränsning
Max IOPS per delning 1000 IOPS
Max antal lagrade åtkomstpolicyer per fildelning 5
Max,000 begäranden per sekund för filer av alla giltiga storlekar
Målgenomströmning för en enskild fildelning Upp till 60 MB per sekund
Maximalt antal öppna handtag för varje fil 2000 öppna handtag
Maximalt antal ögonblicksbilder för delning 200 ögonblicksbilder för delning

Säkerhet

Kryptering av Azure Storage Blob- och Files Storage-tjänsten eftersom de ingår i Azure Storage-kontonivån. När programmet skriver/läser en ny Blob/File krypteras de med 256-bitars AES-algoritm (Advanced Encryption Standard). Om du anropar via REST API stöds både Azure Blobs och Azure Files genom att aktivera Secure Required Transfer.

Både Azure Blobs och Azure Files behöver Shared Access Signature (SAS) för att få delegerad åtkomst till Blobs och Files. Förutom auktorisering stöds båda med Azure AD och delad åtkomsttoken.

Azure Blobs gör det möjligt att uppnå kryptering genom klassen BlobEncryptionPolicy med Azure Key Vault. Azure Files använder inbyggd kryptering i SMB 3.0-protokollet. Dessutom stöder både Azure Blobs och Azure Files CORS-regeln (Cross-Origin Resource Sharing). Med CORS kan du beskriva en vitlista för HTTP-huvudförfrågan.

När det gäller nätverkssäkerhet har du större kontroll över inkommande nätverkstrafik till både Azure Blobs och Azure Files. Den tillåter endast ett specificerat IP-område och virtuella nätverk att få tillgång till den.

Katastrofåterställning

Databackup är viktigt för alla företag där data betraktas som blodet i deras organisation. Tyvärr har Azure recover och back-up ingen automatisering för att säkerhetskopiera data direkt från Blob och File Storage. För att hantera data kan data hämtas ner till din lokala infrastruktur eller skapa ett nytt lagringskonto i en annan region för att lagra dina data.

Azure Blobs: Använd Copy Blob för att asynkront kopiera din Blob till destinationens lagringskonto.

Azure Files: Använd Copy File (Kopiera fil) för att asynkront kopiera en delad fil till ett lagringskonto på destinationen.

Prissättning

Prissättningen som beskrivs här är baserad på Microsofts dokumentation

Priser för datalagring

Nedan följer priser för lagring av data i Azure File och Blob. Storage

Blob Storage PREMIUM HOT COOL ARCHIVE
Första 50 terabyte (TB) / månad 0 dollar.18 per GB $0.022 per GB $0.01 per GB $0.00099 per GB
Nästa 450 TB / månad $0.18 per GB $0.0212 per GB $0.01 per GB $0.00099 per GB
Över 500 TB/månad $0.18 per GB $0.0203 per GB $0.01 per GB $0.00099 per GB
Fillagring STANDARD
GB/månad $0.06 per använd GB
Snapshots GB/månad $0.06 per använd GB

Priser för drift och dataöverföring

Nedan visas priser för drift och dataöverföring i Azure File and Blob Storage

.

Blob Storage PREMIUM HOT COOL ARCHIVE
Skrivoperationer (per 10,000)1 $0.021 $0.05 $0.10 $0.11
Lista och skapa containeroperationer (per 10 000)2 $0.06 $0.05 $0.05 $0.05 $0.05
Läsningsoperationer (per 10 000)3
Läsning av arkiv med hög prioritet (per 10 000)5
$0.0017 $0.004 $0.01 $5.50
$30
Alla andra operationer (per 10 000), utom Delete, som är gratis $0.0017 $0.004 $0.004 $0.004 $0.004
Datahämtning (per GB)4
Högprioriterad hämtning av arkivdata (per GB)5
Free Free $0.01 0.022
0.06
Skrivning av data (per GB)4 Gratis Gratis Gratis 0.0025 Free
Fillagring STANDARD
Put, Create Container Operations (per 10 000) $0.015
Listoperationer (per 10 000) 0,015$
Alla andra operationer utom Delete, som är gratis (per 10 000) 0$.0015
Geo-Replication Data Transfer (per GiB) N/A

Wrap Up

I revolutionen av den digitala omvandlingen moderniseras applikationerna och det kräver storskaliga mönster inte bara i applikationsskiktet utan även i dataskiktet, vilket jag inte tror att Azure Files kan passa. Azure Files skulle fortfarande vara bra om din applikation är avsedd för en specifik publik.

Kanske finns det enskilda aspekter att ta hänsyn till innan man bestämmer sig för det bästa alternativet mellan Azure Blob Storage och Files. Om man tar hänsyn till de gemensamma funktionerna skulle jag föredra Azure Blob Storage framför Files.

Författare: Nadeem Ahamed

Nadeem är teknisk produktmarknadsförare för Serverless360. Han brinner för att blogga om banbrytande teknik. Han anser att bloggar är det bästa sättet att dela med sig av kunskap till samhället och hans passion för att skriva kommer aldrig att upphöra till sista andetaget. Han tror alltid på frasen ”Looks so Good on the Outside, It’ll Make You Feel Good Inside”.Visa alla inlägg av Nadeem Ahamed

.