Azure Blob Storage vs File Storage

Microsoft tarjoaa useita vaihtoehtoja tietojen tallentamiseen pilvessä. Jokaisella vaihtoehdolla on oma ainutlaatuinen tarkoituksensa erilaisten liiketoimintatarpeiden palvelemiseen. Yksi Microsoft Azuren tarjoamista merkittävistä ominaisuuksista on ketteryys siirtyä tarvittaessa eri tallennusvaihtoehtoihin.

Azure-tallennustilillä on käytettävissä erilaisia vaihtoehtoja käyttäjätietojen tallentamiseen.

  • Blob-tallennustila
  • tiedostotallennustila
  • taulukkotallennustila
  • jonotallennustila
  • levy

Tämässä blogissa pyritään erottelemaan Azure Blob-tallennustila ja tiedostotallennustila, jotka ovat saatavissa Azure-tallennustilillä.

Esittely

Blob Storage

Azure Blob Storage on objektitallennusratkaisu pilvipalveluun. Blob Storage mahdollistaa massiivisen määrän strukturoimattoman datan tallentamisen. Rakenteettoman datan ei tarvitse olla tiettyä tietomallia.

Tiedostotallennus

Azure Tiedostot tarjoaa pilvessä täysin hallittuja tiedostojakoja, joihin pääsee käsiksi alan standardin SMB:n kautta. Azure File -jakoja voidaan asentaa samanaikaisesti Windows-, Linux- ja macOS-käyttöjärjestelmien pilvi- tai tiloissa tapahtuvilla käyttöönotoilla. Se voidaan tallentaa välimuistiin Windows-palvelimilla Azure File Syncin avulla nopeampaa käyttöä varten.

Kuinka käyttää

Blob-tallennustila

Azure Blob-tallennustila suunniteltiin palvelemaan erityistarpeita. Jos liiketoimintasi käyttötapauksessa on tallennettava strukturoimatonta dataa, kuten ääntä, videota, kuvia jne. kannattaa todennäköisesti valita tämä vaihtoehto. Blobiin tallennettavilla objekteilla ei välttämättä ole laajennusta.

Seuraavat kohdat kuvaavat käyttötapausskenaarioita:

  • Kuvien tai asiakirjojen tarjoaminen suoraan selaimelle
  • Tiedostojen tallentaminen hajautettua käyttöä varten
  • Videon ja äänen suoratoisto
  • Kirjoittaminen lokitiedostoihin
  • Datan tallentaminen varmuuskopiointia, palauttamista varten, katastrofista palautukseen ja arkistointiin
  • Tietojen tallentaminen tiloissa tai Azure-hostatussa palvelussa tapahtuvaa analysointia varten

Tiedostotallennus

Tiedostotallennusta voidaan käyttää, jos liiketoimintasi käyttötapauksessa on käsiteltävä enimmäkseen vakiotiedostopäätteitä, kuten *.docx, *.png ja *.bak, silloin kannattaa todennäköisesti valita tämä tallennusvaihtoehto.

Seuraavissa kohdissa kuvataan käyttötapausskenaarioita:

  • Korvaa tai täydennä tiloissa olevat tiedostopalvelimet
  • ”Nosta ja siirrä” -sovellukset
  • Yksinkertaista pilvikehitystä

Lataa tämä blogi ilmaiseksi PDF-dokumenttina offline-lukemista varten.

Reaaliaikainen skenaario

Ajatellaan skenaariota kehitysympäristössä, jossa jokainen kehittäjä tarvitsee pääsyn IDE:hen ja työkaluihin käyttämättä internetiä niiden lataamiseen. Tässä tilanteessa Azure Blob Storage vastaisi tarpeeseen ja sen avulla voit vain tallentaa kehitystyökalut ja antaa sitten tiimille linkin, jonka kautta he pääsevät Blob-sijaintiin.

