Bloomberg krātuves atbalsta komanda paļaujas uz atvērtā koda un SDS

Bloomberg krātuves atbalsta komanda paļaujas uz atvērtā koda un SDS

TL; DR: Bloomberg Storage Engineering komanda izveidoja mākoņkrātuvi iekŔējai lietoÅ”anai, kas netraucē infrastruktÅ«rai un var izturēt lielo tirdzniecÄ«bas nepastāvÄ«bas slodzi pandēmijas laikā.

MetjÅ« Leonards, stāstot par savu darbu kā tehniskā menedžeris Bloomberg Storage Engineering komandā, bieži lieto vārdus ā€œizaicinoÅ”sā€ un ā€œjautriā€. Izaicinājumi rodas no plaŔā krātuves apjoma, sākot no jaunākajiem NVMe balstÄ«tiem SAN masÄ«viem un beidzot ar atvērtā pirmkoda programmatÅ«ras definētu krātuvi pakalpojumā DevOps. Å eit sākas ā€œjautrÄ«baā€ (skatiet manu Habrē iemiesojumu, apm. tulkotājs).

Leonards un viņa 25 kolēģu komanda pārrauga vairāk nekā 100 petabaitu ietilpÄ«bu un iekŔējo mākoni 6000 inženieriem, kas izstrādā lietojumprogrammas Bloomberg Terminal, tehnoloÄ£ijai, kas padarÄ«ja Maiklu Blumbergu par miljardieri. Komanda projektē, veido un uztur Bloomberg Engineering uzglabāŔanas sistēmas.

Tāpat kā pārējā IT profesijā, arÄ« 2020. gads Storage Engineering komandas locekļiem bija neparasts gads, jo COVID-19 lika viņiem strādāt attālināti. Leonards sacÄ«ja, ka pandēmija ir sociāli ietekmējusi viņa ā€œsavienoto komanduā€, jo tika novērsta saskarsme aci pret aci, taču darbinieki ļoti ātri pielāgojās darbam no mājām ar klēpjdatoriem un videokonferencēm.

PārsteidzoÅ”i, es gribu teikt, ka tas nepasliktināja situāciju. Bija Ä«ss adaptācijas periods ā€“ ne visi bija gatavi strādāt no mājām. Pēc nedēļas vai divām visi to saprata. Mēs varējām atrast veidus, kā sevi aizņemt, iegādāties un uzlabot aprÄ«kojumu, kā arÄ« palielināt izmaksas, lai Å”ajos laikos atbalstÄ«tu uzņēmumu. Mums bija jākļūst radoÅ”iem, bet mēs necietām

Lielākais izaicinājums, iespējams, bija pirms COVID-19 maksimuma. To izraisÄ«ja nestabilā tirgus tirdzniecÄ«ba, ko izraisÄ«ja bažas par pandēmijas ietekmi uz pasaules ekonomiku. Datu apjoms, kas ieplÅ«st Bloomberg termināļos no pasaules kapitāla tirgiem, gandrÄ«z dubultojās, marta beigās dažās dienās sasniedzot 240 miljardus informācijas. Å is ir nopietns uzglabāŔanas sistēmu pārbaudÄ«jums.

Ja vienā dienā uzreiz dubultojat uzglabāŔanas prasÄ«bas, tas rada interesantas problēmas. Mēs spējām to pārvarēt un nodroÅ”ināt, ka lietojumprogrammu izstrādes komandām tiek nodroÅ”ināta vajadzÄ«gā telpa un veiktspēja. Lielākā daļa no tā ir saistÄ«ta ar to, kā mēs domājam par uzglabāŔanas sistēmām. Å odien mēs neko neradām. Mēs nesakām: "Mēs izmantojam ABC, tāpēc mēs veidosim ABC infrastruktÅ«ru." Mēs kopā ar savām komandām veicam to, ko saucam par "datu budžeta plānoÅ”anu", lai prognozētu lietojumu, analizētu lietojuma un veiktspējas tendences, kā arÄ« aplÅ«kojam droŔību. Šāda veida plānoÅ”ana, domāŔana un metodiskā uzticamÄ«bas pārbaude ļauj mums veikt krasas darbÄ«bas pret pārspriegumiem, nesvÄ«stot. Protams, es biju nervozs, bet es jutos ērti, atrodoties savā vietā.

