Ang koponan ng suporta sa imbakan ng Bloomberg ay umaasa sa open source at SDS

Ang koponan ng suporta sa imbakan ng Bloomberg ay umaasa sa open source at SDS

Tl; DR: Ang koponan ng Bloomberg Storage Engineering ay lumikha ng cloud storage para sa panloob na paggamit na hindi nakakasagabal sa imprastraktura at maaaring makayanan ang mabigat na karga ng pagkasumpungin ng kalakalan sa panahon ng pandemya.

Si Mattew Leonard, kapag pinag-uusapan ang kanyang trabaho bilang isang technical manager sa Bloomberg Storage Engineering team, ay kadalasang gumagamit ng mga salitang "mapaghamong" at "masaya." Ang mga hamon ay nagmumula sa malawak na saklaw ng storage, mula sa pinakabagong NVMe-based SAN arrays hanggang sa open source na storage na tinukoy ng software sa DevOps. Dito magsisimula ang "katuwaan" (tingnan ang aking avatar sa HabrΓ©, tinatayang tagasalin).

Si Leonard at ang kanyang koponan ng 25 na kasamahan ay nangangasiwa sa higit sa 100 petabytes ng kapasidad at isang panloob na ulap para sa 6000 mga inhinyero na bumubuo ng mga aplikasyon para sa Bloomberg Terminal, ang teknolohiyang ginawang bilyonaryo si Michael Bloomberg. Ang koponan ay nagdidisenyo, nagtatayo at nagpapanatili ng mga sistema ng imbakan para sa Bloomberg Engineering.

Tulad ng iba pang propesyon sa IT, ang 2020 ay isang hindi pangkaraniwang taon para sa mga miyembro ng pangkat ng Storage Engineering dahil pinilit sila ng COVID-19 na magtrabaho nang malayuan. Sinabi ni Leonard na naapektuhan ng pandemya ang kanyang "tight-knit team" sa lipunan habang inalis ang mga pakikipag-ugnayan nang harapan, ngunit ang mga kawani ay napakabilis na umangkop sa pagtatrabaho mula sa bahay sa mga laptop at video conferencing.

Nakapagtataka, gusto kong sabihin na hindi nito pinalala ang mga bagay. Nagkaroon ng maikling panahon ng pagbagay - hindi lahat ay handa na magtrabaho mula sa bahay. Pagkatapos ng isang linggo o dalawa ay naunawaan na ito ng lahat. Nakahanap kami ng mga paraan upang panatilihing abala ang aming sarili, bumili at mag-upgrade ng kagamitan, at dagdagan ang mga gastos upang suportahan ang kumpanya sa mga panahong ito. Kailangan naming maging malikhain, ngunit hindi kami nasaktan

Ang pinakamalaking hamon ay maaaring nauna pa sa rurok ng COVID-19. Ito ay dahil sa pabagu-bago ng kalakalan sa merkado dahil sa mga alalahanin tungkol sa epekto ng pandemya sa pandaigdigang ekonomiya. Ang dami ng data na dumadaloy sa mga terminal ng Bloomberg mula sa mga pandaigdigang pamilihan ng kapital ay halos dumoble, na umabot sa 240 bilyong piraso ng impormasyon sa ilang araw sa huling bahagi ng Marso. Isa itong seryosong pagsubok sa mga sistema ng imbakan.

Kapag nadoble mo kaagad ang iyong mga kinakailangan sa storage sa isang araw, lumilikha ito ng mga kawili-wiling problema. Nalampasan namin ito at natiyak na ang mga team development ng application ay nabigyan ng espasyo at pagganap na kailangan nila. Karamihan sa mga ito ay may kinalaman sa kung paano namin iniisip ang tungkol sa mga storage system. Ngayon hindi kami lumilikha ng anuman. Hindi namin sinasabi, "Gumagamit kami ng ABC, kaya gagawa kami ng imprastraktura para sa ABC." Ginagawa namin ang tinatawag naming "pagbabadyet ng data" sa aming mga koponan upang hulaan ang paggamit, pag-aralan ang mga uso sa paggamit at pagganap, at tinitingnan din namin ang seguridad. Ang ganitong uri ng pagpaplano, pag-iisip, at pamamaraan na angkop na pagsusumikap ay nagbibigay-daan sa amin na gumawa ng marahas na pagkilos sa mga surge nang hindi pinagpapawisan. Syempre, kinakabahan ako, pero komportable ako sa pwesto ko.

