Bloomberg-ի պահեստավորման աջակցման թիմը հիմնված է բաց կոդով և SDS-ի վրա

Bloomberg-ի պահեստավորման աջակցման թիմը հիմնված է բաց կոդով և SDS-ի վրա

TL. DRBloomberg Storage Engineering թիմը ստեղծել է ամպային պահեստ ներքին օգտագործման համար, որը չի խանգարում ենթակառուցվածքին և կարող է դիմակայել համաճարակի ընթացքում առևտրի անկայունության ծանր բեռին:

Մեթյու Լեոնարդը, երբ խոսում է Bloomberg Storage Engineering թիմում որպես տեխնիկական մենեջերի իր աշխատանքի մասին, հաճախ օգտագործում է «դժվար» և «զվարճալի» բառերը։ Դժվարությունները ծագում են պահեստավորման լայն շրջանակից՝ NVMe-ի վրա հիմնված SAN զանգվածներից մինչև DevOps-ում բաց կոդով ծրագրային ապահովման կողմից սահմանված պահեստավորում: Այստեղից է սկսվում «զվարճանքը» (տես իմ ավատարը Habré-ում, մոտ. թարգմանիչ).

Լեոնարդը և նրա 25 գործընկերներից բաղկացած թիմը վերահսկում են ավելի քան 100 փետաբայթ հզորություն և ներքին ամպ 6000 ինժեներների համար, որոնք հավելվածներ են մշակում Bloomberg Terminal-ի համար, տեխնոլոգիա, որը Մայքլ Բլումբերգին դարձրեց միլիարդատեր: Թիմը նախագծում, կառուցում և պահպանում է Bloomberg Engineering-ի պահեստավորման համակարգերը:

Ինչպես ՏՏ ոլորտի մնացած մասը, 2020 թվականը անսովոր տարի էր Storage Engineering թիմի անդամների համար, քանի որ COVID-19-ը ստիպեց նրանց աշխատել հեռակա կարգով: Լեոնարդն ասաց, որ համաճարակը սոցիալական առումով ազդել է իր «ամուր թիմի» վրա, քանի որ դեմ առ դեմ շփումները վերացվել են, բայց անձնակազմը շատ արագ հարմարվել է տնից աշխատելուն նոթբուքերով և վիդեո կոնֆերանսներով:

Զարմանալիորեն, ես ուզում եմ ասել, որ դա չի վատթարացրել իրավիճակը: Կարճ ադապտացիոն շրջան կար՝ ոչ բոլորն էին պատրաստ տնից աշխատելու: Մեկ-երկու շաբաթ անց բոլորը դա հասկացան։ Մենք կարողացանք ուղիներ գտնել մեզ զբաղված լինելու, սարքավորումներ գնելու և արդիականացնելու, ինչպես նաև ընկերությանն աջակցելու ծախսերը մեծացնելու համար այս ժամանակահատվածում: Պետք էր ստեղծագործել, բայց չտուժեցինք