Leonards nesen detalizēti runāja ar SearchStorage par krātuves pārvaldÄ«bu uz datiem balstÄ«tiem uzņēmumiem. ViņŔ apsprieda, kas bÅ«tu nepiecieÅ”ams, lai piedāvātu privātu mākoņu krātuves risinājumu ar iespēju nodroÅ”ināt AWS funkcijas saviem lietotājiem, vienlaikus saglabājot visus datus Bloomberg datu centros.

Ja pandēmijas vairs nav, kādas grūtības Bloomberg inženieriem ir ar krātuves pārvaldību?

Mums ir daudz vajadzÄ«bu, mēs vienkārÅ”i esam saplosÄ«ti dažādos virzienos. Tāpēc mums ir jānodroÅ”ina daudz dažādu produktu veidu dažādos SLA lÄ«meņos, lai palÄ«dzētu mÅ«su lietojumprogrammu izstrādātājiem koncentrēties uz saviem uzdevumiem, nevis uztraukties par paÅ”u krātuvi.

Un kādu stratēģiju jūs tam sekojat?

Daļa no tā, ko mēs cenÅ”amies darÄ«t, ir uzlabot krātuves veiktspēju. Padomājiet par AWS modeli, kurā ienāk izstrādes inženieris, nospiež pogu un pēc tam ā€œclickā€ maÄ£iski iegÅ«st pareizo krātuves veidu, lai atrisinātu savu problēmu.

Kā izskatās jūsu krātuves infrastruktūra?

Tā kā mums ir ļoti daudzveidÄ«ga ekosistēma un daudz dažādu izstrādātāju, mēs nevaram piedāvāt vienu produktu. Mums ir objektu, failu un bloku krātuve. Tie ir dažādi produkti, un mēs piedāvājam dažāda veida tehnoloÄ£ijas to piegādei. Blokam mēs izmantojam SAN. Mums ir arÄ« SDS, kas nodroÅ”ina vēl vienu bloku uzglabāŔanas iespēju ar atŔķirÄ«gām veiktspējas prasÄ«bām. Failiem mēs izmantojam NFS. SDS tiek izmantots arÄ« objektu glabāŔanai. Bloku un objektu daļas veido iekŔēju privātu mākoni skaitļoÅ”anai un glabāŔanai.

Tātad jūs neizmantojat publisko mākoņkrātuvi?

Pareizi. Dažām izstrādes komandām ir atļauja izmantot publiskos mākoņus. Taču mÅ«su biznesa rakstura dēļ mēs dodam priekÅ”roku lielākai kontrolei pār lietām, kas atstāj mÅ«su sienas. Tātad, jā, mums ir savi mākoņi, kas ir mÅ«su kontrolē. Å is ir aprÄ«kojums, kas atrodas mÅ«su pārvaldÄ«bā esoÅ”ajā datu centrā.

Savos datu centros mēs dodam priekÅ”roku vairāku piegādātāju stratēģijai. Tie ir lieli piegādātāji, bet mēs nepateiksim, kas tieÅ”i (tā ir Bloomberg politika neatbalstÄ«t nevienu piegādātāju, apm. tulkotājs).

Vai privātā mākoņa izveidei izmantojat hiperkonverģētu infrastruktūru?

Nē. Mēs Bloomberg izvēlamies virzienu, kurā mēs nevirzāmies uz hiperkonverÄ£enci. Mēs cenÅ”amies atsaistÄ«t aprēķinus no krātuves, lai varētu tos mērogot neatkarÄ«gi. Virziens, kurā mēs virzāmies, it Ä«paÅ”i ar mÅ«su mākoni, ir tas, lai mēs varētu noŔķirt Ŕīs divas vienÄ«bas. Un tas viss tāpēc, ka dažas lietas mÅ«su valstÄ« prasa intensÄ«vus aprēķinus, bet citas prasa glabāŔanu. Ja tos mērogosit vienmērÄ«gi, jÅ«s zaudēsit resursus neatkarÄ«gi no naudas vai vietas datu centros vai iegādājoties jaudu, kas jums nav nepiecieÅ”ama. Tāpēc mums patÄ«k, ka starp abām entÄ«tijām ir kopēja saskarne, taču tās ir pilnÄ«gi atŔķirÄ«gas sistēmas un pārvalda dažādas komandas.

Kādi ŔķērŔļi jāpārvar, lai izveidotu privātu mākoni?

