Bloombergov tim za podršku za skladištenje se oslanja na open source i SDS

Bloombergov tim za podršku za skladištenje se oslanja na open source i SDS

TL; DR: Bloomberg Storage Engineering tim kreirao je skladište u oblaku za internu upotrebu koje ne ometa infrastrukturu i može izdržati veliko opterećenje nestabilnosti trgovanja tokom pandemije.

Mattew Leonard, kada govori o svom radu kao tehnički menadžer u timu Bloomberg Storage Engineeringa, često koristi riječi “izazovno” i “zabavno”. Izazovi proizilaze iz širokog opsega skladištenja, od najnovijih SAN nizova baziranih na NVMe do softverski definiranog skladišta otvorenog koda u DevOps-u. Ovdje počinje "zabava" (pogledajte moj avatar na Habréu, cca. prevodilac).

Leonard i njegov tim od 25 kolega nadgledaju više od 100 petabajta kapaciteta i interni oblak za 6000 inženjera koji razvijaju aplikacije za Bloomberg terminal, tehnologiju koja je Michaela Bloomberga učinila milijarderom. Tim dizajnira, gradi i održava sisteme za skladištenje za Bloomberg Engineering.

Kao i ostatak IT profesije, 2020. je bila neuobičajena godina za članove tima Storage Engineering jer ih je COVID-19 primorao da rade na daljinu. Leonard je rekao da je pandemija utjecala na njegov "čvrsto povezan tim" u društvu jer su interakcije licem u lice eliminirane, ali se osoblje vrlo brzo prilagodilo radu od kuće na laptopima i video konferencijama.

Začudo, želim reći da ovo nije pogoršalo stvari. Postojao je kratak period adaptacije – nisu svi bili spremni da rade od kuće. Nakon nedelju-dve svi su to shvatili. Bili smo u mogućnosti da pronađemo načine da ostanemo zaposleni, kupimo i nadogradimo opremu i povećamo troškove podrške kompaniji u ovim vremenima. Morali smo biti kreativni, ali nismo bili povrijeđeni

Najveći izazov možda je prethodio vrhuncu COVID-19. To je bilo zbog nestabilnog trgovanja na tržištu zbog zabrinutosti oko uticaja pandemije na globalnu ekonomiju. Obim podataka koji se u Bloomberg terminale sa globalnih tržišta kapitala gotovo udvostručio, dostigavši ​​240 milijardi informacija nekih dana krajem marta. Ovo je ozbiljan test sistema za skladištenje podataka.

Kada trenutno udvostručite svoje zahtjeve za skladištenjem u jednom danu, to stvara zanimljive probleme. Bili smo u mogućnosti to prevazići i osigurati da timovi za razvoj aplikacija dobiju prostor i performanse koji su im potrebni. Većina ovoga ima veze sa načinom na koji razmišljamo o sistemima za skladištenje. Danas ništa ne stvaramo. Mi ne kažemo: "Koristimo ABC, pa ćemo izgraditi infrastrukturu za ABC." Sa našim timovima radimo ono što zovemo "budžetiranje podataka" kako bismo prognozirali upotrebu, analizirali trendove upotrebe i performansi, a također gledamo i na sigurnost. Ova vrsta planiranja, razmišljanja i metodičke dubinske analize omogućava nam da preduzmemo drastične akcije u slučaju prenapona, a da se pritom ne oznojimo. Naravno, bio sam nervozan, ali sam se osjećao ugodno na svom mjestu.

Leonard je nedavno razgovarao sa SearchStorage u detalje o upravljanju pohranom za preduzeća koja se vode podacima. Razgovarao je o tome šta bi bilo potrebno da se ponudi privatno rješenje za pohranu u oblaku, s mogućnošću pružanja AWS funkcija svojim korisnicima, dok se svi podaci čuvaju u Bloombergovim podatkovnim centrima.

Ako više nema pandemije, kakve poteškoće Bloomberg inženjeri imaju s upravljanjem skladištem?

Imamo mnogo potreba, jednostavno smo rastrgani u različitim smjerovima. Stoga moramo pružiti mnogo različitih tipova proizvoda na različitim SLA razinama kako bismo pomogli našim programerima aplikacija da se usredsrede na svoje zadatke umjesto da brinu o samom skladištu.

I koju strategiju za to slijedite?

Deo onoga što pokušavamo da uradimo je da poboljšamo performanse skladištenja. Razmislite o AWS modelu gdje razvojni inženjer uđe, pritisne dugme, a zatim „klik“ magično dobije pravu vrstu skladišta za rješavanje svog problema.

