Azure Blob Storage vs File Storage

Microsoft tilbyder flere muligheder for at gemme data i skyen. Hver mulighed har sit unikke formål til at opfylde forskellige forretningsbehov. En af de vigtige funktioner, som Microsoft Azure tilbyder, er fleksibiliteten til at migrere til forskellige lagringsmuligheder, hvis det er nødvendigt.

Der er forskellige muligheder i Azure Storage Account til lagring af brugerdata.

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

Denne blog forsøger at skelne mellem Azure Blob Storage og File Storage, som er tilgængelig i Azure Storage Account.

Introduktion

Blob Storage

Azure Blob Storage er en objektlagringsløsning til skyen. Blob Storage giver dig mulighed for at gemme en massiv mængde ustrukturerede data. De ustrukturerede data behøver ikke at være af den specifikke datamodel.

Filopbevaring

Azure Files tilbyder fuldt administrerede filandele i skyen, som er tilgængelige via branchestandarden SMB. Azure File shares kan monteres samtidig af cloud- eller lokale implementeringer af Windows, Linux og macOS i skyen eller på stedet. Det kan cachelagres på Windows-servere med Azure File Sync for hurtigere adgang.

Hvornår skal du bruge

Blob Storage

Azure Blob Storage blev designet til at opfylde specifikke behov. Hvis din virksomheds brugssituation kræver, at ustrukturerede data som lyd, video, billeder osv. skal gemmes, bør du sandsynligvis vælge denne mulighed. De objekter, der gemmes i Blob, har ikke nødvendigvis en udvidelse.

De følgende punkter beskriver scenarierne for brugsscenarierne:

  • Servering af billeder eller dokumenter direkte til en browser
  • Lagring af filer til distribueret adgang
  • Streaming af video og lyd
  • Skrivning til logfiler
  • Lagring af data til sikkerhedskopiering, gendannelse, disaster recovery og arkivering
  • Lagring af data til analyse af en lokal eller Azure-hosted service

Filopbevaring

Filopbevaring kan bruges, hvis dit forretningsbrug har brug for at håndtere mest standardfilendelser som *.docx, *.png og *.bak, så bør du sandsynligvis vælge denne lagringsmulighed.

De følgende punkter beskriver scenarierne for brugsscenarierne:

  • Erstat eller supplerer onpremises File servers
  • “Lift and shift”-applikationer
  • Forenkler cloud-udvikling

Download denne blog gratis som PDF-dokument til offline-læsning.

Realtidsscenarie

Tænk på et scenarie, i et udviklingsmiljø, hvor alle udviklere har brug for adgang til IDE og værktøjer uden at bruge internettet til at downloade det. I denne situation ville Azure Blob Storage opfylde behovet, og ved hjælp heraf kan du kun gemme udviklingsværktøjer og derefter give et link til teamet for at få adgang til Blob-placeringen.

For at implementere en filserver i din organisation skal du vælge Azure Files-muligheden. En File server bruges til at dele filer på tværs af afdelinger i din organisation. Når det drejer sig om Fildeling, bør slutbrugeren ikke have adgang til kopierne af filen fra dens URI og skal kortlægges lokalt på computerne. Det er her, Azure File Storage passer til dit behov.

Opload af store filer

Den almindelige tilgang, der bruges til at uploade en stor fil, er at opdele den i stykker. Opsplitning er ikke kun funktionen til at uploade filer, men chunks skal slås sammen til en fil, når upload er afsluttet.

Til ovenstående opgave, hvilken løsning ville være en god løsning? Azure Blob- eller File Storage?

Svaret er Azure Blob Storage. Selv om dette scenarie omhandler filer, er Azure Blob Storage en god løsning på grund af dens standardfunktioner.

Azure Blob Storage indeholder tre typer af blobs: Block, Page og Append. En blok er en enkelt enhed i en Blob. En Blob kan indeholde mange blokke, men ikke mere end 50.000 blokke pr. Blob. Det betyder, at du kan opdele en Blob i 50.000 blokke for at uploade dem til Azure Blobs storage. Minimumsstørrelsen af en blok er 64 KB og maksimumstørrelsen er 100 MB. Hvis du kigger på (f.eks. .NET-biblioteket), er et af objekterne BlockBlob, som er en del af CloudBlockBlob-klassen. Denne klasse tilbyder dig masser af ting til at arbejde med en Block Blob.

