Bloombergning saqlashni qo'llab-quvvatlash jamoasi ochiq manba va SDSga tayanadi

Bloombergning saqlashni qo'llab-quvvatlash jamoasi ochiq manba va SDSga tayanadi

TP; DR: Bloomberg Storage Engineering jamoasi infratuzilmaga xalaqit bermaydigan va pandemiya davridagi savdo o‘zgaruvchanligining og‘ir yukiga bardosh bera oladigan ichki foydalanish uchun bulutli xotirani yaratdi.

Metyu Leonard Bloomberg Storage Engineering jamoasida texnik menejer sifatidagi ishi haqida gapirganda, ko'pincha "qiyin" va "qiziqarli" so'zlarini ishlatadi. Qiyinchiliklar NVMe-ga asoslangan so'nggi SAN massivlaridan tortib DevOps-dagi ochiq kodli dasturiy ta'minot bilan belgilangan saqlashgacha bo'lgan keng qamrovli saqlashdan kelib chiqadi. Bu erda "o'yin-kulgi" boshlanadi (Habredagi avatarimni ko'ring, taxminan. tarjimon).

Leonard va uning 25 nafar hamkasbidan iborat jamoasi 100 petabaytdan ortiq sig‘im va 6000 muhandislar uchun ichki bulutni nazorat qiladi, Bloomberg terminali uchun ilovalar ishlab chiqadi, bu texnologiya Maykl Blumbergni milliarderga aylantiradi. Jamoa Bloomberg Engineering uchun saqlash tizimlarini loyihalashtiradi, quradi va ularga xizmat ko'rsatadi.

Boshqa IT kasblari singari, 2020 yil ham saqlash muhandisligi jamoasi a'zolari uchun g'ayrioddiy yil bo'ldi, chunki COVID-19 ularni masofadan ishlashga majbur qildi. Leonardning so'zlariga ko'ra, pandemiya uning "qattiq to'qilgan jamoasi" ga ijtimoiy ta'sir ko'rsatdi, chunki yuzma-yuz o'zaro aloqalar yo'q qilindi, ammo xodimlar uyda noutbuklar va videokonferentsiyalarda ishlashga juda tez moslashishdi.

Ajablanarlisi shundaki, shuni aytmoqchimanki, bu vaziyatni yomonlashtirmadi. Qisqa moslashish davri bor edi - hamma ham uydan ishlashga tayyor emas edi. Bir-ikki haftadan keyin hamma buni tushundi. Biz o'zimizni band qilish, uskunalarni sotib olish va yangilash va kompaniyani qo'llab-quvvatlash uchun xarajatlarni oshirish yo'llarini topa oldik. Ijodkorlik bilan shug‘ullanishimiz kerak edi, ammo zarar ko‘rmadik

Eng katta qiyinchilik COVID-19 cho'qqisidan oldin bo'lgan bo'lishi mumkin. Bunga pandemiyaning jahon iqtisodiyotiga ta'siri haqidagi xavotirlar tufayli bozordagi o'zgaruvchan savdo sabab bo'ldi. Jahon kapital bozorlaridan Bloomberg terminallariga keladigan ma'lumotlar hajmi deyarli ikki baravar ko'payib, mart oyining oxirida ba'zi kunlarda 240 milliard ma'lumotga yetdi. Bu saqlash tizimlarining jiddiy sinovidir.

Bir kunda saqlash talablarini ikki baravar oshirsangiz, bu qiziqarli muammolarni keltirib chiqaradi. Biz buni engib o'tishga muvaffaq bo'ldik va ilovalarni ishlab chiqish bo'yicha guruhlarga kerakli joy va ishlash imkoniyati berilishini ta'minladik. Bularning aksariyati saqlash tizimlari haqida qanday fikrda ekanligimiz bilan bog'liq. Bugun biz hech narsa yaratmayapmiz. Biz: “Biz ABC’dan foydalanamiz, shuning uchun biz ABC uchun infratuzilmani quramiz” demaymiz. Biz foydalanishni prognoz qilish, foydalanish va ishlash tendentsiyalarini tahlil qilish, shuningdek, xavfsizlikni ko'rib chiqish uchun jamoalarimiz bilan "ma'lumotlarni byudjetlashtirish" deb ataydigan narsani qilamiz. Rejalashtirish, fikrlash va metodik tekshiruvning bunday turi bizga ter to'kmasdan keskin choralar ko'rishga imkon beradi. Albatta, men asabiy edim, lekin o'z o'rnimda bo'lishni qulay his qildim.

