Tým podpory úložiště Bloomberg spoléhá na open source a SDS

Tým podpory úložiště Bloomberg spoléhá na open source a SDS

TL, DR: Tým Bloomberg Storage Engineering vytvořil cloudové úložiště pro interní použití, které nezasahuje do infrastruktury a dokáže odolat velké zátěži volatility obchodování během pandemie.

Mattew Leonard, když mluví o své práci technického manažera v týmu Bloomberg Storage Engineering, často používá slova „náročné“ a „zábavné“. Výzvy vyplývají ze širokého rozsahu úložiště, od nejnovějších polí SAN založených na NVMe až po softwarově definovaná úložiště v DevOps s otevřeným zdrojovým kódem. Tady začíná „zábava“ (viz můj avatar na Habré, Cca. překladatel).

Leonard a jeho tým 25 kolegů dohlíží na více než 100 petabajtů kapacity a interní cloud pro 6000 XNUMX inženýrů vyvíjejících aplikace pro Bloomberg Terminal, technologii, která z Michaela Bloomberga udělala miliardáře. Tým navrhuje, staví a udržuje úložné systémy pro Bloomberg Engineering.

Stejně jako ostatní IT profese byl rok 2020 pro členy týmu Storage Engineering neobvyklým rokem, protože je COVID-19 přinutil pracovat na dálku. Leonard řekl, že pandemie ovlivnila jeho „pevně propojený tým“ společensky, protože osobní interakce byly eliminovány, ale zaměstnanci se velmi rychle přizpůsobili práci z domova na laptopech a videokonferencím.

Překvapivě chci říci, že to nezhoršilo věci. Nastalo krátké adaptační období – ne všichni byli připraveni pracovat z domova. Po týdnu nebo dvou to všichni pochopili. Dokázali jsme najít způsoby, jak se udržet zaneprázdněni, nakupovat a upgradovat vybavení a zvýšit náklady na podporu společnosti v těchto dobách. Museli jsme být kreativní, ale nezranili jsme se

Největší výzva možná předcházela vrcholu COVID-19. Bylo to kvůli volatilnímu obchodování na trhu kvůli obavám z dopadu pandemie na globální ekonomiku. Objem dat proudících do terminálů Bloomberg z globálních kapitálových trhů se téměř zdvojnásobil a koncem března v některých dnech dosáhl 240 miliard informací. Toto je vážný test úložných systémů.

Když okamžitě zdvojnásobíte své požadavky na úložiště během jednoho dne, způsobí to zajímavé problémy. Dokázali jsme to překonat a zajistit, aby týmy pro vývoj aplikací dostaly potřebný prostor a výkon. Většina z toho souvisí s tím, jak přemýšlíme o úložných systémech. Dnes nic nevytváříme. Neříkáme: "Používáme ABC, takže vybudujeme infrastrukturu pro ABC." S našimi týmy děláme to, čemu říkáme „data budgeting“, abychom předpovídali využití, analyzovali trendy využití a výkonu a také se zabývali bezpečností. Tento typ plánování, přemýšlení a metodické náležité péče nám umožňuje přijmout drastická opatření proti přepětí, aniž bychom se zapotili. Samozřejmě jsem byl nervózní, ale cítil jsem se pohodlně na svém místě.

Leonard nedávno hovořil s SearchStorage podrobně o správě úložiště pro podniky založené na datech. Diskutoval o tom, co by bylo zapotřebí k tomu, aby bylo možné nabídnout řešení soukromého cloudového úložiště se schopností poskytovat svým uživatelům funkce AWS a zároveň uchovávat veškerá data v datových centrech Bloomberg.

Pokud již pandemie netrvá, jaké potíže mají inženýři Bloombergu se správou úložiště?

Máme mnoho potřeb, jsme prostě roztrhaní různými směry. Potřebujeme tedy poskytovat mnoho různých typů produktů na různých úrovních SLA, abychom našim vývojářům aplikací pomohli soustředit se na jejich úkoly, místo aby se starali o samotné úložiště.

A jakou strategii k tomu dodržujete?

Část toho, co se snažíme udělat, je zlepšit výkon úložiště. Představte si model AWS, do kterého vejde vývojový inženýr, stiskne tlačítko a pak „kliknutím“ magicky získá správný typ úložiště, který jeho problém vyřeší.