For eksempel giver StreamWriteSizeInBytes-egenskaben dig mulighed for at indstille en Block Blob-størrelse, som kan være god til at håndtere ustabil netværkshastighed. Hver block Blob har også metadata, så du kan styre individuelt. Hvis du f.eks. vil sikre dig, at alle block Blobs er overført til en given Blob, kan du bruge Content-MD5.

Azure File Storage har ikke denne out-of-the-box-funktion. Hvis du har brug for at opdele File, skal du finde en indirekte metode som FileStream-klassen eller bruge tredjepartsleverandører.

Optioner til overvågning, der er tilgængelige for Blob Storage og File storage

Azure Portal

Når du har konfigureret den ønskede Storage-konto til indstillingen Diagnostics under afsnittet Monitoring, kan du definere den type metrikdata, du ønsker at overvåge, og opbevaringspolitikken for dataene.

Et standardsæt af metrikker vises i diagrammer på bladet Storage Account samt på de enkelte tjenesteblade (Blobs og Files). Når du har aktiveret målinger for en tjeneste, kan det tage op til en time, før data vises i diagrammerne for den pågældende tjeneste. Du kan vælge Rediger på et hvilket som helst metrikdiagram for at konfigurere, hvilke metrikker der skal vises i diagrammet.

Mulighed for overvågning af lagring på Azure-portalen

Serverless360 (Off the Shelf Product)

Det er muligt at overvåge både Storage Blobs og Storage Files i en status- eller tærskelovervågning. Status Monitor genererer en rapport på bestemte tidspunkter i løbet af en dag, der repræsenterer entiteternes tilstand i forhold til de ønskede værdier. Tærskelovervågning genererer en rapport, når visse egenskaber overtræder de ønskede værdier i en bestemt periode. Overvejende overvåger Serverless360 Blobs og filer baseret på deres egenskaber snarere end på deres metrikker, i modsætning til Azure Portal.

Entitetstype Egenskaber, der kan overvåges
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 billede viser Blob-konfigurationen i Status Monitor for Serverless360-applikationen.

Sl360 blob status monitor

Nedenfor vises de fejldetaljer, der genereres, hvis fejlen fortsætter i den ønskede periode.

Sl360 blob fejldetaljer

Skalering

Det er vigtigt at kende kvoten og grænserne for Azure Storage for at vælge den rigtige løsning. Det højeste repræsentationsniveau for kapacitet i Azure Blob Storage er Containers, mens det for filer er Shares.

Azure Blobs Resource Target
Max størrelse af en enkelt Blob-container 500 TB
Max antal blokke i en block Blob eller append Blob 50,000 blokke
Max størrelse af en blok i en blok Blob 100 MB
Max størrelse af en blok Blob 50.000 X 100 MB (ca. 4,75 TB)
Max størrelse af en blok i en append Blob 4 MB
Max størrelse af en append Blob 50.000 x 4 MB (ca. 195 GB)
Max. størrelse af en side Blob 8 TB
Max. antal lagrede adgangspolitikker pr. Blob-container 5
Azure Files Resource Target
Maksimal størrelse af en filudveksling 5 TB
Maksimal størrelse af en filudveksling størrelse af en fil i en filudveksling 1 TB
Max antal filer i en filudveksling Ingen begrænsning
Max IOPS pr. filudveksling 1000 IOPS
Max antal lagrede adgangspolitikker pr. filandel 5
Maksimal anmodningshastighed pr. lagringskonto 20,000 anmodninger pr. sekund for filer af enhver gyldig størrelse
Målgennemstrømning for en enkelt Fildeling Op til 60 MB pr. sekund
Maksimale åbne håndtag for pr. fil 2000 åbne håndtag
Maksimalt antal øjebliksbilleder af delinger 200 øjebliksbilleder af delinger

Sikkerhed

Azure Storage Blob og Files Storage Service-kryptering, da de hører under Azure Storage Account-niveau. Når programmet skriver/læser en ny Blob/Fil, krypteres de ved hjælp af 256-bit AES-algoritmen (Advanced Encryption Standard). Hvis du kalder via REST API, er både Azure Blobs og Azure Files understøttet ved at aktivere Secure Required Transfer.

Både Azure Blobs og Azure-filer har brug for Shared Access Signature (SAS) for at få delegeret adgang til Blobs og filer. Ud over autorisation understøttes begge med Azure AD og delt adgangstoken.