Leonard yaqinda SearchStorage bilan ma'lumotlarga asoslangan korxonalar uchun saqlashni boshqarish haqida batafsil gaplashdi. U Bloomberg ma'lumotlar markazlarida har qanday ma'lumotlarni saqlagan holda o'z foydalanuvchilariga AWS xususiyatlarini taqdim etish qobiliyatiga ega shaxsiy bulutli saqlash yechimini taklif qilish uchun nima qilish kerakligini muhokama qildi.

Agar endi pandemiya bo'lmasa, Bloomberg muhandislari saqlashni boshqarishda qanday qiyinchiliklarga duch kelishadi?

Bizning ehtiyojlarimiz ko'p, biz shunchaki turli yo'nalishlarda yirtilganmiz. Shunday qilib, biz ilovalarni ishlab chiquvchilarimizga saqlashning o'zi haqida qayg'urmasdan, o'z vazifalariga e'tibor qaratishlariga yordam berish uchun turli xil SLA darajalarida turli xil mahsulotlarni taqdim etishimiz kerak.

Va buning uchun qanday strategiyaga amal qilasiz?

Saqlash unumdorligini yaxshilashga harakat qilmoqchimiz. AWS modeli haqida o'ylab ko'ring, u erda ishlab chiqish muhandisi kirib, tugmani bosadi va keyin "bosish" sehrli tarzda o'z muammosini hal qilish uchun kerakli saqlash turini oladi.

Saqlash infratuzilmangiz qanday ko'rinishga ega?

Bizda juda xilma-xil ekotizim va juda ko'p turli ishlab chiquvchilar mavjud bo'lgani uchun biz bitta mahsulotni taklif qila olmaymiz. Bizda ob'ekt, fayl va blokli xotira mavjud. Bu turli mahsulotlar va biz ularni yetkazib berish uchun turli xil texnologiyalarni taklif qilamiz. Blok uchun biz SAN dan foydalanamiz. Bundan tashqari, bizda SDS mavjud bo'lib, u boshqa ishlash talablari to'plamiga ega bo'lgan boshqa blokni saqlash variantini taqdim etadi. Fayllar uchun biz NFS dan foydalanamiz. SDS ob'ektni saqlash uchun ham ishlatiladi. Blok va ob'ekt qismlari hisoblash va saqlash uchun ichki shaxsiy bulutni tashkil qiladi.

Shunday qilib, siz ommaviy bulutli xotiradan foydalanmaysizmi?

Hammasi to'g'ri. Ba'zi ishlab chiqish guruhlari ommaviy bulutlardan foydalanishga ruxsatga ega. Ammo biznesimizning tabiati tufayli biz devorlarimizni tark etadigan narsalarni ko'proq nazorat qilishni afzal ko'ramiz. Ha, bizning nazoratimiz ostida bo'lgan o'z bulutlarimiz bor. Bu bizning boshqaruvimiz ostidagi ma'lumotlar markazimizda joylashgan uskuna.

Bizning ma'lumotlar markazlarimizda biz ko'p sotuvchi strategiyasini afzal ko'ramiz. Ular yirik etkazib beruvchilar, ammo biz aniq kimni aytmaymiz (Bloomberg siyosati hech qanday etkazib beruvchini ma'qullamaslik, taxminan. tarjimon).

Shaxsiy bulutingizni yaratish uchun giperkonverged infratuzilmadan foydalanasizmi?

Yo'q. Biz Bloomberg'da giperkonvergentsiyaga intilmayotgan yo'nalishni tanlayapmiz. Biz hisobni saqlashdan ajratishga harakat qilyapmiz, shuning uchun ularni mustaqil ravishda kengaytira olamiz. Biz harakatlanayotgan yo'nalish, ayniqsa bulutimiz bilan, biz bu ikki ob'ektni ajrata olishimiz uchun. Va barchasi, chunki bizning mamlakatimizda ba'zi narsalar intensiv hisob-kitoblarni talab qiladi, boshqalari esa saqlashni talab qiladi. Agar siz ularni teng ravishda o'lchasangiz, pul yoki ma'lumot markazlarida bo'sh joy yoki sizga kerak bo'lmagan imkoniyatlarni sotib olishdan qat'i nazar, resurslarni yo'qotasiz. Shuning uchun biz ikkala ob'ekt o'rtasida umumiy interfeysga ega bo'lishni yaxshi ko'ramiz, lekin ular butunlay boshqa tizimlar bo'lishi va turli jamoalar tomonidan boshqarilishi kerak.

Shaxsiy bulutni yaratish uchun qanday to'siqlarni engib o'tish kerak?

