Azure Blob Storage vs File Storage

Microsoft nabízí několik možností ukládání dat v cloudu. Každá možnost má svůj jedinečný účel pro uspokojení různých obchodních potřeb. Jednou z významných možností, které Microsoft Azure poskytuje, je agilita migrace na jiné možnosti ukládání dat v případě potřeby.

V účtu Azure Storage jsou k dispozici různé možnosti ukládání uživatelských dat.

  • Úložiště Blob
  • Úložiště souborů
  • Úložiště tabulek
  • Úložiště fronty
  • Disk

Tento blog se snaží rozlišovat mezi úložištěm Azure Blob a úložištěm souborů, které je k dispozici v účtu Azure Storage.

Úvod

Úložiště Blob

Úložiště Azure Blob Storage je řešení objektového úložiště pro cloud. Blob Storage umožňuje ukládat obrovské množství nestrukturovaných dat. Nestrukturovaná data nemusí mít konkrétní datový model.

Úložiště souborů

Azure Files nabízí plně spravované sdílení souborů v cloudu, které je přístupné prostřednictvím standardního rozhraní SMB. Sdílené složky Azure File mohou být připojeny současně cloudovými nebo lokálními nasazeními systémů Windows, Linux a macOS. Lze je ukládat do mezipaměti na serverech se systémem Windows pomocí funkce Azure File Sync pro rychlejší přístup.

Kdy použít

Úložiště Blob

Úložiště Azure Blob bylo navrženo tak, aby sloužilo specifickým potřebám. Pokud váš obchodní případ použití vyžaduje ukládání nestrukturovaných dat, jako je zvuk, video, obrázky atd. pak byste pravděpodobně měli zvolit tuto možnost. Objekty, které se ukládají do Blobu, nemusí mít nutně příponu.

Následující body popisují scénáře případů použití:

  • Poskytování obrázků nebo dokumentů přímo prohlížeči
  • Ukládání souborů pro distribuovaný přístup
  • Streaming videa a zvuku
  • Zápis do souborů protokolu
  • Ukládání dat pro zálohování, obnovu, obnovení po havárii a archivaci
  • Ukládání dat pro analýzu lokální službou nebo službou hostovanou v Azure

Úložiště souborů

Úložiště souborů lze použít, pokud váš obchodní případ použití potřebuje pracovat převážně se standardními příponami souborů, jako je *.docx, *.png a *.bak, pak byste pravděpodobně měli zvolit tuto možnost úložiště.

Následující body popisují scénáře případů použití:

  • Nahraďte nebo doplňte lokální souborové servery
  • „Lift and shift“ aplikace
  • Zjednodušte si vývoj v cloudu

Stáhněte si tento blog zdarma jako dokument PDF pro čtení offline.

Scénář v reálném čase

Představte si scénář ve vývojovém prostředí, kde každý vývojář potřebuje přístup k IDE a nástrojům, aniž by je musel stahovat z internetu. V této situaci by tuto potřebu splňovalo úložiště Azure Blob Storage, pomocí kterého můžete pouze ukládat vývojové nástroje a poté dát týmu odkaz pro přístup k umístění Blob.

Pro implementaci souborového serveru ve vaší organizaci byste měli zvolit možnost Azure Files. Souborový server slouží ke sdílení Souborů napříč odděleními ve vaší organizaci. Pokud jde o sdílení Souboru, koncoví uživatelé by neměli mít povolen přístup ke kopiím Souboru z jeho URI a je třeba je namapovat lokálně v počítačích. V takovém případě se hodí úložiště souborů Azure.

Nahrávání velkých souborů

Běžným přístupem používaným k nahrávání velkého Souboru je jeho rozdělení na části. Rozdělení není jen funkcí pro nahrávání souborů, ale po dokončení nahrávání je třeba kousky sloučit do Souboru.

Která možnost by byla pro výše uvedený úkol vhodná? Azure Blob Storage nebo File Storage?

Odpovědí je Azure Blob Storage. Ačkoli se tento scénář zabývá soubory, úložiště Azure Blob Storage se hodí díky svým možnostem off the shelf.

Úložiště Azure Blob Storage obsahuje tři typy blobů: Block, Page a Append. Blok je jedna jednotka v blobu. Blob může obsahovat mnoho bloků, ale ne více než 50 000 bloků v jednom blobu. To znamená, že můžete rozdělit blob na 50 000 bloků a nahrát je do úložiště Azure Blobs. Minimální velikost bloku je 64 kB a maximální 100 MB. Pokud se podíváte do (například knihovny .NET), jedním z objektů je BlockBlob, který je součástí třídy CloudBlockBlob. Tato třída nabízí spoustu věcí pro práci s Block Blobem.

