Pasukan sokongan storan Bloomberg bergantung pada sumber terbuka dan SDS

Pasukan sokongan storan Bloomberg bergantung pada sumber terbuka dan SDS

TL; DR: Pasukan Kejuruteraan Penyimpanan Bloomberg mencipta storan awan untuk kegunaan dalaman yang tidak mengganggu infrastruktur dan boleh menahan beban turun naik dagangan yang berat semasa pandemik.

Mattew Leonard, apabila bercakap tentang kerjanya sebagai pengurus teknikal dalam pasukan Kejuruteraan Penyimpanan Bloomberg, sering menggunakan perkataan "mencabar" dan "seronok." Cabaran timbul daripada skop storan yang luas, daripada tatasusunan SAN berasaskan NVMe terkini kepada storan tertakrif perisian sumber terbuka dalam DevOps. Di sinilah "keseronokan" bermula (lihat avatar saya di HabrΓ©, lebih kurang penterjemah).

Leonard dan pasukannya yang terdiri daripada 25 rakan sekerja mengawasi lebih daripada 100 petabait kapasiti dan awan dalaman untuk 6000 jurutera yang membangunkan aplikasi untuk Terminal Bloomberg, teknologi yang menjadikan Michael Bloomberg seorang bilionair. Pasukan mereka bentuk, membina dan menyelenggara sistem storan untuk Kejuruteraan Bloomberg.

Seperti profesion IT yang lain, tahun 2020 merupakan tahun yang luar biasa bagi ahli pasukan Kejuruteraan Penyimpanan kerana COVID-19 memaksa mereka bekerja dari jauh. Leonard berkata wabak itu telah memberi kesan kepada "pasukan yang bersatu padu" secara sosial apabila interaksi bersemuka dihapuskan, tetapi kakitangan telah menyesuaikan diri dengan cepat untuk bekerja dari rumah menggunakan komputer riba dan persidangan video.

Hebatnya, saya ingin mengatakan bahawa ini tidak memburukkan keadaan. Terdapat tempoh penyesuaian yang singkat - tidak semua orang bersedia untuk bekerja dari rumah. Selepas satu atau dua minggu semua orang memahami perkara ini. Kami dapat mencari cara untuk menyibukkan diri, membeli dan menaik taraf peralatan serta meningkatkan kos untuk menyokong syarikat pada masa ini. Kami terpaksa menjadi kreatif, tetapi kami tidak cedera

Cabaran terbesar mungkin telah mendahului kemuncak COVID-19. Ini disebabkan oleh dagangan pasaran yang tidak menentu berikutan kebimbangan mengenai kesan pandemik terhadap ekonomi global. Jumlah data yang mengalir ke terminal Bloomberg daripada pasaran modal global meningkat hampir dua kali ganda, mencecah 240 bilion maklumat pada beberapa hari pada akhir Mac. Ini adalah ujian serius sistem storan.

Apabila anda serta-merta menggandakan keperluan storan anda dalam satu hari, ia memang menimbulkan masalah yang menarik. Kami dapat mengatasinya dan memastikan pasukan pembangunan aplikasi diberi ruang dan prestasi yang mereka perlukan. Kebanyakan perkara ini berkaitan dengan cara kita berfikir tentang sistem storan. Hari ini kita tidak mencipta apa-apa. Kami tidak berkata, "Kami menggunakan ABC, jadi kami akan membina infrastruktur untuk ABC." Kami melakukan apa yang kami panggil "belanjawan data" dengan pasukan kami untuk meramalkan penggunaan, menganalisis aliran penggunaan dan prestasi, dan kami juga melihat keselamatan. Jenis perancangan, pemikiran, dan usaha wajar berkaedah ini membolehkan kita mengambil tindakan drastik terhadap lonjakan tanpa mengeluarkan peluh. Sudah tentu, saya gementar, tetapi saya berasa selesa berada di tempat saya.

Leonard baru-baru ini bercakap dengan SearchStorage secara terperinci tentang mengurus storan untuk perniagaan dipacu data. Beliau membincangkan perkara yang diperlukan untuk menawarkan penyelesaian storan awan peribadi, dengan keupayaan untuk menyediakan ciri AWS kepada penggunanya sambil menyimpan sebarang data dalam pusat data Bloomberg.

Jika tiada lagi wabak, apakah kesukaran yang dihadapi oleh jurutera Bloomberg dalam menguruskan storan?

Kami mempunyai banyak keperluan, kami hanya terkoyak ke arah yang berbeza. Jadi kami perlu menyediakan pelbagai jenis produk pada tahap SLA yang berbeza untuk membantu pembangun aplikasi kami menumpukan pada tugas mereka dan bukannya bimbang tentang storan itu sendiri.

Dan apakah strategi yang anda ikuti untuk ini?

Sebahagian daripada perkara yang kami cuba lakukan ialah meningkatkan prestasi storan. Fikirkan model AWS di mana seorang jurutera pembangunan berjalan masuk, menekan butang, dan kemudian "klik" secara ajaib mendapatkan jenis storan yang betul untuk menyelesaikan masalahnya.