Tiedostopalvelimen toteuttamiseksi organisaatiossasi kannattaa valita Azure Files -vaihtoehto. Tiedostopalvelinta käytetään tiedostojen jakamiseen organisaatiosi osastojen välillä. Kun kyse on Tiedoston jakamisesta, loppukäyttäjä ei saisi päästä käsiksi Tiedoston kopioihin sen URI:stä, ja ne on kartoitettava paikallisesti tietokoneissa. Tällöin Azure File Storage sopii tarpeisiisi.

Suurten tiedostojen lataaminen

Yleinen lähestymistapa, jota käytetään suurten tiedostojen lataamiseen, on niiden jakaminen osiin. Jakaminen ei ole vain toiminto tiedostojen lataamiseksi, vaan palaset on yhdistettävä Tiedostoksi, kun lataus on valmis.

Mikä vaihtoehto sopisi edellä mainittuun tehtävään? Azure Blob vai File Storage?

Vastaus on Azure Blob Storage. Vaikka tässä skenaariossa käsitellään tiedostoja, Azure Blob Storage sopii hyvin sen valmiiden ominaisuuksien vuoksi.

Azure Blob Storage sisältää kolmenlaisia blobeja: Block, Page ja Append. Lohko on yksittäinen yksikkö Blobissa. Blob voi sisältää useita lohkoja, mutta enintään 50 000 lohkoa per Blob. Tämä tarkoittaa, että voit jakaa Blobin 50 000 lohkoon ja ladata sen Azure Blobs -tallennustilaan. Lohkon vähimmäiskoko on 64KB ja enimmäiskoko 100 MB. Jos tarkastelet (esimerkiksi .NET-kirjastoa), yksi objekteista on BlockBlob, joka on osa CloudBlockBlob-luokkaa. Tämä luokka tarjoaa sinulle tonneittain asioita, joilla voit työskennellä Block Blobin kanssa.

Esimerkiksi StreamWriteSizeInBytes-ominaisuuden avulla voit asettaa Block Blobin koon, joka voi olla hyvä käsitellä epävakaata verkon nopeutta. Jokaisella Block Blobilla on myös metatietoja, joiden avulla voit hallita sitä erikseen. Jos haluat esimerkiksi varmistaa, että kaikki lohko-Blobit on siirretty onnistuneesti tiettyyn Blobiin, voit käyttää Content-MD5-ominaisuutta.

Azure File Storagessa ei ole tätä out-of-the-box-ominaisuutta. Jos haluat jakaa Tiedoston, sinun on löydettävä epäsuora menetelmä, kuten FileStream-luokka, tai käytettävä kolmannen osapuolen toimittajia.

Blob-tallennuksen ja Tiedostotallennuksen käytettävissä olevat valvontavaihtoehdot

Azure-portaali

Kun olet määrittänyt haluamasi Tallennustilin Seuranta-osion Diagnostiikka-vaihtoehtoon, voit määritellä seurattavien metriikkadatatatyyppien tyypin ja datan säilyttämiskäytännön.

Vakiomittaustiedot näytetään kaavioina Storage Account -terässä sekä yksittäisissä palveluterissä (Blobs ja Files). Kun olet ottanut metriikat käyttöön palvelulle, voi kestää jopa tunnin, ennen kuin tiedot näkyvät sen kaavioissa. Voit määrittää, mitkä metriikat näytetään kaaviossa, valitsemalla Muokkaa minkä tahansa metriikkakaavion kohdalla.

Azure-portaalin tallennuksen seurantavaihtoehto

Serverless360 (valmis tuote)

Tila- tai kynnysarvovalvonnassa on mahdollista valvoa sekä Storage Blobsia että Storage Filesia. Status Monitor luo raportin tiettyinä vuorokauden aikoina, joka esittää kokonaisuuksien tilan suhteessa haluttuihin arvoihin. Threshold Monitor luo raportin, kun tietyt ominaisuudet rikkovat haluttuja arvoja tietyn ajanjakson aikana. Pääasiassa Serverless360 valvoo Blobit ja tiedostot pikemminkin ominaisuuksiensa kuin metriikoidensa perusteella, toisin kuin Azure Portal.