Například vlastnost StreamWriteSizeInBytes umožňuje nastavit velikost bloku Blob, což může být dobré pro zvládnutí nestabilní rychlosti sítě. Každý blok Blob má také metadata, která umožňují individuální ovládání. Chcete-li se například ujistit, že všechny blokové Bloby byly úspěšně odevzdány do daného Blobu, můžete použít Content-MD5.

Úložiště souborů Azure tuto možnost z výroby nemá. Pokud potřebujete rozdělit soubor, musíte najít nepřímou metodu, jako je třída FileStream, nebo použít dodavatele třetích stran.

Monitorovací možnosti dostupné pro úložiště Blob a úložiště souborů

Azure Portal

Pokud jste nakonfigurovali požadovaný účet úložiště na možnost Diagnostika v části Monitorování, budete moci definovat typ dat metrik, která chcete monitorovat, a zásady uchovávání dat.

Výchozí sada metrik se zobrazuje v grafech na čepeli Úložný účet a také na čepeli jednotlivých služeb (Bloby a Soubory). Po povolení metrik pro službu může trvat až hodinu, než se data zobrazí v jejích grafech. Na libovolném grafu metrik můžete vybrat možnost Upravit a nastavit, které metriky se mají v grafu zobrazovat.

Možnost monitorování úložiště portálu Azure

Serverless360 (Off the Shelf Product)

V monitoru stavu nebo prahové hodnoty je možné monitorovat jak bloky úložiště, tak soubory úložiště. Monitor stavu generuje v určitou denní dobu zprávu představující stav entit vůči požadovaným hodnotám. Threshold Monitor generuje report, když určité vlastnosti poruší požadované hodnoty za určité období. Serverless360 na rozdíl od portálu Azure Portal monitoruje převážně bloky a soubory na základě jejich vlastností, nikoli metrik.

Typ entity Vlastnosti, které lze sledovat
Uložiště Blob Stav pronajatosti, Počet Blobů, Velikost Blobů (bajty), Počet bloků Blobů, Velikost bloků Blobů (bajty), Počet stránek Blobů, Page Blob Size (Bytes), Append Blob Count, Append Blob Size (Bytes)
Storage File Usage (Bytes)

Následující obrázek zobrazuje konfiguraci Blobu v monitoru stavu aplikace Serverless360.

Sl360 blob status monitor

Níže je zobrazen detail chyby vygenerovaný v případě, že chyba přetrvává po požadovanou dobu.

Sl360 blob error details

Scalability

Pro výběr správné možnosti je důležité znát kvóty a limity úložiště Azure Storage. Nejvyšší úrovní zastoupení kapacity v úložišti Azure Blob Storage jsou kontejnery, zatímco u souborů je to sdílení.

.

Zdroj Azure Blobs Cíl
Max. velikost jednoho kontejneru Blob 500 TB
Max. počet bloků v blokovém Blobu nebo připojeném Blobu 50,000 bloků
Max. velikost bloku v bloku Blob 100 MB
Max. velikost bloku Blob 50 000 X 100 MB (př. 4,75 TB)
Max. velikost bloku v přídavném Blobu 4 MB
Max. velikost přídavného Blobu 50 000 x 4 MB (přibl. 195 GB)
Max. velikost stránkovacího blobu 8 TB
Max. počet uložených zásad přístupu na kontejner blobu 5
Azure Files Resource Target
Max. velikost sdílené složky souborů 5 TB
Max. velikost souboru ve sdíleném souboru 1 TB
Max. počet souborů ve sdíleném souboru žádný limit
Max. počet IOPS na sdílení 1000 IOPS
Max. počet uložených zásad přístupu na sdílení souborů 5
Maximální rychlost požadavků na jeden účet úložiště 20,000 požadavků za sekundu pro Soubory jakékoli platné velikosti
Cílová propustnost pro jedno Sdílení souborů Do 60 MB za sekundu
Maximální počet otevřených úkonů pro jeden Soubor 2000 otevřených úkonů
Maximální počet snímků sdílené složky 200 snímků sdílené složky

Zabezpečení

Šifrování služby Azure Storage Blob a Files Storage, protože spadají pod úroveň účtu Azure Storage. Když aplikace zapisuje/čte nový Blob/File, jsou šifrovány pomocí 256bitového algoritmu AES (Advanced Encryption Standard). V případě volání přes rozhraní REST API jsou podporovány jak Azure Blobs, tak Azure Files, a to zapnutím funkce Secure Required Transfer.