Mēroga problēma. Tāpat kā lielākajā daļā lietu, velns slēpjas detaļās. Ja domājat par to, kā Ŕīs lietas darbojas, kā padarÄ«t tās izturÄ«gas, kā tikt galā ar darbÄ«bas slodzi, kā sazināties ar fizisko lÄ«dzekļu komandām, lietas kļūst nedaudz interesantas. Izaicinājums ir atrast veidu, kā padarÄ«t visu par mērogojamu un atbalstāmu produktu, ko mÅ«su lietojumprogrammu izstrādātāji vēlētos izmantot, lai varētu bagātināt funkciju kopu, vienlaikus saglabājot vismodernāko publiskā mākoņa darbÄ«bu. Un arÄ« to visu apvienot, lai tas turpinātu darboties. Tā ir mÅ«su galvenā problēma ā€“ mēs strādājam visās biznesa jomās, cenÅ”oties apmierināt visas vajadzÄ«bas, bet neignorējot citas vajadzÄ«bas.

Vai, jūsuprāt, jums ir vajadzīgas jaunākās AWS un citos publiskos mākoņos pieejamās funkcijas?

Pats jautrākais fakts par S3 ir tas, ka dzÄ«ves lÄ«menis nepārtraukti mainās, arvien tiek pievienotas jaunas funkcijas. Tā ir kā jauna rotaļlieta. Ja kāds jaunā laidienā redz jaunu funkciju, viņŔ to vēlas. Ne visas AWS funkcijas ir piemērojamas mÅ«su vidē, tāpēc ir svarÄ«gi un interesanti uzzināt, kas palÄ«dzēs izstrādātājiem un kā to iegÅ«t iekŔēji.

Kādu uzglabāŔanas aprīkojumu jūs izmantojat?

Mēs izmantojam jaunāko aprÄ«kojumu. MÅ«su iekŔējais mākonis ir pilnÄ«bā balstÄ«ts uz NVMe Flash, kas padara Ŕīs sistēmas ļoti jaudÄ«gas. Tas nedaudz atvieglo mÅ«su dzÄ«vi, un tā ir arÄ« jauka funkcija mÅ«su izstrādātājiem, jo ā€‹ā€‹viņiem nav jāuztraucas par krātuves veiktspēju.

Kam jūs izmantojat objektu glabāŔanu?

Mums ir 6000 izstrādātāju, kas strādā pie infrastruktÅ«ras, viņus nevieno neviens lietoÅ”anas gadÄ«jums. JebkurÅ” variants, ko varat iedomāties, mums, iespējams, ir objektu krātuvē. Dažas komandas to izmanto aukstā arhÄ«va glabāŔanai, dažas datu pārsÅ«tÄ«Å”anai un citas, kas to izmanto darÄ«jumu lietojumprogrammām. Visiem Å”iem lietoÅ”anas gadÄ«jumiem ir nepiecieÅ”ami dažādi SLA lÄ«meņi, tāpēc, kā redzat, mums ir dažādi trafika veidi un dažādas vajadzÄ«bas dažādiem mÅ«su infrastruktÅ«ras lietotājiem. Å is nav viendabÄ«gs lietoÅ”anas gadÄ«jums, kas darbojas virs jebkuras mÅ«su krātuves, kas acÄ«mredzami padara lietas sarežģītākas.

Cik lielu lomu jums spēlē Kubernetes un konteineri, un kā tas ietekmē uzglabāŔanu?

Mēs veicinām krātuves produktivitāti, lai radītu mākoņa sajūtu, kaut kā pakalpojuma sajūtu, kur izstrādātājiem ir poga, kas ļauj paātrināt savu darbu un noņemt infrastruktūru.

Redaktora n.b.: 15. gada 2020. oktobris bÅ«s gatavs Ceph video kurss. JÅ«s apgÅ«sit Ceph tÄ«kla uzglabāŔanas tehnoloÄ£iju, ko izmantot savos projektos, lai uzlabotu kļūdu toleranci.

Mums ir trÄ«s komandas, pirmā ir krātuves API komanda. Viņi nodroÅ”ina programmatisku piekļuvi, galapunktus un iepriekÅ” noteiktas darbplÅ«smas Bloomberg lietotņu izstrādes klientiem. Å Ä« ir pilnas kaudzes tÄ«mekļa izstrādātāju komanda, kas izmanto node.js, python, atvērtā pirmkoda tehnoloÄ£ijas, piemēram, Apache Airflow, tāpēc viņi pēta konteinerizāciju un virtualizāciju.

