Bloombergova podporna ekipa za shranjevanje se opira na odprtokodno kodo in SDS

Bloombergova podporna ekipa za shranjevanje se opira na odprtokodno kodo in SDS

TL; DR: Ekipa Bloomberg Storage Engineering je ustvarila shrambo v oblaku za interno uporabo, ki ne posega v infrastrukturo in lahko prenese veliko obremenitev nestanovitnosti trgovanja med pandemijo.

Mattew Leonard, ko govori o svojem delu tehničnega vodje v ekipi Bloomberg Storage Engineering, pogosto uporablja besedi »zahtevno« in »zabavno«. Izzivi izhajajo iz širokega obsega shranjevanja, od najnovejših polj SAN, ki temeljijo na NVMe, do odprtokodnega programsko definiranega shranjevanja v DevOps. Tu se začne "zabava" (glejte moj avatar na Habréju, pribl. prevajalec).

Leonard in njegova ekipa 25 kolegov nadzoruje več kot 100 petabajtov zmogljivosti in notranji oblak za 6000 inženirjev, ki razvijajo aplikacije za Bloomberg Terminal, tehnologijo, ki je Michaela Bloomberga naredila milijarderja. Ekipa načrtuje, gradi in vzdržuje sisteme za shranjevanje za Bloomberg Engineering.

Tako kot za ostale IT poklice je bilo tudi leto 2020 za člane ekipe Storage Engineering nenavadno leto, saj jih je COVID-19 prisilil v delo na daljavo. Leonard je dejal, da je pandemija socialno vplivala na njegovo "tesno povezano ekipo", saj so bile interakcije iz oči v oči odpravljene, vendar se je osebje zelo hitro prilagodilo delu od doma na prenosnih računalnikih in videokonferencah.

Neverjetno, želim reči, da to ni poslabšalo stvari. Bilo je kratko obdobje prilagajanja - vsi niso bili pripravljeni na delo od doma. Po tednu ali dveh so to razumeli vsi. Znali smo najti načine, da smo ostali zaposleni, kupili in nadgradili opremo ter povečali stroške za podporo podjetju v teh časih. Morali smo biti ustvarjalni, a se nismo poškodovali

Največji izziv se je morda zgodil pred vrhuncem COVID-19. To je bilo posledica nestanovitnega trgovanja na trgu zaradi skrbi glede vpliva pandemije na svetovno gospodarstvo. Obseg podatkov, ki pritekajo v Bloombergove terminale s svetovnih kapitalskih trgov, se je skoraj podvojil in dosegel 240 milijard informacij v nekaterih dneh konec marca. To je resen preizkus sistemov za shranjevanje.

Ko v enem dnevu takoj podvojite svoje zahteve za shranjevanje, to res povzroči zanimive težave. To nam je uspelo premagati in zagotoviti, da so ekipe za razvoj aplikacij dobile prostor in zmogljivost, ki so jo potrebovali. Večina tega je povezana z našim razmišljanjem o sistemih za shranjevanje. Danes ne ustvarjamo ničesar. Ne rečemo: "Uporabljamo ABC, zato bomo zgradili infrastrukturo za ABC." Z našimi ekipami delamo tako imenovano "podatkovno načrtovanje proračuna", da napovedujemo uporabo, analiziramo trende uporabe in učinkovitosti, prav tako pa upoštevamo varnost. Ta vrsta načrtovanja, razmišljanja in metodičnega skrbnega pregleda nam omogoča, da sprejmemo drastično ukrepanje v primeru valov, ne da bi se ozitili. Seveda sem bil živčen, a na svojem mestu sem se dobro počutil.

Leonard je pred kratkim s storitvijo SearchStorage podrobno govoril o upravljanju pomnilnika za podjetja, ki temeljijo na podatkih. Razpravljal je o tem, kaj bi bilo potrebno, da bi ponudili zasebno rešitev za shranjevanje v oblaku, z možnostjo zagotavljanja funkcij AWS svojim uporabnikom, medtem ko hrani vse podatke v podatkovnih centrih Bloomberg.

Če pandemije ne bo več, kakšne težave imajo Bloombergovi inženirji z upravljanjem shranjevanja?

Imamo veliko potreb, enostavno smo razdvojeni v različne smeri. Zato moramo zagotoviti veliko različnih vrst izdelkov na različnih ravneh SLA, da bi našim razvijalcem aplikacij pomagali, da se osredotočijo na svoje naloge, namesto da skrbijo za samo shranjevanje.

In kakšni strategiji za to sledite?

Del tega, kar poskušamo narediti, je izboljšati zmogljivost shranjevanja. Pomislite na model AWS, kjer razvojni inženir vstopi, pritisne gumb in nato »klik« čarobno pridobi pravo vrsto pomnilnika za rešitev njegove težave.

