Tím podpory úložiska Bloomberg sa spolieha na open source a SDS

Tím podpory úložiska Bloomberg sa spolieha na open source a SDS

TL; DR: Tím Bloomberg Storage Engineering vytvoril cloudové úložisko na interné použitie, ktoré nezasahuje do infraštruktúry a dokáže vydržať veľkú záťaž obchodovania počas pandémie.

Mattew Leonard, keď hovorí o svojej práci technického manažéra v tíme Bloomberg Storage Engineering, často používa slová „náročné“ a „zábavné“. Výzvy vyplývajú zo širokého rozsahu úložiska, od najnovších polí SAN založených na NVMe až po softvérovo definované úložisko s otvoreným zdrojovým kódom v DevOps. Tu začína „zábava“ (pozri môj avatar na Habré, približne. prekladateľ).

Leonard a jeho tím 25 kolegov dohliadajú na viac ako 100 petabajtov kapacity a interný cloud pre 6000 XNUMX inžinierov vyvíjajúcich aplikácie pre Bloomberg Terminal, technológiu, ktorá z Michaela Bloomberga spravila miliardára. Tím navrhuje, stavia a udržiava úložné systémy pre Bloomberg Engineering.

Rovnako ako zvyšok IT profesie, aj rok 2020 bol pre členov tímu Storage Engineering nezvyčajným rokom, keďže COVID-19 ich prinútil pracovať na diaľku. Leonard povedal, že pandémia ovplyvnila jeho „úzky tím“ sociálne, keďže osobné interakcie boli odstránené, ale zamestnanci sa veľmi rýchlo prispôsobili práci z domu na notebookoch a videokonferenciám.

Prekvapivo chcem povedať, že to nezhoršilo veci. Nastalo krátke adaptačné obdobie – nie každý bol pripravený pracovať z domu. Po týždni alebo dvoch to všetci pochopili. Podarilo sa nám nájsť spôsoby, ako sa zamestnať, nakupovať a modernizovať vybavenie a zvyšovať náklady na podporu spoločnosti v týchto časoch. Museli sme byť kreatívni, ale nezranili sme sa

Najväčšia výzva mohla predchádzať vrcholu COVID-19. Bolo to spôsobené nestálym obchodovaním na trhu v dôsledku obáv z vplyvu pandémie na globálnu ekonomiku. Objem dát prúdiacich do terminálov Bloomberg z globálnych kapitálových trhov sa takmer zdvojnásobil a koncom marca v niektorých dňoch dosiahol 240 miliárd informácií. Toto je vážny test úložných systémov.

Keď okamžite zdvojnásobíte svoje požiadavky na úložisko za jeden deň, spôsobí to zaujímavé problémy. Podarilo sa nám to prekonať a zabezpečiť, aby tímy vývoja aplikácií dostali priestor a výkon, ktoré potrebovali. Väčšina z toho súvisí s tým, ako uvažujeme o úložných systémoch. Dnes nič nevytvárame. Nehovoríme: "Používame ABC, takže vybudujeme infraštruktúru pre ABC." S našimi tímami robíme to, čo nazývame „data budgeting“, aby sme predpovedali využitie, analyzovali trendy používania a výkonnosti a tiež sa zamerali na bezpečnosť. Tento typ plánovania, myslenia a metodickej náležitej starostlivosti nám umožňuje prijať drastické opatrenia v prípade prepätia bez toho, aby sme sa zapotili. Samozrejme, bol som nervózny, ale cítil som sa pohodlne na svojom mieste.

Leonard nedávno podrobne hovoril s SearchStorage o správe úložiska pre podniky založené na údajoch. Diskutoval o tom, čo by si vyžadovalo ponúknuť riešenie súkromného cloudového úložiska so schopnosťou poskytovať funkcie AWS svojim používateľom a zároveň uchovávať všetky údaje v dátových centrách Bloomberg.

Ak už pandémia nebude, aké ťažkosti majú inžinieri Bloombergu so správou úložiska?

Máme veľa potrieb, sme jednoducho roztrhaní rôznymi smermi. Preto musíme poskytnúť mnoho rôznych typov produktov na rôznych úrovniach SLA, aby sme našim vývojárom aplikácií pomohli sústrediť sa na ich úlohy namiesto toho, aby sa museli starať o samotné úložisko.

A akú stratégiu na to dodržujete?

Časť toho, o čo sa snažíme, je zlepšiť výkon úložiska. Predstavte si model AWS, do ktorého vojde vývojový inžinier, stlačí tlačidlo a potom „kliknutím“ magicky získa správny typ úložiska na vyriešenie jeho problému.