Masshtab muammosi. Aksariyat narsalar singari, shayton tafsilotlarda. Bu narsalar qanday ishlashi, ularni qanday qilib chidamli qilish, operatsion yukni qanday engish, jismoniy aktivlar guruhlari bilan qanday aloqa qilish haqida o'ylaganingizda, narsalar biroz qiziqarli bo'ladi. Muammo shundaki, dastur ishlab chiquvchilarimiz foydalanmoqchi bo'lgan hamma narsani kengaytiriladigan va qo'llab-quvvatlanadigan mahsulotga aylantirish yo'lini topish, shu bilan birga umumiy bulut nima qilayotganining eng yuqori cho'qqisida qolib, xususiyatlar to'plamini boyitish imkoniyatiga ega bo'lishdir. Shuningdek, u ishlashda davom etishi uchun hammasini birlashtirish. Bu bizning asosiy muammomiz - biz biznesning barcha sohalarida ishlaymiz, barcha ehtiyojlarni qondirishga harakat qilamiz, lekin boshqa ehtiyojlarni e'tiborsiz qoldirmaymiz.

Sizningcha, sizga AWS va boshqa ommaviy bulutlarda mavjud eng so'nggi xususiyatlar kerakmi?

S3 haqida eng qiziqarli fakt shundaki, turmush darajasi doimo o'zgarib turadi, har doim yangi xususiyatlar qo'shiladi. Bu xuddi yangi o'yinchoq kabi. Agar kimdir yangi versiyada yangi xususiyatni ko'rsa, ular buni xohlashadi. Barcha AWS xususiyatlari bizning muhitimizda qo'llanilmaydi, shuning uchun ishlab chiquvchilarga nima yordam berishini va uni uyda qanday olish kerakligini bilish muhim va qiziqarli.

Siz qanday saqlash uskunasidan foydalanasiz?

Biz eng yangi jihozlardan foydalanamiz. Bizning ichki bulutimiz butunlay NVMe Flash-ga asoslangan bo'lib, bu tizimlarni juda kuchli qiladi. Bu bizning hayotimizni biroz osonlashtiradi va bu bizning ishlab chiquvchilarimiz uchun ham yoqimli xususiyatdir, chunki ular saqlash unumdorligi haqida tashvishlanishlari shart emas.

Ob'ektni saqlashdan nima uchun foydalanasiz?

Bizda infratuzilma ustida ishlayotgan 6000 ta ishlab chiquvchilar bor, ularni hech qanday foydalanish holati birlashtirmaydi. Siz o'ylashingiz mumkin bo'lgan har qanday variant, bizda, ehtimol, ob'ekt xotirasida mavjud. Ba'zi jamoalar uni sovuq arxiv saqlash uchun, ba'zilari ma'lumotlarni uzatish uchun, boshqalari esa tranzaktsion ilovalar uchun foydalanadilar. Ushbu foydalanish holatlarining barchasi turli darajadagi SLA-ni talab qiladi, shuning uchun siz ko'rib turganingizdek, bizda turli xil trafik turlari, infratuzilmamizning turli foydalanuvchilari uchun barcha turdagi ehtiyojlar mavjud. Bu bizning har qanday omborimiz ustida ishlaydigan bir hil foydalanish holati emas, bu esa narsalarni yanada murakkablashtiradi.

Kubernetes va konteynerlar siz uchun qanchalik katta rol o'ynaydi va bu saqlashga qanday ta'sir qiladi?

Biz bulut tuyg‘usini, nimadir xizmat sifatidagi tuyg‘usini yaratish uchun saqlash unumdorligini oshirmoqdamiz, bu yerda ishlab chiquvchilar o‘z mahoratini tezlashtirish va yo‘lda infratuzilmani olib tashlash tugmasi mavjud.

Muharrirning n.b.: 15 yil 2020 oktyabr tayyor bo'ladi Ceph video kurs. Siz xatolarga chidamliligini yaxshilash uchun loyihalaringizda foydalanish uchun Ceph tarmoq saqlash texnologiyasini o'rganasiz.

Bizda uchta jamoa bor, birinchisi saqlash API jamoasi. Ular Bloomberg'da ilovalarni ishlab chiqish mijozlari uchun dasturiy kirish, so'nggi nuqtalar va oldindan belgilangan ish oqimlarini yaratadilar. Bu to'liq stekli veb-ishlab chiquvchilar jamoasi bo'lib, ular node.js, python, Apache Airflow kabi ochiq manba texnologiyalaridan foydalanadilar, shuning uchun konteynerlashtirish va virtualizatsiyani o'rganadilar.