Ամենամեծ մարտահրավերը, հնարավոր է, նախորդել է COVID-19-ի գագաթնակետին։ Դա պայմանավորված էր անկայուն շուկայական առևտրով` համաշխարհային տնտեսության վրա համաճարակի ազդեցության վերաբերյալ մտահոգությունների պատճառով: Համաշխարհային կապիտալի շուկաներից Bloomberg-ի տերմինալներ հոսող տվյալների ծավալը գրեթե կրկնապատկվել է՝ մարտի վերջին մի քանի օրվա ընթացքում հասնելով 240 միլիարդ տեղեկատվության: Սա պահեստավորման համակարգերի լուրջ փորձություն է:

Երբ մեկ օրվա ընթացքում ակնթարթորեն կրկնապատկում եք ձեր պահեստավորման պահանջները, դա հետաքրքիր խնդիրներ է ստեղծում: Մենք կարողացանք հաղթահարել դա և ապահովել, որ հավելվածների մշակման թիմերին տրվի իրենց անհրաժեշտ տարածքն ու կատարումը: Դրա մեծ մասը կապված է այն բանի հետ, թե ինչպես ենք մենք մտածում պահեստավորման համակարգերի մասին: Այսօր մենք ոչինչ չենք ստեղծում։ Մենք չենք ասում. «Մենք օգտագործում ենք ABC-ն, ուստի մենք կկառուցենք ենթակառուցվածքը ABC-ի համար»: Մենք անում ենք այն, ինչ մենք անվանում ենք «տվյալների բյուջետավորում» մեր թիմերի հետ՝ կանխատեսելու օգտագործումը, վերլուծելու օգտագործման և կատարողականի միտումները, ինչպես նաև դիտարկում ենք անվտանգությունը: Այս տեսակի պլանավորումը, մտածողությունը և մեթոդական պատշաճ ջանասիրությունը մեզ թույլ է տալիս կտրուկ գործողություններ ձեռնարկել ալիքների վրա՝ առանց քրտինքի ընդհատելու: Իհարկե, նյարդայնանում էի, բայց ինձ հարմարավետ էի զգում՝ լինելով իմ տեղում։

Լեոնարդը վերջերս մանրամասնորեն խոսեց SearchStorage-ի հետ տվյալների վրա հիմնված բիզնեսների համար պահեստի կառավարման մասին: Նա քննարկեց, թե ինչ կպահանջվի մասնավոր ամպային պահեստավորման լուծում առաջարկելու համար՝ իր օգտատերերին AWS հնարավորություններ տրամադրելու ունակությամբ, մինչդեռ ցանկացած տվյալ պահվում է Bloomberg տվյալների կենտրոններում:

Եթե ​​այլևս համաճարակ չկա, ի՞նչ դժվարություններ ունեն Bloomberg-ի ինժեներները պահեստավորման կառավարման հետ կապված:

Մենք շատ կարիքներ ունենք, ուղղակի պոկված ենք տարբեր ուղղություններով։ Այսպիսով, մենք պետք է տրամադրենք շատ տարբեր տեսակի ապրանքներ տարբեր SLA մակարդակներում, որպեսզի օգնենք մեր հավելվածների մշակողներին կենտրոնանալ իրենց խնդիրների վրա՝ բուն պահեստի մասին անհանգստանալու փոխարեն:

Իսկ ի՞նչ ռազմավարություն եք հետևում դրա համար։

Այն, ինչ մենք փորձում ենք անել, պահեստավորման արդյունավետությունը բարելավելն է: Մտածեք AWS մոդելի մասին, որտեղ զարգացման ինժեները ներս է մտնում, սեղմում է կոճակը և այնուհետև «սեղմելով» կախարդական եղանակով ստանում է պահեստավորման ճիշտ տեսակը՝ իր խնդիրը լուծելու համար:

Ինչպիսի՞ն է ձեր պահեստային ենթակառուցվածքը:

Քանի որ մենք ունենք շատ բազմազան էկոհամակարգ և շատ տարբեր մշակողներ, մենք չենք կարող առաջարկել մեկ ապրանք: Մենք ունենք օբյեկտների, ֆայլերի և բլոկների պահեստավորում: Սրանք տարբեր ապրանքներ են, և մենք առաջարկում ենք դրանք մատուցելու տարբեր տեսակի տեխնոլոգիաներ: Բլոկի համար մենք օգտագործում ենք SAN. Մենք ունենք նաև SDS, որն ապահովում է բլոկի պահպանման մեկ այլ տարբերակ՝ կատարողականի այլ պահանջներով: Ֆայլերի համար մենք օգտագործում ենք NFS: SDS-ն օգտագործվում է նաև օբյեկտների պահպանման համար: Բլոկը և օբյեկտի մասերը կազմում են ներքին մասնավոր ամպ՝ հաշվարկման և պահպանման համար:

Այսպիսով, դուք չե՞ք օգտագործում հանրային ամպային պահեստը:

Ճիշտ է. Որոշ մշակող թիմեր ունեն հանրային ամպեր օգտագործելու թույլտվություն: Բայց մեր բիզնեսի բնույթից ելնելով, մենք նախընտրում ենք ավելի շատ վերահսկել այն բաները, որոնք թողնում են մեր պատերը: Այսպիսով, այո, մենք ունենք մեր սեփական ամպերը, որոնք մեր վերահսկողության տակ են: Սա սարքավորում է, որը գտնվում է մեր տվյալների կենտրոնում՝ մեր կառավարման ներքո:

Մեր տվյալների կենտրոններում մենք նախընտրում ենք բազմավաճառքի ռազմավարությունը: Նրանք խոշոր մատակարարներ են, բայց մենք չենք ասի, թե կոնկրետ ով (Բլումբերգի քաղաքականությունն է չհաստատել որևէ մատակարարի, մոտ. թարգմանիչ).

Դուք օգտագործում եք հիպերկոնվերգացված ենթակառուցվածք՝ ձեր անձնական ամպը ստեղծելու համար:

Ոչ Մենք Bloomberg-ում ընտրում ենք մի ուղղություն, որտեղ չենք շարժվում դեպի հիպերկոնվերգենցիա: Մենք փորձում ենք անջատել հաշվարկները պահեստից, որպեսզի կարողանանք դրանք ինքնուրույն չափել: Ուղղությունը, որով մենք շարժվում ենք, հատկապես մեր ամպի հետ, այն է, որ մենք կարողանանք առանձնացնել այդ երկու սուբյեկտները: Եվ բոլորը, քանի որ մեր երկրում որոշ բաներ պահանջում են ինտենսիվ հաշվարկներ, իսկ մյուսները պահանջում են պահեստավորում: Եթե ​​դրանք հավասարաչափ չափեք, դուք կկորցնեք ռեսուրսներ՝ անկախ փողից, տվյալների կենտրոններում տարածքից, կամ գնելով ձեզ անհրաժեշտ հզորություն: Ահա թե ինչու մենք սիրում ենք ընդհանուր ինտերֆեյս ունենալ երկու սուբյեկտների միջև, բայց դրանք լինեն բոլորովին տարբեր համակարգեր և կառավարվեն տարբեր թիմերի կողմից:

Ի՞նչ խոչընդոտներ պետք է հաղթահարվեն մասնավոր ամպ ստեղծելու համար:

Մասշտաբի խնդիր. Ինչպես շատ բաների դեպքում, սատանան մանրուքների մեջ է: Երբ մտածում եք, թե ինչպես են այս բաներն աշխատում, ինչպես դրանք դարձնել ճկուն, ինչպես վարվել գործառնական բեռի հետ, ինչպես եք շփվում ֆիզիկական ակտիվների թիմերի հետ, ամեն ինչ մի փոքր հետաքրքիր է դառնում: Խնդիրն այն է, որ գտնենք միջոց՝ ամեն ինչ դարձնելու մասշտաբային և աջակցվող արտադրանք, որը կցանկանային օգտագործել մեր հավելվածների մշակողները՝ հնարավորություն ունենալով հարստացնել գործառույթների հավաքածուն՝ միաժամանակ մնալով հանրային ամպի արածի առաջնակարգ եզրին: Եվ նաև ի մի բերել այդ ամենը, որպեսզի այն շարունակի գործել։ Սա է մեր հիմնական խնդիրը. մենք աշխատում ենք բիզնեսի բոլոր ոլորտներում՝ փորձելով բավարարել բոլոր կարիքները, բայց չանտեսելով մյուս կարիքները:

Ի՞նչ եք կարծում, ձեզ անհրաժեշտ են AWS-ում և այլ հանրային ամպերում հասանելի վերջին հնարավորությունները:

S3-ի մասին ամենազվարճալի փաստն այն է, որ կենսամակարդակն անընդհատ փոխվում է, միշտ ավելացվում են նոր հնարավորություններ: Դա նման է նոր խաղալիքի: Եթե ​​ինչ-որ մեկը տեսնում է նոր առանձնահատկություն նոր թողարկման մեջ, նա ցանկանում է դա: AWS-ի ոչ բոլոր հնարավորություններն են կիրառելի մեր միջավայրում, ուստի կարևոր և հետաքրքիր է իմանալ, թե ինչն է օգնելու ծրագրավորողներին և ինչպես ստանալ այն ներքին միջավայրում:

Ինչ պահեստային սարքավորումներ եք օգտագործում:

Մենք օգտագործում ենք նորագույն սարքավորումներ։ Մեր ներքին ամպը ամբողջությամբ հիմնված է NVMe Flash-ի վրա, ինչը շատ հզոր է դարձնում այս համակարգերը: Դա մի փոքր հեշտացնում է մեր կյանքը, և դա նաև լավ հատկություն է մեր մշակողների համար, քանի որ նրանք չպետք է անհանգստանան պահեստավորման աշխատանքի համար:

Ինչի՞ համար եք օգտագործում օբյեկտների պահեստավորումը:

Մենք ունենք 6000 ծրագրավորող, որոնք աշխատում են ենթակառուցվածքների վրա, նրանց միավորված չէ որևէ մեկ օգտագործման դեպք: Ցանկացած տարբերակ, որը դուք կարող եք մտածել, մենք հավանաբար այն ունենք օբյեկտների պահեստում: Որոշ թիմեր այն օգտագործում են սառը արխիվային պահպանման համար, ոմանք տվյալների փոխանցման համար, իսկ մյուսները, որոնք օգտագործում են այն գործարքային ծրագրերի համար: Օգտագործման այս բոլոր դեպքերը պահանջում են SLA-ի տարբեր մակարդակներ, այնպես որ, ինչպես տեսնում եք, մենք ունենք տարբեր տեսակի տրաֆիկ, բոլոր տեսակի կարիքներ մեր ենթակառուցվածքի տարբեր օգտագործողների համար: Սա միատարր օգտագործման դեպք չէ, որն աշխատում է մեր ցանկացած պահեստի վերևում, ինչը ակնհայտորեն բարդացնում է իրերը:

Որքա՞ն մեծ դեր են խաղում Kubernetes-ը և կոնտեյներները ձեզ համար, և ինչպե՞ս է դա ազդում պահեստավորման վրա:

Մենք խթանում ենք պահեստավորման արտադրողականությունը՝ ստեղծելու ամպի զգացողություն, ինչ-որ բան որպես ծառայության զգացում, որտեղ կա կոճակ, որով մշակողները կարող են արագացնել իրենց արհեստը և հեռացնել ենթակառուցվածքը ճանապարհին:

Խմբագրի հ.բ.15 թվականի հոկտեմբերի 2020-ը պատրաստ կլինի Ceph վիդեո դասընթաց. Դուք կսովորեք Ceph ցանցի պահպանման տեխնոլոգիան՝ օգտագործելու ձեր նախագծերում սխալների հանդուրժողականությունը բարելավելու համար:

Մենք ունենք երեք թիմ, առաջինը պահեստավորման API թիմն է: Նրանք Bloomberg-ում հավելվածների մշակման հաճախորդների համար ստեղծում են ծրագրային մուտք, վերջնակետեր և նախապես սահմանված աշխատանքային հոսքեր: Սա ամբողջական stack վեբ ծրագրավորողների թիմ է, նրանք օգտագործում են node.js, python, բաց կոդով տեխնոլոգիաներ, ինչպիսիք են Apache Airflow-ը, ուստի ուսումնասիրում են կոնտեյներացման և վիրտուալիզացիան:

Մենք նաև ունենք երկու տեխնիկական թիմ, որոնք իրականում տեղափոխում են բիթերն ու բայթերը: Դրանք ավելի անմիջականորեն կապված են սարքավորումների հետ։ Մենք ունենք շատ սարքավորումներ, և այդ թիմերը չեն օգտագործում վիրտուալացում և կոնտեյներներ:

Մենք փորձում ենք հետևել այն ամենին, ինչ տեղի է ունենում արդյունաբերության մեջ՝ ուսումնասիրելով Kubernetes CSI դրայվերները, ինչպես նաև սերտորեն համագործակցելով Bloomberg-ում Kubernetes-ն իրականացնող թիմի հետ՝ գնահատելու, թե արդյոք կարող ենք արդյոք Kubernetes պահեստավորումը հետևողականորեն աշխատել մեր ունեցած տեխնոլոգիաների հետ և մենք ունենք: այն աշխատում է: Մենք օգտագործում ենք SDS՝ մշտական ​​պահեստին միացված Kubernetes-ին աջակցելու համար: Մենք հաջողությամբ մշակել ենք այս տեխնոլոգիան, և երկու թիմերի միջև շարունակվում են քննարկումներն այն մասին, թե ինչպես կարող ենք դա հասանելի դարձնել բոլոր մյուսներին Bloomberg-ում: Մենք ցույց տվեցինք, որ դա միանգամայն հնարավոր է։

Ի՞նչ այլ բաց կոդով ծրագրակազմ եք օգտագործում, հատկապես պահեստավորման համար:

Մենք օգտագործում ենք Apache Airflow, HAProxy հավելվածների երթեւեկությունը սահմանափակելու համար: Մենք նաև օգտագործում ենք Ceph-ը՝ SDS-ի հարթակ: Դրանով դուք կարող եք ունենալ մեկ համակարգ հրամանների համար, բայց հաճախորդներին տրամադրել մի քանի ինտերֆեյս: Վիրտուալացման հարթակներից մեկն աշխատում է OpenStack-ում. մենք սերտորեն համագործակցում ենք այս թիմի հետ: Մենք ունենք բաց կոդով վիրտուալացման հարթակ, որն օգտագործում է բաց կոդով SDS հարթակը պահեստավորման համար: Զվարճալի է.

Պահպանման ի՞նչ տեխնոլոգիաներ եք մտածում առաջիկա երկու-երեք տարիների համար:

Մենք միշտ փնտրում ենք պահեստավորման ոլորտում տեղի ունեցող այլ հետաքրքիր նոր բաներ: Սա մեր աշխատանքի մի մասն է, դա ոչ թե «այստեղ ձեր SAN-ն է, կառավարեք այստեղ, և ահա ձեր NFS-ը, կառավարեք այնտեղ»: Մենք փորձում ենք շփվել մեր հաճախորդների հետ, այսինքն. մեր հավելվածների մշակողների կողմից: Մենք աշխատում ենք միասին՝ հասկանալու համար, թե ինչ խնդիրներ են նրանք փորձում լուծել, և ինչպես դա կազդի մեր արտաքին Bloomberg-ի հաճախորդների վրա՝ բանկերի և այլոց, որոնք օգտագործում են մեր ծրագրաշարը: Եվ հետո մենք վերադառնում ենք տվյալների պահպանման աշխարհ՝ գտնելու հնարավորություններ՝ օգնելու նրանց հասնել իրենց նպատակին: Ինչպե՞ս կարող ենք օգնել նրանց գտնել պահեստավորման ճիշտ տեխնոլոգիա, որը համապատասխանում է իրենց SLA-ին կամ այն, ինչ նրանք փորձում են անել: Քանի որ մենք ունենք շատ ինժեներներ, ովքեր հիանալի բաներ են անում, դա երբեք ձանձրալի չի դառնում:

Մենք ներկայումս փնտրում ենք SDS-ի կատարողականությունը բարելավելու ուղիներ, որոնք կարող են աշխատել ընդհանուր նշանակության սերվերների վրա: Այսպիսով, մենք աշխատում ենք NVMe-ի վրա TCP-ի միջոցով, սա շատ հետաքրքիր և հիանալի նախաձեռնություն է, շատերից մեկը: Մենք նաև աշխատում ենք ոլորտի առանցքային մարդկանց և գոյություն ունեցող որոշ մատակարարների հետ՝ պարզելու, թե ինչ են նրանք առաջարկում և ինչպիսին կլինի իրական կատարողականը, կարո՞ղ ենք սկսել օգտագործել այն ընկերությունում արտադրության մեջ: Սա բացում է նոր հորիզոններ, որոնք նախկինում հասանելի չեն եղել:

Մի փոքր օգնություն PS-ում

Հ.Գ. Եթե թույլ եմ տալիս, հիշեցնեմ, որ սեպտեմբերի 28-30-ը կանցկացվի ինտենսիվ Kubernetes բազա, նրանց համար, ովքեր չգիտեն Kubernetes-ը, բայց ցանկանում են ծանոթանալ ու սկսել աշխատել դրա հետ։

Source: www.habr.com

Добавить комментарий