Archivujte 1TB dat pod 40 Kč měsíčně, prozkoumejme novou Azure Storage

Svoje zálohy, obrázky, modely, videa, datové exporty či logy můžete nově archivovat v Azure pod 40 Kč měsíčně za TB. Podívejme se jak funguje nový typ storage accountu a tiering mezi trojicí modelů objektové storage: Hot, Cool a Archive.

Image result for azure blob storage

Co je Azure Blob Storage

Blob, neboli binary large object, je objektová storage v Azure. Není to ani nízkoúrovňové blokové zařízení (jako Azure Disk), ale na druhou stranu ani standardní souborový systém (jako Azure Files). Jednotlivé objekty (soubory) jsou uloženy s metadaty označujicími jejich typ, poskládány v blocích od 64KB do 100MB a to hlavní - veškeré operace a přístup k nim jsou přes HTTP/HTTPS. Jinak řečeno blob storage si můžete představit jako web server: na nějaké URL čeká video a pokud máte práva, tak si ho z této URL stáhnete. To mimochodem včetně možnosti přeskakování scén a samozřejmě můžete takhle na webu servírovat obrázky na přímo (na svém webu referencujete obrázek odkazem do storage a tento se zobrazí přímo odtamtud).

Blob storage je velmi populární na celou řadu úloh. Ukládání obrázků a videa pro vaše stránky a mobilní aplikace. Použití blob storage jako destinace pro zálohovací software. Ukládání dokumentů, datových exportů, logů a mnoho dalších využití.

V následujícím článku budu mluvit o storage account v2 - novém režimu, který podporuje jak Blob tak i ostatní typy storage, například Files. Do budoucna půjde o preferované řešení, protože všechny novinky a případná cenová snižování půjdou právě do tohoto typu storage. Předchozí storage account v1 nepodporuje archivní tier, ale account jednoduše zmigrujete na v2. Speciální Blob account podporuje archiv a má lehce jiný model cenotvorby. Soustřeďme se ale na storage v2, to je model pro budoucnost.

Jak se k ní připojím

Jak už jsem naznačil přístup do Azure Blob Storage je ve skutečnosti extrémně jednoduchý "webový" model. Můžete tedy využít přímo HTTP API. Ostatně například pro stažení blobu nepotřebujete opravdu nic než HTTP klienta - browser, curl, wget...cokoli. Přidat podporu Blob Storage přímo do vaší aplikace je díky SDK pro nejrůznější jazyky velmi snadné.

Uživatelsky jednoduché procházení a práci se storage je k dispozici přímo v Azure portálu, který umí vytvářet kontejnery (přihrádky v rámci jednoho storage účtu), uploadovat a stahovat soubory apod. Pro pokročilejší operace doporučuji stáhnout si Azure Storage Explorer pro váš Windows, Linux nebo Mac počítač (https://azure.microsoft.com/en-us/features/storage-explorer/).

Obrovské množství aplikací má zabudovanou podporu pro Azure Blob Storage. Zejména v oblasti zálohovacího software - Commvault, Data Protector, Avamar a hromada dalších. Některé on-premises storage produkty mohou využívat Azure Blob jako svůj cloud tier.

Jaký je rozdíl mezi Hot, Cool a Archive

Pokud máte v objektové storage uloženy obrázky, dokumenty a videa pro vaše stránky, určitě chcete aby byly dostupné okamžitě, číst a zapisovat se budou relativně často a potřebujete vysokou dostupnost (tím rozumějme schopnost se k datům dostat - jiná věc je durabilita, tedy to, že o data nepřijdete a ta je ve všech tierech stejná díky masivnímu jištění). Na druhém konci spektra jsou archivní data, která máte uložena především z důvodů compliance, jako ochranu před neočekávanými situacemi typu malware nebo pro uchování historických dat pro pozdější účely (nikdy nevíte, kdy se získáte nový nápad jak data zpracovat a něco z nich vytěžit, tak je lepší nic nezahazovat). K takovým datům se potřebujete dostat spíše vyjímečně a nevadí, že nejsou online (tedy že musíte počkat pár hodin než je získáte). Někde mezi tím jsou možná data, která občas potřebujete, ale zase ne tak často. Nicméně když ta potřeba přijde, chcete je mít k dispozici hned.

Těmto kategoriím odpovídají tři vrstvy blob storage kdy každá má trochu jiné vlastnosti a cenovky.

Hot

Hot je kategorie, která je nejdražší v ceně za uložený prostor, ale data můžete dle libosti zapisovat a mazat. Platíte transakční operace (zápis bloku - ten ale může být i 100MB velký, takže jich nebývá moc), ale cena je relativně nízká. Data jsou online, dostupná okamžitě a přístup k nim je v 99,9% SLA. Samozřejmě jsou uložena vždy třikrát v konzistentní synchronní kopii, takže durabilita je zajištěna.

Cool

V Hot tieru jsou všechna data uložena jednoduše třikrát - je to velmi rychlé a i v případě výpadku jedné kopie máte okamžitě přístup bez nějakého přepočítávání. To ale také znamená, že je to náročnější na prostor. To je důvod pro existenci tieru Cool, který místo jednoduché kopie používá kódování kontrolních součtů (erasure coding). To je efektivnější z hlediska prostoru, takže dostáváte nižší cenu za uložený GB (na polovině Hot tieru). Na druhou stranu operace jsou dost náročně na počítání, takže cena za transakce je vyšší. V případě výpadku některé komponenty se musí přepočítávat, takže dostupnost má SLA 99% (ale pozor, to samozřejmě není o durabilitě - stále máte minimálně dvojí jištění, tedy data + dva součty, takže o data se bát nemusíte - neznamená to, že s pravděpodobností 1% přijdete o data :)  ). Protože zapisovací operace jsou výpočetně náročné, má tento tier politiku uložení na minimálně 30 dní (k tomu se ještě vrátíme).