Apakah rupa infrastruktur storan anda?

Oleh kerana kami mempunyai ekosistem yang sangat pelbagai dan banyak pembangun yang berbeza, kami tidak boleh menawarkan satu produk. Kami mempunyai storan objek, fail dan blok. Ini adalah produk yang berbeza dan kami menawarkan pelbagai jenis teknologi untuk menyampaikannya. Untuk blok kami menggunakan SAN. Kami juga mempunyai SDS, yang menyediakan satu lagi pilihan storan blok dengan set keperluan prestasi yang berbeza. Untuk fail kami menggunakan NFS. SDS juga digunakan untuk penyimpanan objek. Bahagian blok dan objek membentuk awan peribadi dalaman untuk pengkomputeran dan penyimpanan.

Jadi anda tidak menggunakan storan awan awam?

betul tu. Sesetengah pasukan pembangunan mempunyai kebenaran untuk menggunakan awan awam. Tetapi kerana sifat perniagaan kami, kami lebih suka mempunyai lebih kawalan ke atas perkara yang meninggalkan dinding kami. Jadi ya, kita mempunyai awan kita sendiri yang berada di bawah kawalan kita. Ini adalah peralatan yang terletak di pusat data kami di bawah pengurusan kami.

Di pusat data kami, kami lebih suka strategi berbilang vendor. Mereka adalah pembekal besar, tetapi kami tidak akan menyatakan siapa sebenarnya (adalah dasar Bloomberg untuk tidak menyokong mana-mana pembekal, lebih kurang penterjemah).

Adakah anda menggunakan infrastruktur hyperconverged untuk membina awan peribadi anda?

Tidak. Kami di Bloomberg memilih arah di mana kami tidak bergerak ke arah hiperkonvergensi. Kami cuba memisahkan pengiraan daripada storan supaya kami boleh menskalakannya secara bebas. Arah yang kita tuju, terutamanya dengan awan kita, adalah untuk kita dapat memisahkan kedua-dua entiti tersebut. Dan semuanya kerana beberapa perkara di negara kita memerlukan pengiraan yang intensif, sementara yang lain memerlukan penyimpanan. Jika anda mengukurnya secara sama rata, anda akan kehilangan sumber, tidak kira wang, atau ruang di pusat data, atau dengan kapasiti membeli yang anda tidak perlukan. Itulah sebabnya kami ingin mempunyai antara muka yang sama antara kedua-dua entiti, tetapi menjadikan mereka sistem yang sama sekali berbeza dan diuruskan oleh pasukan yang berbeza.

Apakah halangan yang mesti diatasi untuk membina awan peribadi?

Masalah skala. Seperti kebanyakan perkara, syaitan ada dalam butirannya. Apabila anda berfikir tentang cara perkara ini berfungsi, cara menjadikannya berdaya tahan, cara mengendalikan beban operasi, cara anda berkomunikasi dengan pasukan aset fizikal, perkara menjadi menarik sedikit. Cabarannya ialah untuk mencari cara untuk menjadikan segala-galanya sebagai produk berskala dan boleh disokong yang ingin digunakan oleh pembangun aplikasi kami, dapat memperkayakan set ciri sambil kekal di bahagian canggih daripada apa yang dilakukan oleh awan awam. Dan juga untuk menyatukan semuanya supaya ia terus berfungsi. Ini adalah masalah utama kami - kami bekerja merentasi semua bidang perniagaan, cuba memenuhi semua keperluan, tetapi tidak mengabaikan keperluan lain.

Adakah anda fikir anda memerlukan ciri terkini yang tersedia dalam AWS dan awan awam lain?

Fakta paling menyeronokkan tentang S3 ialah taraf hidup sentiasa berubah, ciri baharu sentiasa ditambah. Ia seperti mainan baru. Jika seseorang melihat ciri baharu dalam keluaran baharu, mereka mahukannya. Tidak semua ciri AWS boleh digunakan dalam persekitaran kami, jadi adalah penting dan menarik untuk mengetahui perkara yang akan membantu pembangun dan cara mendapatkannya secara dalaman.

Apakah peralatan penyimpanan yang anda gunakan?

Kami menggunakan peralatan terkini. Awan dalaman kami berasaskan sepenuhnya pada NVMe Flash, yang menjadikan sistem ini sangat berkuasa. Ia menjadikan hidup kami lebih mudah sedikit, dan ia juga merupakan ciri yang bagus untuk pembangun kami kerana mereka tidak perlu risau tentang prestasi storan.

Untuk apa anda menggunakan storan objek?

Kami mempunyai 6000 pemaju yang mengusahakan infrastruktur, mereka tidak disatukan oleh mana-mana satu kes penggunaan. Sebarang pilihan yang anda boleh fikirkan, kami mungkin mempunyainya dalam storan objek. Sesetengah pasukan menggunakannya untuk storan arkib sejuk, beberapa untuk pemindahan data dan yang lain menggunakannya untuk aplikasi transaksi. Semua kes penggunaan ini memerlukan tahap SLA yang berbeza, jadi seperti yang anda lihat, kami mempunyai jenis trafik yang berbeza, semua jenis keperluan untuk pengguna infrastruktur kami yang berbeza. Ini bukan kes penggunaan homogen yang dijalankan di atas mana-mana storan kami, yang jelas menjadikan perkara lebih rumit.