Jak vypadá vaše infrastruktura úložiště?

Protože máme velmi rozmanitý ekosystém a mnoho různých vývojářů, nemůžeme nabídnout jediný produkt. Máme objektové, souborové a blokové úložiště. Jedná se o různé produkty a nabízíme různé typy technologií k jejich dodání. Pro blok používáme SAN. Máme také SDS, který poskytuje další možnost blokového úložiště s jinou sadou požadavků na výkon. Pro soubory používáme NFS. SDS se také používá pro ukládání objektů. Blokové a objektové části tvoří interní privátní cloud pro výpočty a úložiště.

Veřejné cloudové úložiště tedy nepoužíváte?

To je správně. Některé vývojové týmy mají oprávnění používat veřejné cloudy. Ale vzhledem k povaze našeho podnikání dáváme přednost tomu, abychom měli větší kontrolu nad věcmi, které opouštějí naše zdi. Takže ano, máme vlastní mraky, které máme pod kontrolou. Jedná se o zařízení umístěné v našem datovém centru pod naší správou.

V našich datových centrech preferujeme strategii více dodavatelů. Jsou to velcí dodavatelé, ale nebudeme říkat kdo přesně (je zásadou Bloombergu nepodporovat žádného dodavatele, Cca. překladatel).

Používáte hyperkonvergovanou infrastrukturu k budování svého privátního cloudu?

Ne. My v Bloombergu volíme směr, kde nesměřujeme k hyperkonvergenci. Snažíme se oddělit výpočet od úložiště, abychom je mohli nezávisle škálovat. Směr, kterým se ubíráme, zejména s naším cloudem, je pro nás, abychom byli schopni tyto dvě entity oddělit. A to vše proto, že některé věci u nás vyžadují intenzivní výpočty, jiné zase skladování. Pokud je škálujete rovnoměrně, ztratíte zdroje, bez ohledu na peníze, prostor v datových centrech nebo nákupem kapacity, kterou nepotřebujete. Proto bychom rádi měli společné rozhraní mezi těmito dvěma subjekty, ale aby to byly zcela odlišné systémy a spravované různými týmy.

Jaké překážky je třeba překonat pro vybudování privátního cloudu?

Problém měřítka. Jako u většiny věcí se ďábel skrývá v detailech. Když se zamyslíte nad tím, jak tyto věci fungují, jak je zajistit, aby byly odolné, jak zvládat provozní zátěž, jak komunikujete s týmy fyzických aktiv, věci začínají být trochu zajímavé. Úkolem je najít způsob, jak ze všeho udělat škálovatelný a podporovatelný produkt, který by naši vývojáři aplikací chtěli používat, aby byli schopni obohatit sadu funkcí a přitom zůstat na špici toho, co dělá veřejný cloud. A také to všechno skloubit, aby to fungovalo dál. To je náš hlavní problém – pracujeme napříč všemi oblastmi podnikání, snažíme se uspokojit všechny potřeby, ale neignorujeme ostatní potřeby.

Myslíte si, že potřebujete nejnovější funkce dostupné v AWS a dalších veřejných cloudech?

Nejzábavnější na S3 je, že životní úroveň se neustále mění, stále přibývají nové funkce. Je to jako nová hračka. Pokud někdo vidí novou funkci v nové verzi, chce ji. Ne všechny funkce AWS jsou použitelné v našem prostředí, takže je důležité a zajímavé vědět, co pomůže vývojářům a jak to získat interně.

Jaké úložné zařízení používáte?

Používáme nejmodernější vybavení. Náš interní cloud je zcela založen na NVMe Flash, díky čemuž jsou tyto systémy velmi výkonné. Trochu nám to usnadňuje život a je to také příjemná funkce pro naše vývojáře, protože se nemusí starat o výkon úložiště.

K čemu úložiště objektů používáte?

Máme 6000 XNUMX vývojářů, kteří pracují na infrastruktuře, nesjednocuje je žádný případ použití. Jakákoli možnost, na kterou si vzpomenete, pravděpodobně ji máme v úložišti objektů. Některé týmy jej používají pro archivaci za studena, některé pro přenos dat a jiné pro transakční aplikace. Všechny tyto případy použití vyžadují různé úrovně SLA, takže jak vidíte, máme různé typy provozu, všechny druhy potřeb pro různé uživatele naší infrastruktury. Nejedná se o homogenní případ použití běžící na jakémkoli našem úložišti, což samozřejmě dělá věci složitější.