Archive

Pokud se chcete dostat na nejnižší cenu, v tomto případě asi desetinu Hot tieru, data už nebudou online na discích, ale uložená jiným způsobem (například páska). Pro tyto účely existuje archivní tier. Ten narozdíl od dvou předchozích není online, tedy nemůžete do něj přímo zapisovat nebo číst. Funguje to tak, že zapíšete do Hot nebo Cool a přepnete si konkrétní objekt na Archive. Systém ho napozadí přesune. Když pak chcete z archivu číst, nejprve objekt necháte přesunout do Hot nebo Cool, z kterého pak soubor přečtete. Tato operace může trvat až 15 hodin. Zápisy jsou velmi náročné a cena za uložení nízká, takže zde platí politika minimálního uložení na 180 dní (viz dále).

Kolik mě to bude stát

Kompletní cenotvorbu najdete samozřejmě na webu: https://azure.microsoft.com/en-us/pricing/details/storage/blobs/

Uložení

Já spíš ukážu ty nejdůležitější parametry a vysvětlím jak fungují. Prvním je cena za uložený GB měsíčně. V případě Hot je to počítáno s velmi nízkou granularitou, takže pokud tam máte něco den, zaplatíte jen za den. V zásadě totéž platí i pro Cool a Archive, ale je to podmínka minimální doby uložení. Pokud dáte něco do Cool je minimální doba uložení 30 dní. Jinak řečeno - pokud zapíšete a po 5 dnech přesunete zpět do Hot, bude vám k 5 dnům, které jste průběžně zaplatili, připočten ještě poplatek za předčasné smazání ve výši 30-5=25 dní. Pokud ale uložíte na 32 dní, platíte jen za 32 dní. V tieru archive je to stejný koncept, jen minimální doba uložení je 180 dní. Za TB dat měsíčně zaplatíte 16,6 EUR v Hot, 8,5 EUR v Cool a 1,5 EUR v Archive.

Transakce

Za každou operaci s objekty platíte. Vypsání metadat, zapsání bloku, načtení bloku apod. Nicméně bloky sice mohou být 64KB, ale podporovány jsou i bloky velikosti 100MB (klienstké implementace většinou použijí co největší - můžete si ale v portálu zkusit při uploadu dát advanced a zvolit si velikost bloku dle svého zvážení - pokud například víte, že budete v souboru potřebovat nacházet malé kousky dat, může být ve finále efektivnější menší blok, protože nemusíte stahovat objekt celý a stačí vám jen stáhnout jeden blok, třeba těch 64KB). Ani velké soubory vám tedy nevygenerují příliš mnoho transakcí pokud použijete 100MB bloky. Transakční poplatky jsou nejlevnější u Hot, dražší u Cool a nejdražší u Archive - ale to je celkem logické.

Čtení a zápis v Cool

V Hot jsou čtení a zápis zdarma, resp. samozřejmě platíte za transakce, ale samotné zpoplatnění per-GB zápisu nebo čtení tam není. U Cool je to jiné.

Zápisy jsou pro vás zdarma, ale platí zde minimální úložná doba 30 dní. Data tedy nemusí mít smysl mazat (nebo přesouvat do Hot) dříve jak za 30 dní.

Čtení je v Cool zpoplatněno (tento tier není určen na časté čtení, na to je Hot), dělá to 8,5 EUR za TB. Pokud tedy data často čtete, rozhodně bude levnější Hot tier. Nicméně číst můžete rovnou hned - to je největší rozdíl oproti Archive tieru.