Kako izgleda vaša infrastruktura za shranjevanje?

Ker imamo zelo raznolik ekosistem in veliko različnih razvijalcev, ne moremo ponuditi enega samega izdelka. Imamo predmetno, datotečno in blokovno shranjevanje. To so različni izdelki in ponujamo različne vrste tehnologij za njihovo dostavo. Za blok uporabljamo SAN. Imamo tudi SDS, ki ponuja še eno možnost blokovnega shranjevanja z drugačnim naborom zahtev glede zmogljivosti. Za datoteke uporabljamo NFS. SDS se uporablja tudi za shranjevanje predmetov. Bločni in objektni deli tvorijo notranji zasebni oblak za računalništvo in shranjevanje.

Torej ne uporabljate javnega prostora za shranjevanje v oblaku?

Tako je. Nekatere razvojne skupine imajo dovoljenje za uporabo javnih oblakov. Toda zaradi narave našega posla imamo raje večji nadzor nad stvarmi, ki zapuščajo naše zidove. Tako da, imamo lastne oblake, ki so pod našim nadzorom. To je oprema, ki se nahaja v našem podatkovnem centru pod našim upravljanjem.

V naših podatkovnih centrih imamo raje strategijo več ponudnikov. So veliki dobavitelji, vendar ne bomo povedali, kdo točno (Bloombergova politika je, da ne podpira nobenega dobavitelja, pribl. prevajalec).

Ali uporabljate hiperkonvergirano infrastrukturo za izgradnjo zasebnega oblaka?

št. Mi pri Bloombergu izbiramo smer, kjer se ne premikamo proti hiperkonvergenci. Poskušamo ločiti računalništvo od shranjevanja, da jih lahko neodvisno prilagajamo. Smer, v katero se premikamo, zlasti z našim oblakom, je, da lahko ločimo ti dve entiteti. In vse zato, ker nekatere stvari v naši državi zahtevajo intenzivne izračune, druge pa skladiščenje. Če jih enakomerno prilagajate, boste izgubili vire, ne glede na denar ali prostor v podatkovnih centrih ali z nakupom zmogljivosti, ki jih ne potrebujete. Zato želimo imeti skupen vmesnik med obema subjektoma, vendar naj bosta popolnoma različna sistema in naj ju upravljajo različne ekipe.

Katere ovire je treba premagati za izgradnjo zasebnega oblaka?

Problem obsega. Kot pri večini stvari, je hudič v podrobnostih. Ko razmišljate o tem, kako te stvari delujejo, kako jih narediti odporne, kako obvladati operativno obremenitev, kako komunicirate s skupinami za fizična sredstva, stvari postanejo nekoliko zanimive. Izziv je najti način, da vse postane razširljiv in podprt izdelek, ki bi ga želeli uporabljati naši razvijalci aplikacij, z možnostjo obogatitve nabora funkcij, hkrati pa ostati na vrhuncu tega, kar počne javni oblak. In tudi združiti vse skupaj, da bo delovalo naprej. To je naš glavni problem – delujemo na vseh področjih poslovanja, poskušamo zadovoljiti vse potrebe, ne zanemarimo pa tudi drugih potreb.

Ali menite, da potrebujete najnovejše funkcije, ki so na voljo v AWS in drugih javnih oblakih?

Najbolj zabavno dejstvo o S3 je, da se življenjski standard nenehno spreminja, vedno se dodajajo nove funkcije. Je kot nova igrača. Če nekdo vidi novo funkcijo v novi izdaji, si jo želi. Vse funkcije AWS niso uporabne v našem okolju, zato je pomembno in zanimivo vedeti, kaj bo pomagalo razvijalcem in kako to pridobiti v podjetju.

Kakšno opremo za shranjevanje uporabljate?

Uporabljamo najnovejšo opremo. Naš notranji oblak v celoti temelji na NVMe Flash, zaradi česar so ti sistemi zelo zmogljivi. Nekoliko olajša naša življenja in je tudi dobra funkcija za naše razvijalce, saj jim ni treba skrbeti za zmogljivost shranjevanja.

Za kaj uporabljate shranjevanje predmetov?

Imamo 6000 razvijalcev, ki delajo na infrastrukturi, ne združuje jih noben primer uporabe. Katera koli možnost, ki se vam zdi, verjetno jo imamo v skladišču predmetov. Nekatere ekipe ga uporabljajo za hladno arhiviranje, nekatere za prenos podatkov, druge pa za transakcijske aplikacije. Vsi ti primeri uporabe zahtevajo različne ravni SLA, tako da, kot vidite, imamo različne vrste prometa, vse vrste potreb za različne uporabnike naše infrastrukture. To ni homogen primer uporabe, ki se izvaja na vrhu katerega koli našega pomnilnika, zaradi česar so stvari očitno bolj zapletene.

