
Tým objektového S3 úložiště přeložila článek o tom, jaké kritéria jsou důležitá při výběru objektového úložiště. Následuje text z pohledu autora.
Když se hovoří o objektovém úložišti, lidé obvykle myslí pouze na jednu charakteristiku — cenu za TB/GB. Samozřejmě, že tato metrika je důležitá, ale zúžuje přístup a srovnává objektové úložiště s nástrojem pro ukládání archivů. Tento přístup navíc zmenšuje důležitost objektového úložiště v technologickém stacku podniku.
Při výběru objektového úložiště byste měli věnovat pozornost pěti charakteristikám:
- výkon;
- škálovatelnost;
- kompatibilita se S3;
- reakce na výpadky;
- integrita.
Těchto pět charakteristik — nové metriky objektového úložiště, vedle ceny. Pojďme si je všechny probrat.
Výkon
Tradiční objektová úložiště se vyznačují nízkým výkonem. Poskytovatelé služeb často obětovali výkon za nízké ceny. Moderní objektová úložiště však představují jinou situaci.
Rychlost různých úložišť se blíží Hadoopu nebo ji dokonce překračuje. Moderní požadavky na rychlost čtení a zápisu: od 10 GB/s — pro pevné disky, až 35 GB/s — pro NVMe.
Taková šířka pásma je dostatečná pro Spark, Presto, Tensorflow, Teradata, Vertica, Splunk a další moderní výpočetní rámce v analytickém stacku. To, že se MPP databáze integrují s objektovými úložišti, naznačuje, že je stále častěji používají jako hlavní úložiště.
Pokud váš úložný systém neposkytuje potřebnou rychlost, nemůžete využívat data a získávat z nich hodnoty. I když extrahujete data z objektového úložiště do struktury zpracování v paměti, stále je potřeba šířka pásma pro přenos dat do paměti a z ní. U zastaralých objektových úložišť je jí nedostatek.
To je klíčový bod: nová výkonnostní metrika — šířka pásma, nikoli latence. Ta je nutná pro škálovatelné údaje a je to norma v moderní datové infrastruktuře.
Ačkoli testy výkonu jsou dobrým způsobem, jak určit výkon, nelze jej přesně měřit, dokud aplikaci nespustíte v prostředí. Teprve poté lze říct, kde přesně je úzké místo: v softwaru, discích, síti nebo na úrovni výpočtů.
Škálovatelnost
Pod škálovatelností se rozumí množství petabajtů, které se vejdou do jednoho názvu prostor. Poskytovatelé hovoří o snadné škálovatelnosti, ale opomíjejí, že při škálování se obrovské monolitické systémy stávají křehkými, složitými, nestabilními a drahými.
Novým měřítkem škálovatelnosti je počet prostorů názvů nebo klientů, které můžete obsluhovat. Metrika se bere přímo od hyperscalerů, kde jsou stavební bloky úložiště malé, ale škálovatelné až do miliard jednotek. Obecně se jedná o cloudovou metriku.
Když mají standardní bloky malé velikosti, je snazší je optimalizovat, tedy zajistit bezpečnost, řízení přístupu, správu politik, životního cyklu a aktualizací bez přerušení. A nakonec zajistit výkon. Velikost stavebního bloku je funkcí říditelnosti oblasti selhání, takto se staví vysoce odolné systémy.
Multiklientnost má mnoho charakteristik. Ačkoli parametr říká, jak organizace poskytují přístup k datům a aplikacím, také se vztahuje k samotným aplikacím a logice jejich izolace navzájem.
Charakteristiky moderního přístupu k multiklientnosti:
- Počet klientů se může během krátké doby zvýšit ze stovek na miliony.
- Klienti jsou zcela izolováni jeden od druhého. To jim umožňuje spouštět různé verze stejného softwaru a uchovávat objekty s různými konfiguracemi, oprávněními, funkcemi, úrovněmi zabezpečení a údržby. To je nezbytné, když se škálují nové servery, aktualizace a geografické regiony.
- Úložiště se elasticky škáluje, zdroje se poskytují na požádání.
- Každá operace je řízena API a automatizována bez účasti člověka.
- Software lze umístit do kontejnerů a používat standardní orchestrační systémy, jako je Kubernetes.
Kompatibilita se S3
Amazon S3 API — de facto standard pro objektové úložiště. Každý poskytovatel softwaru pro objektové úložiště tvrdí, že je s ním kompatibilní. Kompatibilita se S3 je binární: buď je plně realizována, nebo ji nemá.
V praxi může nastat stovky a tisíce hraničních scénářů, kdy při používání objektového úložiště něco neklape. Zejména u poskytovatelů proprietárního softwaru a služeb. Jeho hlavními scénáři použití jsou přímé archivování nebo zálohování, takže důvodů pro volání API je jen málo, možnosti využití jsou homogenní.
Významné výhody má software s otevřeným zdrojovým kódem. Pokrývá většinu hraničních scénářů s ohledem na velikost a rozmanitost aplikací, operačních systémů a hardwarové architektury.
To vše je důležité pro vývojáře aplikací, proto je dobré testovat fungování aplikace s poskytovateli úložišť. Otevřený zdrojový kód usnadňuje proces — je snadnější pochopit, jaká platforma je nejlepší pro vaši aplikaci. Poskytovatel může sloužit jako jediný vstupní bod do úložišť — to znamená, že splní vaše potřeby.
Otevřený zdrojový kód znamená: aplikace nejsou vázány na konkrétního poskytovatele a jsou transparentnější. To zajišťuje dlouhou životnost aplikace.
A ještě několik poznámek k otevřenému zdrojovému kódu a S3.
Pokud spouštíte aplikaci pro práci s velkými daty, S3 SELECT zvyšuje výkon a efektivitu. To je způsobeno použitím SQL k extrakci pouze těch objektů z úložiště, které potřebujete.
Klíčovým bodem je podpora oznámení o bucketech. Oznámení o bucketech usnadňují bezserverové výpočty — důležitou součást každé mikroservisní architektury, která je poskytována jako služba. Vzhledem k tomu, že objektové úložiště je de facto cloudové úložiště, tato funkce se stává rozhodující, když cloudové aplikace používají objektové úložiště.
Nakonec by implementace S3 měla podporovat API rozhraní pro šifrování Amazon S3 na straně serveru: SSE-C, SSE-S3, SSE-KMS. Ještě lepší je, pokud S3 podporuje skutečně bezpečnou ochranu před neoprávněným přístupem.
Reakce na selhání
Ukazatel, který pravděpodobně často přehlížejí, je způsob, jakým systém zpracovává selhání. Selhání mohou nastat z různých důvodů a objektové úložiště by je mělo všechna zpracovat.
Například existuje jediný bod selhání, jehož metrika je rovna nule.
Bohužel mnohé systémy objektového úložiště používají speciální uzly, které musí být aktivovány pro správný provoz clusteru. Mezi ně patří jmenné uzly nebo servery metadat — to vytváří jediný bod selhání.
I tam, kde jsou plánovány více bodů selhání, má zásadní význam schopnost odolávat katastrofickým výpadkům. Disky selhávají, servery selhávají. Klíčovým bodem je vytváření softwaru určeného k tomu, aby zpracovával selhání jako normální stav. Při selhání disku nebo uzlu tento software nadále funguje beze změn.
Vestavěná ochrana proti vymazání a degradaci dat zaručuje: můžete ztratit tolik disků nebo uzlů, kolik máte bloků parity — obvykle to bývá polovina disků. A teprve poté software nebude schopen obnovit data.
Selhání se zřídka testuje pod zátěží, ale takové testování je nezbytné. Modelování selhání pod zátěží ukáže souhrnné náklady, které byly vynaloženy po selhání.
Konzistence
Ukazatel konzistence 100% se také nazývá přísná konzistence. Konzistence je klíčovou součástí každého úložného systému, ale přísná konzistence se vyskytuje poměrně zřídka. Například Amazon S3 ListObject není přísně konzistentní, je konzistentní pouze na konci.
Co se rozumí pod přísnou konzistencí? Pro všechny operace po potvrzené operaci PUT musí platit následující:
- Aktualizovaná hodnota je viditelná při čtení z jakéhokoli uzlu.
- Aktualizace je chráněna zálohováním proti selhání uzlu.
To znamená: pokud vytáhnete zástrčku uprostřed zápisu, nic se neztratí. Systém nikdy nevrací poškozená nebo zastaralá data. To je vysoká laťka, která má význam pro mnohé scénáře: od transakčních aplikací po zálohování a obnovu.
Závěr
Toto jsou nové metriky objektového úložiště, které odrážejí modely použití v moderních organizacích, kde výkon, konzistence, škálovatelnost, domény selhání a kompatibilita se S3 jsou stavebními bloky pro cloudové aplikace a analýzu velkých dat. Doporučuji použít tento seznam v kombinaci s cenou při vytváření moderních datových stovek.
O objektovém úložišti Mail.ru Cloud Solutions: .
Co dalšího si přečíst:
- .
- .
- .
Zdroj: habr.com