Ako vyzerá vaša úložná infraštruktúra?

Keďže máme veľmi rôznorodý ekosystém a veľa rôznych vývojárov, nemôžeme ponúknuť jediný produkt. Máme objektové, súborové a blokové úložisko. Ide o rôzne produkty a na ich dodanie ponúkame rôzne typy technológií. Pre blok používame SAN. Máme tiež SDS, ktorý poskytuje ďalšiu možnosť blokového ukladania s inou sadou požiadaviek na výkon. Pre súbory používame NFS. SDS sa používa aj na ukladanie predmetov. Časti bloku a objektu tvoria interný súkromný cloud pre výpočtovú techniku ​​a ukladanie.

Verejné cloudové úložisko teda nepoužívate?

To je správne. Niektoré vývojové tímy majú povolenie používať verejné cloudy. Ale vzhľadom na povahu nášho podnikania uprednostňujeme väčšiu kontrolu nad vecami, ktoré opúšťajú naše steny. Takže áno, máme svoje vlastné mraky, ktoré máme pod kontrolou. Ide o zariadenie nachádzajúce sa v našom dátovom centre pod našou správou.

V našich dátových centrách preferujeme stratégiu viacerých predajcov. Sú to veľkí dodávatelia, ale nepovieme, kto presne (politikou Bloombergu je nepodporovať žiadneho dodávateľa, približne. prekladateľ).

Používate hyperkonvergovanú infraštruktúru na budovanie svojho súkromného cloudu?

Nie My v Bloombergu si vyberáme smer, kde nesmerujeme k hyperkonvergencii. Snažíme sa oddeliť výpočet od úložiska, aby sme ich mohli škálovať nezávisle. Smer, ktorým sa uberáme, najmä s naším cloudom, je pre nás, aby sme boli schopní tieto dve entity oddeliť. A to všetko preto, že niektoré veci v našej krajine vyžadujú intenzívne výpočty, zatiaľ čo iné vyžadujú skladovanie. Ak ich škálujete rovnomerne, prídete o zdroje, bez ohľadu na peniaze alebo priestor v dátových centrách, alebo nákupom kapacity, ktorú nepotrebujete. Preto by sme chceli mať medzi týmito dvoma subjektmi spoločné rozhranie, ale aby to boli úplne odlišné systémy a spravované rôznymi tímami.

Aké prekážky treba prekonať, aby sa vybudoval privátny cloud?

Problém s mierkou. Ako vo väčšine vecí, diabol sa skrýva v detailoch. Keď sa zamyslíte nad tým, ako tieto veci fungujú, ako ich urobiť odolnými, ako zvládnuť prevádzkovú záťaž, ako komunikujete s tímami fyzických aktív, veci začnú byť trochu zaujímavé. Výzvou je nájsť spôsob, ako zo všetkého urobiť škálovateľný a podporný produkt, ktorý by naši vývojári aplikácií chceli používať, aby mohli obohatiť sadu funkcií a zároveň zostať na špičke toho, čo robí verejný cloud. A tiež to všetko spojiť, aby to fungovalo aj naďalej. Toto je náš hlavný problém – pracujeme naprieč všetkými oblasťami podnikania, snažíme sa uspokojiť všetky potreby, no neignorujeme ostatné potreby.

Myslíte si, že potrebujete najnovšie funkcie dostupné v AWS a iných verejných cloudoch?

Najzábavnejším faktom na S3 je, že životná úroveň sa neustále mení, stále pribúdajú nové funkcie. Je to ako nová hračka. Ak niekto vidí novú funkciu v novom vydaní, chce ju. Nie všetky funkcie AWS sú použiteľné v našom prostredí, preto je dôležité a zaujímavé vedieť, čo pomôže vývojárom a ako to získať interne.

Aké úložné zariadenia používate?

Používame najnovšie vybavenie. Náš interný cloud je úplne založený na NVMe Flash, vďaka čomu sú tieto systémy veľmi výkonné. Trochu nám to uľahčuje život a je to tiež príjemná funkcia pre našich vývojárov, pretože sa nemusia starať o výkon úložiska.

Na čo používate ukladanie objektov?

Máme 6000 XNUMX vývojárov, ktorí pracujú na infraštruktúre, nespája ich žiadny prípad použitia. Akákoľvek možnosť, na ktorú si spomeniete, pravdepodobne ju máme v objektovom úložisku. Niektoré tímy ho používajú na archiváciu za studena, niektoré na prenos údajov a iné na transakčné aplikácie. Všetky tieto prípady použitia vyžadujú rôzne úrovne SLA, takže ako vidíte, máme rôzne typy prevádzky, všetky druhy potrieb pre rôznych používateľov našej infraštruktúry. Toto nie je homogénny prípad použitia, ktorý beží na akomkoľvek našom úložisku, čo samozrejme robí veci zložitejšími.