Entity Type Ominaisuudet, joita voidaan valvoa
Storage Blob Lease State, Blob Count (Blobin määrä), Blob Size (Bytes) (Blobin koko (Bytes)), Block Blob Count (Lohkon Blobin määrä), Block Blob Size (Bytes) (Lohkon Blobin koko (Bytes)) (Blobin sivujen määrä), Page Blob Size (Bytes), Append Blob Count, Append Blob Size (Bytes)
Storage File Usage (Bytes)

Alhaalla olevassa kuvassa esitetään Blob-konfiguraatio Serverless360-sovelluksen Status Monitorissa.

Sl360 blob status monitor

Alhaalla on virheiden yksityiskohdat, jotka syntyvät, jos virhe jatkuu halutun ajan.

Sl360 blob error details

Skaalautuvuus

On merkittävää tuntea Azure Storage -palvelun kiintiö ja rajoitukset oikean vaihtoehdon valitsemiseksi. Azure Blob Storage -palvelun kapasiteetin korkein esitystaso on Containers, kun taas tiedostojen osalta Shares.

Azure Blobs -resurssi Kohde
Yksittäisen Blob-säiliön maksimikoko 500 TB
Lohkojen lukumäärän yläraja lohko-Blobissa tai Blobin lisäyksessä 50,000 lohkoa
Lohkon enimmäiskoko lohkossa Blob 100 MB
Lohkon enimmäiskoko Blob 50,000 X 100 MB (n. 4,75 TB)
Lohkon enimmäiskoko lisäyksessä Blob 4 MB
Lohkon enimmäiskoko lisäyksessä Blob 50,000 x 4 MB (n. 195 Gt)
Sivun enimmäiskoko Blob 8 TB
Tallennettujen käyttökäytäntöjen enimmäislukumäärä Blob-säiliötä kohti 5

.

Azure Files -resurssi kohde
Tiedosto-osion enimmäiskoko 5 TB
Max. File size of a File share 1 TB
Max number of Files in a File share No limit
Max IOPS per share 1000 IOPS
Tallennettujen käyttökäytäntöjen enimmäismäärä per tiedostojako 5
Maksimipyyntönopeus per tallennustili 20,000 pyyntöä sekunnissa minkä tahansa kelvollisen kokoisille tiedostoille
Tavoitekohtainen läpimenoteho yksittäiselle tiedosto-osuudelle Vähintään 60 Mt sekunnissa
Maksimissaan 2000 avointa kahvaa tiedostoa kohden 2000 avointa kahvaa
Maximum number of share snapshot 200 share snapshot

Security

Azure Storage Blob and Files Storage Service -palvelun salaus, koska ne kuuluvat Azure Storage Account -tasolle. Kun sovellus kirjoittaa/lukee uutta Blobia/tiedostoa, ne salataan 256-bittisellä AES-algoritmilla (Advanced Encryption Standard). Jos palvelua kutsutaan REST API:n kautta, sekä Azure Blobs että Azure Files -palvelua tuetaan ottamalla käyttöön Secure Required Transfer.

Kumpikin Azure Blobs ja Azure Files tarvitsevat Shared Access Signature (SAS) -tunnuksen saadakseen delegoidun pääsyn Blobeihin ja tiedostoihin. Molempia tuetaan valtuutuksen lisäksi Azure AD:llä ja jaetulla käyttöoikeustunnisteella.

Azure Blobs mahdollistaa salauksen saavuttamisen BlobEncryptionPolicy-luokalla Azure Key Vaultilla. Azure-tiedostot käyttävät SMB 3.0 -protokollan sisäänrakennettua salausta. Lisäksi sekä Azure Blobs että Azure Files tukevat CORS (Cross-Origin Resource Sharing) -sääntöä. CORS:n avulla voit kuvata HTTP-otsikkopyynnön valkoisen listan.

Verkkoturvallisuuden osalta voit hallita paremmin sekä Azure Blobsiin että Azure Filesiin tulevaa verkkoliikennettä. Se sallii vain tietyn IP-alueen ja virtuaaliverkkojen pääsyn.

Katastrofien palautus