Kamakailan ay nakipag-usap si Leonard sa SearchStorage nang detalyado tungkol sa pamamahala ng storage para sa mga negosyong batay sa data. Tinalakay niya kung ano ang kinakailangan upang mag-alok ng pribadong cloud storage solution, na may kakayahang magbigay ng mga feature ng AWS sa mga user nito habang pinapanatili ang anumang data sa mga data center ng Bloomberg.

Kung wala nang pandemya, anong kahirapan ang mga inhinyero ng Bloomberg sa pamamahala ng imbakan?

Marami tayong pangangailangan, sadyang napunit tayo sa iba't ibang direksyon. Kaya kailangan naming magbigay ng maraming iba't ibang uri ng mga produkto sa iba't ibang antas ng SLA upang matulungan ang aming mga developer ng application na tumuon sa kanilang mga gawain sa halip na mag-alala tungkol sa storage mismo.

At anong diskarte ang sinusunod mo para dito?

Bahagi ng sinusubukan naming gawin ay pahusayin ang pagganap ng storage. Isipin ang modelo ng AWS kung saan pumapasok ang isang development engineer, pinindot ang isang button, at pagkatapos ay "mag-click" sa mahiwagang pagkuha ng tamang uri ng storage upang malutas ang kanyang problema.

Ano ang hitsura ng iyong imprastraktura ng imbakan?

Dahil mayroon kaming isang napaka-magkakaibang ecosystem at maraming iba't ibang mga developer, hindi kami maaaring mag-alok ng isang produkto. Mayroon kaming object, file at block storage. Ang mga ito ay iba't ibang mga produkto at nag-aalok kami ng iba't ibang uri ng mga teknolohiya upang maihatid ang mga ito. Para sa block ginagamit namin ang SAN. Mayroon din kaming SDS, na nagbibigay ng isa pang opsyon sa block storage na may ibang hanay ng mga kinakailangan sa pagganap. Para sa mga file ginagamit namin ang NFS. Ginagamit din ang SDS para sa pag-iimbak ng bagay. Ang mga bahagi ng bloke at bagay ay bumubuo ng panloob na pribadong ulap para sa pag-compute at pag-iimbak.

Kaya hindi ka gumagamit ng pampublikong cloud storage?

Tama iyan. May pahintulot ang ilang development team na gumamit ng mga pampublikong ulap. Ngunit dahil sa likas na katangian ng aming negosyo, mas gusto naming magkaroon ng higit na kontrol sa mga bagay na umaalis sa aming mga pader. Kaya oo, mayroon tayong sariling mga ulap na nasa ilalim ng ating kontrol. Ito ay kagamitan na matatagpuan sa aming data center sa ilalim ng aming pamamahala.

Sa aming mga data center, mas gusto namin ang isang multi-vendor na diskarte. Malaking supplier sila, ngunit hindi namin sasabihin kung sino ang eksaktong (patakaran ng Bloomberg na huwag mag-endorso ng sinumang supplier, tinatayang tagasalin).

Gumagamit ka ba ng hyperconverged na imprastraktura upang buuin ang iyong pribadong ulap?

Hindi. Kami sa Bloomberg ay pumipili ng isang direksyon kung saan hindi kami kumikilos patungo sa hyperconvergence. Sinusubukan naming i-decouple ang compute mula sa storage para ma-scale namin ang mga ito nang hiwalay. Ang direksyon kung saan tayo lumilipat, lalo na sa ating cloud, ay para mapaghiwalay natin ang dalawang entity na iyon. At lahat dahil ang ilang mga bagay sa ating bansa ay nangangailangan ng masinsinang mga kalkulasyon, habang ang iba ay nangangailangan ng imbakan. Kung pantay-pantay mong sukatin ang mga ito, mawawalan ka ng mga mapagkukunan, kahit na pera, o espasyo sa mga data center, o sa pamamagitan ng pagbili ng kapasidad na hindi mo kailangan. Iyon ang dahilan kung bakit gusto naming magkaroon ng isang karaniwang interface sa pagitan ng dalawang entity, ngunit ang mga ito ay ganap na magkaibang mga sistema at pinamamahalaan ng iba't ibang mga koponan.