Shuningdek, bizda bit va baytlarni harakatga keltiradigan ikkita texnik guruhimiz bor. Ular ko'proq to'g'ridan-to'g'ri uskunalar bilan bog'liq. Bizda juda ko'p uskunalar bor va bu jamoalar virtualizatsiya va konteynerlardan foydalanmaydi.

Biz sohada sodir bo'layotgan voqealardan xabardor bo'lishga harakat qilmoqdamiz, Kubernetes CSI drayverlarini o'rganmoqdamiz, shuningdek, Kubernetes xotirasini bizda mavjud bo'lgan texnologiyalarga mos ravishda ishlashi mumkinmi yoki yo'qligini baholash uchun Bloomberg'dagi Kubernetesni amalga oshiruvchi guruh bilan yaqindan hamkorlik qilmoqdamiz. ishlaydi. Biz doimiy xotiraga ulangan Kubernetes-ni qo'llab-quvvatlash uchun SDS-dan foydalanamiz. Biz ushbu texnologiyani muvaffaqiyatli ishlab chiqdik va ikki jamoa o‘rtasida Bloomberg’da buni qanday qilib hamma uchun ochiq qilishimiz mumkinligi haqida munozaralar davom etmoqda. Bu juda mumkin ekanligini ko'rsatdik.

Yana qanday ochiq kodli dasturlardan foydalanasiz, xususan saqlash uchun?

Biz dastur trafigini cheklash uchun Apache Airflow, HAProxy-dan foydalanamiz. Shuningdek, biz SDS uchun platforma Cephdan foydalanamiz. Uning yordamida siz buyruqlar uchun bitta tizimga ega bo'lishingiz mumkin, lekin mijozlarga bir nechta interfeyslarni taqdim etishingiz mumkin. Virtualizatsiya platformalaridan biri OpenStack-da ishlaydi - biz ushbu jamoa bilan yaqindan hamkorlik qilamiz. Bizda saqlash uchun ochiq kodli SDS platformasidan foydalanadigan ochiq kodli virtualizatsiya platformasi mavjud. Bu kulguli.

Keyingi ikki-uch yil davomida qanday saqlash texnologiyalarini ko'rib chiqyapsiz?

Biz har doim saqlash sanoatida sodir bo'layotgan boshqa ajoyib yangi narsalarni qidiramiz. Bu bizning ishimizning bir qismi, bu "mana sizning SAN, bu yerda boshqaring va mana sizning NFS, u erda boshqaring" emas. Biz mijozlarimiz bilan muloqot qilishga harakat qilamiz, ya'ni. dastur ishlab chiquvchilarimiz tomonidan. Biz ular qanday muammolarni hal qilmoqchi ekanliklarini va bu bizning tashqi Bloomberg mijozlarimizga – banklar va dasturiy ta’minotimizdan foydalanadigan boshqalarga qanday ta’sir qilishini tushunish uchun birgalikda ishlaymiz. Va keyin biz ularga o'z maqsadlariga erishishda yordam berish imkoniyatlarini topish uchun ma'lumotlarni saqlash dunyosiga qaytamiz. Qanday qilib ularga SLA yoki ular qilmoqchi bo'lgan narsaga mos keladigan to'g'ri saqlash texnologiyasini topishga yordam bera olamiz? Chunki bizda juda ko'p muhandislar ajoyib ishlarni bajaradi, bu hech qachon zerikarli bo'lmaydi.

Biz hozirda umumiy maqsadli serverlarda ishlashi mumkin bo'lgan SDS ish faoliyatini yaxshilash yo'llarini qidirmoqdamiz. Shunday qilib, biz TCP orqali NVMe ustida ishlayapmiz, bu juda qiziqarli va ajoyib tashabbus, ko'pchilikdan biri. Shuningdek, biz sanoatning asosiy odamlari va ba'zi mavjud yetkazib beruvchilar bilan ular nimani taklif qilishini va haqiqiy ishlash qanday bo'lishini, kompaniyada ishlab chiqarishda foydalanishni boshlashimiz mumkinligini aniqlash uchun ishlayapmiz. Bu ilgari kirish imkoni bo'lmagan yangi ufqlarni ochadi.

PSda ozgina yordam

P.S. Iloji bo'lsa, 28-30 sentyabr kunlari bo'lishini eslatib o'tmoqchiman intensiv Kubernetes bazasi, Kubernetesni bilmaganlar uchun, lekin u bilan tanishishni va u bilan ishlashni boshlashni xohlaydiganlar uchun.

Manba: www.habr.com

a Izoh qo'shish