Datan varmuuskopiointi on merkittävää kaikille yrityksille, joissa tietoja pidetään organisaation verinä. Valitettavasti Azure recoverissa ja back-upissa ei ole automatiikkaa tietojen varmuuskopioimiseksi suoraan Blob- ja tiedostovarastosta. Käsittelyä varten tiedot voidaan ladata alas toimitilainfrastruktuuriin tai luoda uusi Storage-tili toiselle alueelle tietojen tallentamista varten.

Azure Blobs: Käytä Copy Blob -toimintoa kopioidaksesi Blobin asynkronisesti kohdetallennustilille.

Azure Files: Käytä Copy File (Kopioi tiedosto) -toimintoa kopioidaksesi tiedostojakauman asynkronisesti kohdetallennustilille.

Hinnoittelu

Tässä kuvattu hinnoittelu perustuu Microsoftin dokumentaatioon

Datatallennuksen hinnat

Alta löytyvät hinnat tietojen tallentamiselle Azure File- ja Blob-tiedostoihin. Tallennus

Blob-tallennus PREMIUM HOT COOL ARKISTO
Ensimmäiset 50 teratavua (TB) / kuukausi 0 dollaria.18 per Gt $0.022 per Gt $0.01 per Gt $0.00099 per Gt
Seuraavat 450 TB / kk $0.18 per GB $0.0212 per GB $0.01 per GB $0.00099 per GB
Yli 500 TB / kk $0.18 per GB $0.0203 per GB $0.01 per GB $0.00099 per GB
Tiedostotallennus STANDARD
GB/kk $0.06 per käytetty GB
Snapshots GB/kk $0.06 per käytetty GB

Toimintojen ja tiedonsiirron hinnat

Alhaalla ovat Azure File and Blob Storagen toimintojen ja tiedonsiirron hinnat

.

Blob Storage PREMIUM HOT COOL ARCHIVE
Kirjoitusoperaatiot (per 10,000)1 $0.021 $0.05 $0.10 $0.11
Luettelo- ja luomiskonttioperaatiot (per 10 000)2 $0.06 $0.05 $0.05 $0.05
Lukuoperaatiot (per 10 000)3
Arkiston korkean prioriteetin luku (per 10 000)5
$0.0017 $0.004 $0.01 $5.50
$30
Kaikki muut operaatiot (per 10 000), paitsi Delete, joka on ilmainen $0.0017 $0.004 $0.004 $0.004
Datan haku (per Gt)4
Arkiston ensisijainen haku (per Gt)5
Vapaa Vapaa $0.01 $0.022
$0.06
Datan kirjoitus (per GB)4 Vapaa Vapaa $0.0025 Vapaa
Tiedostojen tallennus STANDARD
Put, Create Container Operaatioita (per 10,000) $0.015
Luettelo-operaatiot (per 10,000) $0.015
Kaikki muut operaatiot paitsi Delete, joka on ilmainen (per 10,000) $0.0015
Geo-Replication Data Transfer (per GiB) N/A

Wrap Up

Digitaalisen transformaation vallankumouksessa sovelluksia nykyaikaistetaan ja siihen tarvitaan laajamittaisia kuvioita sovelluskerroksen lisäksi myös datakerroksessa, johon Azure Files ei mielestäni mahdu. Azure Files olisi silti hyvä, jos sovellusta palvellaan tietylle yleisölle.

Ehkä on olemassa yksittäisiä näkökohtia, jotka on otettava huomioon, ennen kuin päädytään parhaaseen vaihtoehtoon Azure Blob Storage ja Files välillä. Ottaen huomioon yhteiset toiminnallisuudet, suosisin mieluummin Azure Blob Storagea kuin Filesia.

Author: Nadeem Ahamed

Nadeem on Serverless360:n tekninen tuotemarkkinoija. Hän bloggaa intohimoisesti huipputeknologioista. Hän uskoo, että blogit ovat paras tapa jakaa tietoa yhteisön kesken, eikä hänen intohimonsa kirjoittamiseen lopu koskaan viimeiseen hengenvetoon asti. Hän uskoo aina lauseeseen ”Looks so Good on the Outside, It’ll Make You Feel Good Inside”.Näytä kaikki käyttäjän Nadeem Ahamed

viestit.