Akú veľkú úlohu pre vás zohrávajú Kubernetes a kontajnery a ako to ovplyvňuje úložisko?

Tlačíme na produktivitu úložiska, aby sme vytvorili pocit cloudu, pocit niečoho ako služby, kde je tlačidlo pre vývojárov, aby urýchlili svoje remeslo a odstránili infraštruktúru.

Redakcia n.b.: 15. októbra 2020 bude pripravený Video kurz Ceph. Naučíte sa technológiu sieťového úložiska Ceph, ktorú môžete použiť vo svojich projektoch na zlepšenie odolnosti voči chybám.

Máme tri tímy, prvým je tím storage API. Vytvárajú programový prístup, koncové body a preddefinované pracovné postupy pre klientov vývoja aplikácií v spoločnosti Bloomberg. Ide o tím full stack webových vývojárov, ktorí používajú node.js, python, open source technológie, ako napríklad Apache Airflow, takže študujú kontajnerizáciu a virtualizáciu.

Máme tiež dva technické tímy, ktoré v skutočnosti presúvajú bity a bajty. Súvisia viac s vybavením. Máme veľa zariadení a tieto tímy nepoužívajú virtualizáciu a kontajnery.

Snažíme sa držať krok s tým, čo sa deje v tomto odvetví, študujeme ovládače Kubernetes CSI a tiež úzko spolupracujeme s tímom implementujúcim Kubernetes v Bloomberg, aby sme posúdili, či dokážeme zabezpečiť, aby úložisko Kubernetes fungovalo konzistentne s technológiami, ktoré máme a máme. funguje to. SDS používame na podporu Kubernetes pripojených k trvalému úložisku. Túto technológiu sme úspešne vyvinuli a medzi týmito dvoma tímami pokračujú diskusie o tom, ako ju môžeme sprístupniť všetkým ostatným v Bloombergu. Ukázali sme, že je to celkom možné.

Aký iný softvér s otvoreným zdrojom používate, najmä na ukladanie?

Na obmedzenie prevádzky aplikácií používame Apache Airflow, HAProxy. Používame aj Ceph, platformu pre SDS. S ním môžete mať jeden systém pre príkazy, ale poskytovať klientom viacero rozhraní. Jedna z virtualizačných platforiem beží na OpenStacku – s týmto tímom úzko spolupracujeme. Máme open source virtualizačnú platformu, ktorá využíva open source platformu SDS na ukladanie dát. Je to zábavné.

Aké technológie ukladania uvažujete na najbližšie dva až tri roky?

Neustále sa pozeráme na ďalšie skvelé nové veci, ktoré sa dejú v odvetví skladovania. Toto je súčasť našej práce, nie je to „tu je vaše SAN, spravujte tu a tu je vaše NFS, spravujte tam“. S našimi klientmi sa snažíme komunikovať, t.j. od našich vývojárov aplikácií. Spolupracujeme na tom, aby sme pochopili, aké problémy sa snažia vyriešiť a ako to ovplyvní našich externých klientov Bloomberg – banky a ostatných, ktorí používajú náš softvér. A potom sa vrátime do sveta ukladania údajov, aby sme našli príležitosti, ktoré im pomôžu dosiahnuť ich cieľ. Ako im môžeme pomôcť nájsť správnu technológiu úložiska, ktorá vyhovuje ich zmluve SLA alebo čomu sa snažia? Pretože máme toľko inžinierov, ktorí robia skvelé veci, nikdy to nebude nudné.

Momentálne hľadáme spôsoby, ako zlepšiť výkon SDS, ktorý by potenciálne mohol bežať na serveroch na všeobecné použitie. Takže pracujeme na NVMe cez TCP, toto je veľmi zaujímavá a skvelá iniciatíva, jedna z mnohých. Spolupracujeme aj s kľúčovými ľuďmi z odvetvia a niektorými existujúcimi dodávateľmi, aby sme zistili, čo ponúkajú a aký bude skutočný výkon, či to môžeme začať používať vo výrobe vo firme. To otvára nové obzory, ktoré predtým neboli dostupné.

Malá pomoc v PS

PS Ak môžem, rád by som vám pripomenul, že 28. - 30. septembra sa bude konať intenzívna základňa Kubernetes, pre tých, ktorí Kubernetes nepoznajú, ale chcú sa s ním zoznámiť a začať s ním pracovať.

Zdroj: hab.com

Pridať komentár