Kako izgleda vaša infrastruktura za skladištenje podataka?

Budući da imamo vrlo raznolik ekosistem i mnogo različitih programera, ne možemo ponuditi niti jedan proizvod. Imamo pohranu objekata, datoteka i blokova. To su različiti proizvodi i mi nudimo različite vrste tehnologija za njihovu isporuku. Za blok koristimo SAN. Imamo i SDS, koji pruža još jednu opciju za pohranu blokova s ​​drugačijim skupom zahtjeva za performansama. Za fajlove koristimo NFS. SDS se također koristi za skladištenje objekata. Dijelovi blokova i objekata čine interni privatni oblak za računanje i skladištenje.

Dakle, ne koristite javnu pohranu u oblaku?

Tako je. Neki razvojni timovi imaju dozvolu za korištenje javnih oblaka. Ali zbog prirode našeg poslovanja, više volimo da imamo više kontrole nad stvarima koje napuštaju naše zidove. Dakle, da, imamo svoje oblake koji su pod našom kontrolom. Ovo je oprema koja se nalazi u našem data centru pod našim upravljanjem.

U našim centrima podataka preferiramo strategiju više dobavljača. Oni su veliki dobavljači, ali nećemo reći koga tačno (Bloombergova je politika da ne podržava nijednog dobavljača, cca. prevodilac).

Koristite li hiperkonvergentnu infrastrukturu za izgradnju privatnog oblaka?

br. Mi u Bloombergu biramo pravac u kojem se ne krećemo ka hiperkonvergenciji. Pokušavamo odvojiti računanje od pohrane kako bismo ih mogli nezavisno skalirati. Smjer u kojem se krećemo, posebno s našim oblakom, je da možemo razdvojiti ta dva entiteta. A sve zato što neke stvari u našoj zemlji zahtijevaju intenzivne proračune, dok druge zahtijevaju skladištenje. Ako ih ravnomjerno skalirate, izgubit ćete resurse, bez obzira na novac, ili prostor u podatkovnim centrima, ili kupovinom kapaciteta koji vam ne trebaju. Zato volimo da imamo zajedničko sučelje između dva entiteta, ali da oni budu potpuno različiti sistemi i kojima upravljaju različiti timovi.

Koje prepreke se moraju savladati da bi se izgradio privatni oblak?

Problem razmjera. Kao i kod većine stvari, đavo je u detaljima. Kada razmislite o tome kako te stvari funkcioniraju, kako ih učiniti otpornima, kako se nositi s operativnim opterećenjem, kako komunicirate s timovima za fizičku imovinu, stvari postaju malo zanimljive. Izazov je pronaći način da sve učinite skalabilnim i podržanim proizvodom koji bi naši programeri aplikacija željeli koristiti, u mogućnosti da obogate skup funkcija, a da pritom ostanete na vrhuncu onoga što javni oblak radi. I isto tako sve to spojiti kako bi nastavio da radi. To je naš glavni problem - radimo u svim oblastima poslovanja, nastojeći zadovoljiti sve potrebe, ali ne zanemarujući druge potrebe.

Mislite li da su vam potrebne najnovije funkcije dostupne u AWS-u i drugim javnim oblacima?

Najzabavnija činjenica o S3 je da se životni standard stalno mijenja, nove funkcije se uvijek dodaju. To je kao nova igračka. Ako neko vidi novu funkciju u novom izdanju, želi je. Nisu sve AWS funkcije primjenjive u našem okruženju, pa je važno i zanimljivo znati šta će pomoći programerima i kako to nabaviti u svojoj kući.

Koju opremu za skladištenje koristite?

Koristimo najnoviju opremu. Naš interni oblak je u potpunosti zasnovan na NVMe Flash-u, što ove sisteme čini veoma moćnim. To nam malo olakšava život, a takođe je i dobra karakteristika za naše programere jer ne moraju da brinu o performansama skladištenja.

Za šta koristite pohranu objekata?

Imamo 6000 programera koji rade na infrastrukturi, njih ne ujedinjuje nijedan slučaj upotrebe. Bilo koju opciju koju možete smisliti, vjerovatno je imamo u skladištu objekata. Neki timovi ga koriste za hladnu arhivsku pohranu, neki za prijenos podataka, a drugi koji ga koriste za transakcijske aplikacije. Svi ovi slučajevi korišćenja zahtevaju različite nivoe SLA, tako da kao što vidite, imamo različite vrste saobraćaja, sve vrste potreba za različite korisnike naše infrastrukture. Ovo nije homogeni slučaj upotrebe koji se pokreće na bilo kojoj našoj memoriji, što očigledno čini stvari složenijim.