Sejauh manakah peranan yang dimainkan oleh Kubernetes dan bekas untuk anda, dan apakah kesannya kepada storan?

Kami mendorong produktiviti storan untuk mewujudkan rasa awan, rasa sesuatu-sebagai-perkhidmatan, di mana terdapat butang untuk pembangun untuk mempercepatkan kerajinan mereka dan mengalih keluar infrastruktur di sepanjang jalan.

N.b editor.: 15 Oktober 2020 akan siap Kursus video Ceph. Anda akan mempelajari teknologi storan rangkaian Ceph untuk digunakan dalam projek anda untuk meningkatkan toleransi kesalahan.

Kami mempunyai tiga pasukan, yang pertama ialah pasukan API penyimpanan. Mereka membuat akses program, titik akhir dan aliran kerja yang dipratentukan untuk pelanggan pembangunan aplikasi di Bloomberg. Ini ialah satu pasukan pembangun web tindanan penuh, mereka menggunakan node.js, python, teknologi sumber terbuka, seperti Apache Airflow, jadi mereka mengkaji kontena dan virtualisasi.

Kami juga mempunyai dua pasukan teknikal yang sebenarnya menggerakkan bit dan bait. Mereka lebih berkaitan secara langsung dengan peralatan. Kami mempunyai banyak peralatan, dan pasukan ini tidak menggunakan virtualisasi dan bekas.

Kami cuba mengikuti apa yang berlaku dalam industri, mengkaji pemacu CSI Kubernetes, dan juga bekerjasama rapat dengan pasukan yang melaksanakan Kubernetes di Bloomberg untuk menilai sama ada kami boleh menjadikan storan Kubernetes berfungsi secara konsisten dengan teknologi yang kami ada, dan kami telah ia berfungsi. Kami menggunakan SDS untuk menyokong Kubernetes yang disambungkan ke storan berterusan. Kami telah berjaya membangunkan teknologi ini dan perbincangan diteruskan antara kedua-dua pasukan tentang cara kami boleh menyediakan ini kepada orang lain di Bloomberg. Kami telah menunjukkan bahawa ini sangat mungkin.

Apakah perisian sumber terbuka lain yang anda gunakan, terutamanya untuk penyimpanan?

Kami menggunakan Apache Airflow, HAProxy untuk mengehadkan trafik aplikasi. Kami juga menggunakan Ceph, platform untuk SDS. Dengan itu, anda boleh mempunyai satu sistem untuk arahan, tetapi menyediakan berbilang antara muka kepada pelanggan. Salah satu platform virtualisasi berjalan pada OpenStack - kami bekerjasama rapat dengan pasukan ini. Kami mempunyai platform virtualisasi sumber terbuka yang menggunakan platform SDS sumber terbuka untuk penyimpanan. Ianya kelakar.

Apakah teknologi storan yang anda pertimbangkan untuk dua hingga tiga tahun akan datang?

Kami sentiasa melihat perkara baharu lain yang hebat yang berlaku dalam industri storan. Ini adalah sebahagian daripada kerja kami, bukan "ini SAN anda, urus di sini, dan ini NFS anda, urus di sana." Kami cuba berkomunikasi dengan pelanggan kami, i.e. oleh pembangun aplikasi kami. Kami bekerjasama untuk memahami masalah yang mereka cuba selesaikan dan bagaimana ia akan memberi kesan kepada pelanggan Bloomberg luaran kami - bank dan lain-lain yang menggunakan perisian kami. Dan kemudian kami kembali ke dunia penyimpanan data untuk mencari peluang untuk membantu mereka mencapai matlamat mereka. Bagaimanakah kami boleh membantu mereka mencari teknologi storan yang sesuai yang sesuai dengan SLA mereka atau perkara yang mereka cuba lakukan? Kerana kami mempunyai ramai jurutera yang melakukan perkara yang menarik, ia tidak pernah membosankan.

Kami sedang mencari cara untuk meningkatkan prestasi untuk SDS yang berpotensi berjalan pada pelayan tujuan umum. Jadi kami sedang mengusahakan NVMe melalui TCP, ini adalah inisiatif yang sangat menarik dan hebat, salah satu daripada banyak. Kami juga bekerjasama dengan orang penting dalam industri dan beberapa pembekal sedia ada untuk mengetahui apa yang mereka tawarkan dan prestasi sebenar, sama ada kami boleh mula menggunakannya dalam pengeluaran di syarikat. Ini membuka ufuk baharu yang tidak boleh diakses sebelum ini.

Sedikit bantuan dalam PS

PS Jika boleh, saya ingin mengingatkan anda bahawa 28-30 September akan diadakan Pangkalan Kubernetes yang intensif, bagi mereka yang tidak mengenali Kubernetes, tetapi ingin berkenalan dengannya dan mula bekerja dengannya.

Sumber: www.habr.com

Tambah komen