Azure Blobs giver mulighed for at opnå kryptering ved hjælp af BlobEncryptionPolicy-klassen med Azure Key Vault. Azure-filer bruger indbygget kryptering i SMB 3.0-protokollen. Desuden understøtter både Azure Blobs og Azure Files CORS-reglen (Cross-Origin Resource Sharing). CORS giver dig mulighed for at beskrive whitelisten for HTTP-headerforespørgsel.

Med hensyn til netværkssikkerhed har du mere kontrol over den indgående netværkstrafik til både Azure Blobs og Azure Files. Det tillader kun et angivet IP-område og virtuelle netværk at få adgang til det.

Disaster Recovery

Databackup er vigtig for enhver virksomhed, hvor data betragtes som blodet i deres organisation. Desværre har Azure recover og back-up ikke automatisering til at sikkerhedskopiere data direkte fra Blob- og filopbevaring. For at håndtere, kan data downloades data ned til din on-premises infrastruktur eller oprette en ny Storage Account i et andet område til at gemme dine data.

Azure Blobs: Brug Copy Blob til asynkront at kopiere din Blob til destinationens lagringskonto.

Azure Files: Brug Copy Blob til asynkront at kopiere din Blob til destinationens lagringskonto: Brug Kopier fil til asynkront at kopiere en filudveksling til destinationens lagringskonto.

Priser

Priserne beskrevet her er baseret på Microsofts dokumentation

Data Storage Prices

Nedenfor er priserne for lagring af data i Azure File og Blob Storage

Blob Storage PREMIUM HOT COOL ARCHIVE
Første 50 terabyte (TB) / måned 0 USD.18 pr. GB $0.022 pr. GB $0.01 pr. GB $0.00099 pr. GB
Næste 450 TB / måned $0.18 pr. GB 0.0212$ pr. GB 0.01$ pr. GB 0.00099$ pr. GB
Over 500 TB / måned 0.18 pr. GB $0.0203 pr. GB $0.01 pr. GB $0.00099 pr. GB
Filopbevaring STANDARD
GB/måned 0,00$.06 pr. brugt GB
Snapshots GB/måned 0 USD.06 pr. brugt GB

Operationer og dataoverførselspriser

Nedenfor er priserne for operationer og dataoverførsel i Azure File and Blob Storage

Blob Storage PREMIUM HOT COOL ARCHIVE
Skriveoperationer (pr. 10,000)1 $0.021 $0.05 $0.10 $0.11
Liste- og oprettelsesoperationer for containere (pr. 10.000)2 $0.06 $0.05 $0.05 $0.05 $0.05
Læseoperationer (pr. 10.000)3
Læsning af arkiver med høj prioritet (pr. 10.000)5
0.0017 0.004 0.004 0.01 5.50
$30
Alle andre Operationer (pr. 10.000), undtagen Slet, som er gratis $0.0017 $0.004 $0.004 $0.004 $0.004
Datahentning (pr. GB)4
Arkivhentning med høj prioritet (pr. GB)5
Gratis Gratis Gratis 0$.01 $0.022
$0.06
Dataskrivning (pr. GB)4 Gratis Gratis $0.0025 Gratis
Filopbevaring STANDARD
Put, Create Container Operations (per 10.000) 0$.015
Listeoperationer (pr. 10.000) 0,015$
Alle andre operationer undtagen Delete, som er gratis (pr. 10.000) 0$.0015
Geo-Replication Data Transfer (per GiB) N/A

Wrap Up

I revolutionen af digital transformation bliver applikationer moderniseret, og det kræver storstilet mønster ikke kun i applikationslaget, men også i datalaget, som jeg ikke tror, Azure Files kan passe. Azure Files ville stadig være godt, hvis din applikation er beregnet til et specifikt publikum.

Måske er der individuelle aspekter, der skal overvejes, før man konkluderer den bedste løsning mellem Azure Blob Storage og Files. Hvis man tager de fælles funktionaliteter i betragtning, ville jeg foretrække Azure Blob Storage frem for Files.

Forfatter: Nadeem Ahamed

Nadeem er en teknisk produktmarkedsfører for Serverless360. Han er passioneret om at blogge om banebrydende teknologier. Han mener, at blogs er den bedste måde at dele viden blandt fællesskabet på, og hans passion for at skrive vil aldrig ende indtil den sidste dag af åndedræt. Han tror altid på sætningen “Looks so Good on the Outside, It’ll Make You Feel Good Inside”.Vis alle indlæg af Nadeem Ahamed