Koliku ulogu za vas imaju Kubernetes i kontejneri i kako to utiče na skladištenje?

Podstičemo produktivnost skladištenja da bismo stvorili osećaj oblaka, osećaj nečega kao usluge, gde postoji dugme za programere da ubrzaju svoj rad i usput uklone infrastrukturu.

Urednička n.b.: 15. oktobar 2020 će biti spreman Ceph video kurs. Naučićete Ceph tehnologiju mrežnog skladištenja koju ćete koristiti u svojim projektima za poboljšanje tolerancije grešaka.

Imamo tri tima, prvi je tim za API za pohranu. Oni prave programski pristup, krajnje tačke i unapred definisane tokove posla za klijente razvoja aplikacija u Bloombergu. Ovo je tim full stack web programera, oni koriste node.js, python, open source tehnologije, kao što je Apache Airflow, tako da proučavaju kontejnerizaciju i virtuelizaciju.

Takođe imamo dva tehnička tima koji zapravo pomeraju bitove i bajtove. Oni su direktnije povezani sa opremom. Imamo dosta opreme, a ovi timovi ne koriste virtuelizaciju i kontejnere.

Trudimo se da budemo u toku sa onim što se dešava u industriji, proučavajući Kubernetes CSI drajvere, a takođe blisko sarađujemo sa timom koji implementira Kubernetes u Bloombergu kako bismo procenili da li možemo da učinimo da Kubernetes skladište radi dosledno sa tehnologijama koje imamo, a mi imamo radi. Koristimo SDS da podržimo Kubernetes povezanu sa trajnom pohranom. Uspješno smo razvili ovu tehnologiju i nastavljaju se razgovori između dva tima o tome kako to učiniti dostupnom svima ostalima u Bloombergu. Pokazali smo da je to sasvim moguće.

Koji drugi softver otvorenog koda koristite, posebno za skladištenje podataka?

Koristimo Apache Airflow, HAProxy da ograničimo promet aplikacija. Također koristimo Ceph, platformu za SDS. Sa njim možete imati jedan sistem za komande, ali klijentima pružiti više interfejsa. Jedna od platformi za virtuelizaciju radi na OpenStack-u - mi blisko sarađujemo sa ovim timom. Imamo platformu za virtuelizaciju otvorenog koda koja koristi SDS platformu otvorenog koda za skladištenje. Smiješno je.

Koje tehnologije skladištenja razmišljate u naredne dvije do tri godine?

Uvijek istražujemo druge cool nove stvari koje se dešavaju u industriji skladištenja. Ovo je dio našeg rada, to nije "evo vašeg SAN-a, upravljajte ovdje, a evo vašeg NFS-a, upravljajte tamo." Trudimo se da komuniciramo sa našim klijentima, tj. od strane naših programera aplikacija. Radimo zajedno kako bismo razumjeli koje probleme pokušavaju riješiti i kako će to uticati na naše vanjske Bloomberg klijente - banke i druge koji koriste naš softver. A onda se vraćamo u svijet skladištenja podataka kako bismo pronašli mogućnosti da im pomognemo da postignu svoj cilj. Kako im možemo pomoći da pronađu pravu tehnologiju skladištenja koja odgovara njihovom SLA-u ili onome što pokušavaju učiniti? Budući da imamo toliko inženjera koji rade cool stvari, nikad nije dosadno.

Trenutno tražimo načine da poboljšamo performanse za SDS koji bi potencijalno mogao raditi na serverima opće namjene. Tako da radimo na NVMe preko TCP-a, ovo je vrlo zanimljiva i cool inicijativa, jedna od mnogih. Također radimo s ključnim ljudima u industriji i nekim od postojećih dobavljača kako bismo saznali šta oni nude i kakve će biti stvarne performanse, možemo li to početi koristiti u proizvodnji u kompaniji. Ovo otvara nove horizonte koji ranije nisu bili dostupni.

Mala pomoć u PS

PS Ako mogu, podsjetio bih da će se održati od 28. do 30. septembra intenzivna Kubernetes baza, za one koji ne poznaju Kubernetes, ali žele da se sa njim upoznaju i počnu da rade sa njim.

izvor: www.habr.com

Dodajte komentar