Azure Blobs i Azure Files potřebují k získání delegovaného přístupu k Blobs a Files podpis SAS (Shared Access Signature). Kromě autorizace jsou oba podporovány pomocí Azure AD a sdíleného přístupového tokenu.

Azure Blobs umožňují dosáhnout šifrování pomocí třídy BlobEncryptionPolicy s Azure Key Vault. Soubory Azure používají vestavěné šifrování v protokolu SMB 3.0. Azure Blobs i Azure Files také podporují pravidlo CORS (Cross-Origin Resource Sharing). CORS umožňuje popsat whitelist pro hlavičku požadavku HTTP.

Co se týče zabezpečení sítě, máte větší kontrolu nad příchozím síťovým provozem do Azure Blobs i Azure Files. Umožňuje přístup pouze k určenému rozsahu IP a virtuálním sítím.

Obnova po havárii

Zálohování dat je významné pro každý podnik, kde jsou data považována za krev jeho organizace. Bohužel funkce Azure recovery a back-up nemají automatizaci pro zálohování dat přímo z úložišť Blob a File Storage. Chcete-li si s daty poradit, můžete je stáhnout dolů do lokální infrastruktury nebo vytvořit nový účet úložiště v jiné oblasti, kam budete data ukládat.

Azure Blobs:

Azure Files: Pomocí funkce Copy Blob můžete asynchronně zkopírovat svůj blob do cílového účtu úložiště: Použijte Kopírovat soubor pro asynchronní kopírování sdílení souborů na cílový účet úložiště.

Ceny

Ceny zde popsané vycházejí z dokumentace společnosti Microsoft

Ceny datových úložišť

Níže jsou uvedeny ceny za ukládání dat v Azure File a Blob. Úložiště

Blob Storage PREMIUM HOT COOL ARCHIVE
Prvních 50 terabajtů (TB) / měsíc 0 USD.18 za GB $0,022 za GB $0,01 za GB $0,00099 za GB
Dalších 450 TB / měsíc $0.18 za GB $0,0212 za GB $0,01 za GB $0,00099 za GB
Nad 500 TB / měsíc $0.18 za GB $0,0203 za GB $0,01 za GB $0.00099 za GB
Úložiště souborů STANDARD
GB/měsíc $0.06 za využitý GB
Snímky GB/měsíc $0.06 za využitý GB

Ceny za operace a přenos dat

Níže jsou uvedeny ceny za operace a přenos dat v úložišti Azure File and Blob Storage

.

Blob Storage PREMIUM HOT COOL ARCHIVE
Operace zápisu (za 10,000)1 $0.021 $0.05 $0.10 $0,11
Operace se seznamy a vytváření kontejnerů (na 10 000)2 $0,06 $0,05 $0,05 $0.05
Čtecí operace (na 10 000)3
Archivní čtení s vysokou prioritou (na 10 000)5
$0,0017 $0,004 $0,01 $5.50
$30
Všechny ostatní operace (na 10 000), kromě vymazání, které je zdarma $0,0017 $0,004 $0,004 $0.004
Vyhledávání dat (za GB)4
Vyhledávání archivu s vysokou prioritou (za GB)5
Zdarma Zdarma $0.01 $0,022
$0,06
Zápis dat (na GB)4 Zdarma Zdarma $0.0025 Zdarma
Úložiště souborů STANDARD
Operace s kontejnery (na 10 000) $0.015
Seznamové operace (na 10 000) $0,015
Všechny ostatní operace kromě mazání, které je zdarma (na 10 000) $0.0015
Přenos dat georeplikací (za GiB) N/A

Závěr

V revoluci digitální transformace se modernizují aplikace a to vyžaduje rozsáhlý vzor nejen v aplikační vrstvě, ale také v datové vrstvě, což si myslím, že Azure Files nemůže vyhovovat. Azure Files by byl stále dobrý, pokud vaše aplikace slouží pro specifické publikum.

Možná je třeba zvážit jednotlivé aspekty, než se dospěje k závěru o nejlepší volbě mezi Azure Blob Storage a Files. S ohledem na společné funkce bych dal přednost úložišti Azure Blob Storage před úložištěm Files.

Autor: Mgr: Nadeem Ahamed

Nadeem je technický marketér produktů pro Serverless360. S nadšením píše blogy o nejmodernějších technologiích. Věří, že blogy jsou nejlepším způsobem, jak sdílet znalosti mezi komunitou, a jeho vášeň pro psaní nikdy neskončí až do posledního dne dechu. Vždy věří ve větu: „Navenek to vypadá tak dobře, že se budete cítit dobře i uvnitř.“ Zobrazit všechny příspěvky od Nadeem Ahamed

.