Jak velkou roli pro vás hrají Kubernetes a kontejnery a jak to ovlivňuje úložiště?

Posouváme produktivitu úložiště, abychom vytvořili pocit cloudu, pocit něčeho jako služby, kde je k dispozici tlačítko pro vývojáře, aby urychlili své řemeslo a odstranili infrastrukturu.

Redakce n.b.: 15. října 2020 bude připraveno Video kurz Ceph. Naučíte se technologii síťového úložiště Ceph, kterou můžete použít ve svých projektech ke zlepšení odolnosti proti chybám.

Máme tři týmy, prvním je tým storage API. Vytvářejí programový přístup, koncové body a předdefinované pracovní postupy pro klienty vývoje aplikací ve společnosti Bloomberg. Jedná se o tým full stack webových vývojářů, kteří používají node.js, python, open source technologie, jako je Apache Airflow, takže studují kontejnerizaci a virtualizaci.

Máme také dva technické týmy, které ve skutečnosti přesouvají bity a bajty. Více přímo souvisí s vybavením. Máme spoustu vybavení a tyto týmy nepoužívají virtualizaci a kontejnery.

Snažíme se držet krok s tím, co se děje v oboru, studujeme ovladače Kubernetes CSI a také úzce spolupracujeme s týmem implementujícím Kubernetes ve společnosti Bloomberg, abychom posoudili, zda dokážeme zajistit, aby úložiště Kubernetes fungovalo konzistentně s technologiemi, které máme a které máme. funguje to. SDS používáme k podpoře Kubernetes připojených k trvalému úložišti. Tuto technologii jsme úspěšně vyvinuli a mezi oběma týmy pokračují diskuse o tom, jak ji můžeme zpřístupnit všem ostatním v Bloombergu. Ukázali jsme, že je to docela možné.

Jaký jiný open source software používáte, zejména pro ukládání?

K omezení provozu aplikací používáme Apache Airflow, HAProxy. Používáme také Ceph, platformu pro SDS. S ním můžete mít jeden systém pro příkazy, ale klientům poskytovat více rozhraní. Jedna z virtualizačních platforem běží na OpenStacku – s tímto týmem úzce spolupracujeme. Máme open source virtualizační platformu, která využívá open source platformu SDS pro úložiště. Je to legrační.

Jaké technologie úložiště zvažujete na příští dva až tři roky?

Neustále se díváme na další skvělé nové věci, které se dějí v odvětví skladování. Toto je součást naší práce, není to „zde je vaše SAN, spravujte zde a zde je vaše NFS, spravujte tam“. Snažíme se s našimi klienty komunikovat, tzn. od našich vývojářů aplikací. Spolupracujeme na tom, abychom pochopili, jaké problémy se snaží vyřešit a jaký to bude mít dopad na naše externí klienty Bloomberg – banky a další, kteří používají náš software. A pak se vrátíme do světa ukládání dat, abychom našli příležitosti, které jim pomohou dosáhnout jejich cíle. Jak jim můžeme pomoci najít správnou technologii úložiště, která vyhovuje jejich smlouvě SLA nebo čemu se snaží? Protože máme tolik inženýrů, kteří dělají skvělé věci, nikdy to nebude nuda.

V současné době hledáme způsoby, jak zlepšit výkon SDS, který by potenciálně mohl běžet na serverech pro všeobecné použití. Takže pracujeme na NVMe přes TCP, toto je velmi zajímavá a skvělá iniciativa, jedna z mnoha. Spolupracujeme také s klíčovými lidmi z oboru a některými stávajícími dodavateli, abychom zjistili, co nabízejí a jaký bude skutečný výkon, zda to můžeme začít používat ve výrobě ve firmě. To otevírá nové obzory, které dříve nebyly dostupné.

Malá nápověda v PS

PS Pokud mohu, rád bych vám připomněl, že se bude konat 28. - 30. září intenzivní Kubernetes Base, pro ty, kteří Kubernetes neznají, ale chtějí se s ním seznámit a začít s ním pracovat.

Zdroj: www.habr.com

Přidat komentář