Mums ir arī divas tehniskās komandas, kas faktiski pārvieto bitus un baitus. Tie ir tieŔāk saistīti ar aprīkojumu. Mums ir daudz aprīkojuma, un Ŕīs komandas neizmanto virtualizāciju un konteinerus.

Mēs cenÅ”amies sekot lÄ«dzi nozarē notiekoÅ”ajam, pētot Kubernetes CSI draiverus, kā arÄ« cieÅ”i sadarbojamies ar komandu, kas ievieÅ” Kubernetes uzņēmumā Bloomberg, lai novērtētu, vai mēs varam panākt, lai Kubernetes krātuve darbotos konsekventi ar mÅ«su rÄ«cÄ«bā esoÅ”ajām tehnoloÄ£ijām. tas darbojas. Mēs izmantojam SDS, lai atbalstÄ«tu Kubernetes, kas ir savienotas ar pastāvÄ«gu krātuvi. Mēs esam veiksmÄ«gi izstrādājuÅ”i Å”o tehnoloÄ£iju, un starp abām komandām turpinās diskusijas par to, kā padarÄ«t to pieejamu visiem pārējiem Bloomberg. Mēs esam parādÄ«juÅ”i, ka tas ir pilnÄ«gi iespējams.

Kādu citu atvērtā pirmkoda programmatÅ«ru jÅ«s izmantojat, jo Ä«paÅ”i uzglabāŔanai?

Mēs izmantojam Apache Airflow, HAProxy, lai ierobežotu lietojumprogrammu trafiku. Mēs izmantojam arÄ« Ceph, SDS platformu. Izmantojot to, jums var bÅ«t viena komandu sistēma, bet klientiem tiek nodroÅ”inātas vairākas saskarnes. Viena no virtualizācijas platformām darbojas OpenStack - mēs cieÅ”i sadarbojamies ar Å”o komandu. Mums ir atvērtā pirmkoda virtualizācijas platforma, kas glabāŔanai izmanto atvērtā koda SDS platformu. Tas ir smieklÄ«gi.

Kādas uzglabāŔanas tehnoloģijas jūs apsverat nākamajiem diviem līdz trim gadiem?

Mēs vienmēr pētām citas lieliskas jaunas lietas, kas notiek uzglabāŔanas nozarē. Tā ir daļa no mÅ«su darba, nevis ā€œÅ”eit ir jÅ«su SAN, pārvaldiet Å”eit, un Å”eit ir jÅ«su NFS, pārvaldiet turā€. Mēs cenÅ”amies sazināties ar saviem klientiem, t.i. mÅ«su lietojumprogrammu izstrādātāji. Mēs strādājam kopā, lai saprastu, kādas problēmas viņi cenÅ”as atrisināt un kā tas ietekmēs mÅ«su ārējos Bloomberg klientus ā€” bankas un citus, kas izmanto mÅ«su programmatÅ«ru. Un tad mēs atgriežamies datu glabāŔanas pasaulē, lai atrastu iespējas, kas palÄ«dzētu sasniegt savu mērÄ·i. Kā mēs varam palÄ«dzēt viņiem atrast pareizo uzglabāŔanas tehnoloÄ£iju, kas atbilst viņu SLA vai tam, ko viņi cenÅ”as darÄ«t? Tā kā mums ir tik daudz inženieru, kas dara forÅ”as lietas, tas nekad nekļūst garlaicÄ«gi.

PaÅ”laik mēs meklējam veidus, kā uzlabot SDS veiktspēju, kas varētu darboties vispārējas nozÄ«mes serveros. Tāpēc mēs strādājam pie NVMe, izmantojot TCP, Ŕī ir ļoti interesanta un forÅ”a iniciatÄ«va, viena no daudzajām. Strādājam arÄ« ar nozares galvenajiem cilvēkiem un dažiem esoÅ”ajiem piegādātājiem, lai noskaidrotu, ko viņi piedāvā un kāds bÅ«s reālais sniegums, vai varam sākt to izmantot ražoÅ”anā uzņēmumā. Tas paver jaunus apvārŔņus, kas iepriekÅ” nebija pieejami.

Neliela palīdzība P.S.

P.S. Ja drÄ«kst, tad atgādināŔu, ka bÅ«s 28.-30.septembris intensÄ«vā Kubernetes bāze, tiem, kas nezina Kubernetes, bet vēlas ar to iepazÄ«ties un sākt ar to strādāt.

Avots: www.habr.com

Pievieno komentāru