Anong mga hadlang ang dapat malampasan upang makabuo ng isang pribadong ulap?

Problema sa sukat. Tulad ng karamihan sa mga bagay, ang diyablo ay nasa mga detalye. Kapag iniisip mo kung paano gumagana ang mga bagay na ito, kung paano gagawing matatag ang mga ito, kung paano pangasiwaan ang operational load, kung paano ka nakikipag-usap sa mga physical asset team, nagiging kawili-wili ang mga bagay. Ang hamon ay ang humanap ng paraan para gawing scalable at supportable na produkto ang lahat na gustong gamitin ng aming mga developer ng application, na mapagyaman ang feature set habang nananatili sa pinaka-cutting edge ng ginagawa ng public cloud. At upang pagsama-samahin din ang lahat upang patuloy itong gumana. Ito ang aming pangunahing problema - nagtatrabaho kami sa lahat ng bahagi ng negosyo, sinusubukang matugunan ang lahat ng pangangailangan, ngunit hindi binabalewala ang iba pang mga pangangailangan.

Sa tingin mo ba kailangan mo ang pinakabagong mga feature na available sa AWS at iba pang pampublikong ulap?

Ang pinakanakakatuwang katotohanan tungkol sa S3 ay ang pamantayan ng pamumuhay ay patuloy na nagbabago, ang mga bagong tampok ay palaging idinadagdag. Parang bagong laruan. Kung may makakita ng bagong feature sa isang bagong release, gusto nila ito. Hindi lahat ng feature ng AWS ay naaangkop sa ating kapaligiran, kaya mahalaga at kawili-wiling malaman kung ano ang makakatulong sa mga developer at kung paano ito makukuha sa loob ng bahay.

Anong kagamitan sa pag-iimbak ang ginagamit mo?

Ginagamit namin ang pinakabagong kagamitan. Ang aming panloob na ulap ay ganap na nakabatay sa NVMe Flash, na ginagawang napakalakas ng mga system na ito. Pinapadali nito ang aming buhay, at isa rin itong magandang feature para sa aming mga developer dahil hindi nila kailangang mag-alala tungkol sa performance ng storage.

Ano ang ginagamit mong imbakan ng bagay?

Mayroon kaming 6000 developer na nagtatrabaho sa imprastraktura, hindi sila pinagsasama-sama ng alinmang kaso ng paggamit. Anumang opsyon na maiisip mo, malamang na mayroon kami nito sa imbakan ng bagay. Ginagamit ito ng ilang team para sa malamig na imbakan ng archival, ang ilan para sa paglilipat ng data, at iba pa na gumagamit nito para sa mga transactional na application. Ang lahat ng mga kaso ng paggamit na ito ay nangangailangan ng iba't ibang antas ng SLA, para sa nakikita mo, mayroon kaming iba't ibang uri ng trapiko, lahat ng uri ng mga pangangailangan para sa iba't ibang mga gumagamit ng aming imprastraktura. Hindi ito isang homogenous na use case na tumatakbo sa ibabaw ng alinman sa aming storage, na malinaw na ginagawang mas kumplikado ang mga bagay.

Gaano kalaki ang papel ng Kubernetes at mga container para sa iyo, at paano ito nakakaapekto sa storage?

Itinutulak namin ang pagiging produktibo ng imbakan upang lumikha ng isang pakiramdam ng ulap, isang pakiramdam ng isang bagay-bilang-isang-serbisyo, kung saan mayroong isang pindutan para sa mga developer na pabilisin ang kanilang craft at alisin ang imprastraktura sa daan.

NB ng editor: Oktubre 15, 2020 ay magiging handa Ceph video course. Matututuhan mo ang teknolohiya ng imbakan ng network ng Ceph na gagamitin sa iyong mga proyekto upang mapabuti ang pagpapahintulot sa fault.

Mayroon kaming tatlong team, ang una ay ang storage API team. Gumagawa sila ng programmatic na pag-access, mga endpoint, at mga paunang natukoy na daloy ng trabaho para sa mga kliyente sa pagbuo ng app sa Bloomberg. Isa itong pangkat ng mga full stack web developer, gumagamit sila ng node.js, python, mga open source na teknolohiya, gaya ng Apache Airflow, kaya pinag-aaralan nila ang containerization at virtualization.