Kako veliko vlogo imajo za vas Kubernetes in vsebniki in kako to vpliva na shranjevanje?

Spodbujamo produktivnost shranjevanja, da bi ustvarili občutek oblaka, občutek nečesa kot storitve, kjer je na voljo gumb za razvijalce, da pospešijo svoje obrti in ob tem odstranijo infrastrukturo.

Opomba urednika: 15. oktober 2020 bo pripravljen Ceph video tečaj. Naučili se boste tehnologije omrežnega shranjevanja Ceph, ki jo lahko uporabite v svojih projektih za izboljšanje tolerance napak.

Imamo tri ekipe, prva je ekipa API-ja za shranjevanje. Pri Bloombergu izdelujejo programski dostop, končne točke in vnaprej določene poteke dela za odjemalce za razvoj aplikacij. To je ekipa full stack spletnih razvijalcev, ki uporabljajo node.js, python, odprtokodne tehnologije, kot je Apache Airflow, zato preučujejo kontejnerizacijo in virtualizacijo.

Imamo tudi dve tehnični ekipi, ki dejansko premikata bite in bajte. Bolj neposredno so povezani z opremo. Imamo veliko opreme, te ekipe pa ne uporabljajo virtualizacije in kontejnerjev.

Poskušamo slediti dogajanju v industriji, preučujemo gonilnike Kubernetes CSI in tudi tesno sodelujemo z ekipo, ki implementira Kubernetes pri Bloombergu, da bi ocenili, ali lahko poskrbimo, da bo shranjevanje Kubernetes dosledno delovalo s tehnologijami, ki jih imamo, in jih imamo deluje. SDS uporabljamo za podporo Kubernetesu, povezanemu s trajnim pomnilnikom. Uspešno smo razvili to tehnologijo in nadaljujejo se razprave med obema ekipama o tem, kako lahko to omogočimo vsem drugim pri Bloombergu. Pokazali smo, da je to povsem mogoče.

Katero drugo odprtokodno programsko opremo uporabljate, zlasti za shranjevanje?

Za omejitev prometa aplikacij uporabljamo Apache Airflow, HAProxy. Uporabljamo tudi Ceph, platformo za SDS. Z njim lahko imate en sistem za ukaze, vendar strankam zagotovite več vmesnikov. Ena od platform za virtualizacijo deluje na OpenStacku - s to ekipo tesno sodelujemo. Imamo odprtokodno platformo za virtualizacijo, ki za shranjevanje uporablja odprtokodno platformo SDS. Smešno je.

O katerih tehnologijah shranjevanja razmišljate za naslednji dve do tri leta?

Vedno iščemo druge kul nove stvari, ki se dogajajo v industriji shranjevanja. To je del našega dela, ni "tukaj je vaš SAN, upravljajte tukaj, in tukaj je vaš NFS, upravljajte tam." Trudimo se komunicirati z našimi strankami, tj. naših razvijalcev aplikacij. Sodelujemo, da bi razumeli, katere težave poskušajo rešiti in kako bo to vplivalo na naše zunanje stranke Bloomberg – banke in druge, ki uporabljajo našo programsko opremo. In potem se vrnemo v svet shranjevanja podatkov, da bi našli priložnosti, da jim pomagamo doseči njihov cilj. Kako jim lahko pomagamo najti pravo tehnologijo shranjevanja, ki ustreza njihovi SLA ali temu, kar poskušajo narediti? Ker imamo toliko inženirjev, ki delajo kul stvari, nikoli ne postane dolgočasno.

Trenutno iščemo načine za izboljšanje zmogljivosti za SDS, ki bi lahko deloval na strežnikih za splošne namene. Torej delamo na NVMe preko TCP, to je zelo zanimiva in kul pobuda, ena od mnogih. Sodelujemo tudi s ključnimi ljudmi v panogi in nekaterimi obstoječimi dobavitelji, da ugotovimo, kaj ponujajo in kakšna bo dejanska uspešnost, ali ga lahko začnemo uporabljati v proizvodnji v podjetju. To odpira nova obzorja, ki prej niso bila dostopna.

Malo pomoči v PS

PS Če smem, bi vas rad spomnil, da bo 28.-30 intenzivna baza Kubernetes, za tiste, ki Kubernetesa ne poznate, a se želite z njim seznaniti in začeti z njim delati.

Vir: www.habr.com

Dodaj komentar