"Čtení a zápis" v Archive a poplatky při tieringu

Archivní tier není online, nelze z něj přímo číst ani do něj přímo zapisovat. To se musí dělat přes Hot nebo Cool. Zapíšete do Hot a přepnete si blob na archiv. Když chcete číst, přepnete si blob zpět na Hot nebo Cool. Důležité tedy je jaké ceníky se použijí při těchto operacích. Vždy se použije "studenější" tier. Tedy při přepnutí z Hot do Cool platíte zapisovací operace do Cool. Při přepnutí z Hot nebo Cool do Archive platíte zapisovací operace do Archive. Cestou zpět když přepnete z archive do Hot, platíte čtecí poplatky Archive.

Zápis do Archive je tedy nepřímý a následné podléha 180 úložné době. Pozor ale na rozdíl oproti Cool. Z Cool tieru můžete data přečíst (byť za poplatek), z Archive ne - pro čtení je musíte přesunout do jiného tieru! Je tedy dobré do archivního tieru dávat až to, co opravdu je archivního charakteru.

Příklad

Vezmete 100GB soubor a uložíte do Hot. To vám udělá něco přes 1000 transakcí, takže cena zanedbatelná (kolem 0,005 EUR celkem). Soubor tam necháte ležet 30 dní, protože nevíte, jestli nebude potřeba pro čtení. Úložení takového souboru vás na ten měsíc vyjde na 1,66 EUR. Následně se rozhodnete soubor archivovat. Přepnete ho tedy na archivní tier. To vám udělá 1000 zápisových transakcí v archivním tieru, tedy kolem 0,025 EUR.

Soubor nám leží v archivu, ale oproti očekávání po 120 dnech potřebujete soubor přečíst. Co teď. Blob musíme přepnout na Hot tier a podívejme se kolik to bude stát celkem. Po dobu 120 dní jsme měli soubor uložen v archivu a to stálo  0,15 EUR na měsíc, tedy 0,60 EUR celkem. Nicméně soubor opustil archiv předčasně, zaplatíme tedy poplatek zbývající do minimální úložné doby 180 dní (tedy 0,30 EUR navíc). Dále 100GB transfer z archivu stojí pro 100GB 0,13 EUR a zaplatit musíme archivní transakce čtecího typu, tedy 1000 transakcí, což vyjde na asi na 0,0127 EUR. Pak už jen přečteme z Hot (1000 čtecích transakcí, tedy 0,00037 EUR) - neřešme bandwidth (download z Azure, ať to nekomplikujeme).

Naše celková historka - 100GB soubor zapsaný do Hot, po měsíci přesunutý do Archive, po 4 měsících předčasně přesunutý zpět do Hot a načtený nás vyjde za celou dobu na asi na 2,7 EUR, pokud počítám správně. Jak už jsem říkal počítám s variantou kdy všechno zůstane v Azure, pokud bychom ještě chtěli těch 100GB vytáhnout z cloudu ven k sobě (například pro scénář recovery ze zálohy do on-premises), musíme zaplatit za síťový download dat (8,27 EUR). Pokud to tedy jde a chceme soubor jen otevřít a na něco se podívat, je výhodnější ho otevřít ve VM v Azure - třeba v mašině B1S, kde za hodinu běhu zaplatíme jen 0,013 EUR.

A co takové to domácí zálohování foteček?

Azure Storage je zaměřena na profesionální použití - pro aplikace, pracovní data, soubory pro vaše webovky apod. Také tam, kde potřebujete archivovat masivní objemy dat, třeba povinně ukládat veškeré kamerové záznamy. Pokud hledáte něco, kam si uložíte fotky tak, že je budete u přátel promítat, bude pro vás consumer řešení typu OneDrive asi lepší volba, protože je to uživatelsky jednodušší (Azure Storage je platforma, ne hotové uživatelské řešení) a navíc neplatíte poplatky za přenos dat. Ale pokud jste grafické studio a máte petabyty, které chcete profesionálně pořešit, Azure Storage je na to dělaná.

Využijte Azure Blob Storage a díky tieringu najděte optimální model pro různé typy vašich dat. Uložit si terabyte pod 40 kaček měsíčně mi přijde dost lákavé!



Co přinesl rok 2018 v Azure v kontejnerech Storage
Co přinesl rok 2018 v Azure v IaaS službách Storage
Jak jsem přešel z Wordpress na statické stránky Jekyll v Azure a proč Storage
Jak efektivně posílat data do cloudu s Azure Data Box Gateway Storage
Nemodifikovatelná storage v Azure pro zákonné držení vašich dokumentů Storage