Mayroon din kaming dalawang teknikal na koponan na aktwal na gumagalaw ng mga bit at byte. Mas direktang nauugnay ang mga ito sa kagamitan. Marami kaming kagamitan, at ang mga koponang ito ay hindi gumagamit ng virtualization at mga lalagyan.

Sinusubukan naming makipagsabayan sa kung ano ang nangyayari sa industriya, pag-aaral sa mga driver ng Kubernetes CSI, at pakikipagtulungan din nang malapit sa team na nagpapatupad ng Kubernetes sa Bloomberg upang masuri kung maaari naming gawing pare-pareho ang storage ng Kubernetes sa mga teknolohiyang mayroon kami, at mayroon kaming gumagana ito. Gumagamit kami ng SDS upang suportahan ang mga Kubernetes na konektado sa patuloy na storage. Matagumpay naming binuo ang teknolohiyang ito, at nagpapatuloy ang mga talakayan sa pagitan ng dalawang koponan tungkol sa kung paano namin ito gagawing available sa lahat ng iba pa sa Bloomberg. Ipinakita namin na ito ay lubos na posible.

Anong iba pang open source software ang ginagamit mo, lalo na para sa storage?

Ginagamit namin ang Apache Airflow, HAProxy upang limitahan ang trapiko ng application. Ginagamit din namin ang Ceph, isang platform para sa SDS. Gamit ito, maaari kang magkaroon ng isang sistema para sa mga utos, ngunit magbigay ng maramihang mga interface sa mga kliyente. Ang isa sa mga virtualization platform ay tumatakbo sa OpenStack - nakikipagtulungan kami nang malapit sa pangkat na ito. Mayroon kaming open source virtualization platform na gumagamit ng open source na platform ng SDS para sa storage. Nakakatawa.

Anong mga teknolohiya ng storage ang isinasaalang-alang mo sa susunod na dalawa hanggang tatlong taon?

Palagi kaming tumitingin sa iba pang mga cool na bagong bagay na nangyayari sa industriya ng storage. Ito ay bahagi ng aming trabaho, hindi ito "narito ang iyong SAN, pamahalaan dito, at narito ang iyong NFS, pamahalaan doon." Sinusubukan naming makipag-usap sa aming mga kliyente, i.e. ng aming mga developer ng application. Nagtutulungan kami upang maunawaan kung anong mga problema ang sinusubukan nilang lutasin at kung paano ito makakaapekto sa aming mga panlabas na kliyente ng Bloomberg - ang mga bangko at iba pa na gumagamit ng aming software. At pagkatapos ay babalik tayo sa mundo ng pag-iimbak ng data upang humanap ng mga pagkakataong tulungan silang makamit ang kanilang layunin. Paano namin sila matutulungan na mahanap ang tamang teknolohiya ng storage na akma sa kanilang SLA o kung ano ang sinusubukan nilang gawin? Dahil marami tayong mga inhinyero na gumagawa ng mga cool na bagay, hindi ito nakakasawa.

Kasalukuyan kaming naghahanap ng mga paraan upang mapahusay ang pagganap para sa SDS na posibleng tumakbo sa mga server ng pangkalahatang layunin. Kaya nagtatrabaho kami sa NVMe sa TCP, ito ay isang napaka-interesante at cool na inisyatiba, isa sa marami. Nakikipagtulungan din kami sa mga pangunahing tao sa industriya at ilan sa mga kasalukuyang supplier para malaman kung ano ang inaalok nila at kung ano ang magiging aktwal na performance, kung maaari ba naming simulan ang paggamit nito sa produksyon sa kumpanya. Nagbubukas ito ng mga bagong abot-tanaw na hindi dating naa-access.

Kaunting tulong sa PS

PS Kung maaari, nais kong ipaalala sa iyo na gaganapin ang Setyembre 28-30 masinsinang Kubernetes Base, para sa mga hindi nakakaalam ng Kubernetes, ngunit nais na makilala ito at magsimulang magtrabaho kasama ito.

Pinagmulan: www.habr.com

Magdagdag ng komento