يعتمد فريق دعم التخزين في Bloomberg على المصدر المفتوح وSDS

يعتمد فريق دعم التخزين في Bloomberg على المصدر المفتوح وSDS

TL؛ DR: أنشأ فريق Bloomberg Storage Engineering تخزينًا سحابيًا للاستخدام الداخلي لا يتعارض مع البنية التحتية ويمكنه تحمل العبء الثقيل لتقلبات التداول أثناء الوباء.

عندما يتحدث ماتيو ليونارد عن عمله كمدير فني في فريق هندسة التخزين في بلومبرج، غالبًا ما يستخدم كلمتي "التحدي" و"المرح". تنشأ التحديات من النطاق الواسع للتخزين، بدءًا من أحدث مصفوفات SAN المستندة إلى NVMe وحتى التخزين المعرفة بالبرمجيات مفتوحة المصدر في DevOps. هذا هو المكان الذي تبدأ فيه "المتعة" (انظر الصورة الرمزية الخاصة بي على حبري، تقريبا. مترجم).

يشرف ليونارد وفريقه المكون من 25 زميلًا على أكثر من 100 بيتابايت من السعة وسحابة داخلية لـ 6000 مهندس يقومون بتطوير تطبيقات لـ Bloomberg Terminal، وهي التكنولوجيا التي جعلت مايكل بلومبرج مليارديرًا. يقوم الفريق بتصميم وبناء وصيانة أنظمة التخزين لشركة Bloomberg Engineering.

مثل بقية العاملين في مجال تكنولوجيا المعلومات، كان عام 2020 عامًا غير عادي بالنسبة لأعضاء فريق هندسة التخزين حيث أجبرهم فيروس كورونا (COVID-19) على العمل عن بعد. وقال ليونارد إن الوباء أثر على "فريقه المتماسك" اجتماعياً حيث تم القضاء على التفاعلات وجهاً لوجه، لكن الموظفين تكيفوا بسرعة كبيرة مع العمل من المنزل على أجهزة الكمبيوتر المحمولة ومؤتمرات الفيديو.

ومن المثير للدهشة أنني أريد أن أقول إن هذا لم يجعل الأمور أسوأ. كانت هناك فترة تكيف قصيرة - ولم يكن الجميع على استعداد للعمل من المنزل. وبعد أسبوع أو أسبوعين فهم الجميع هذا. لقد تمكنا من إيجاد طرق لإبقاء أنفسنا مشغولين، وشراء المعدات وترقيتها، وزيادة التكاليف لدعم الشركة خلال هذه الأوقات. كان علينا أن نكون مبدعين، لكننا لم نتأذى

ربما كان التحدي الأكبر قد سبق ذروة كوفيد-19. ويعود ذلك إلى تقلبات التداول في السوق بسبب المخاوف بشأن تأثير الوباء على الاقتصاد العالمي. تضاعف حجم البيانات المتدفقة إلى محطات بلومبرج من أسواق رأس المال العالمية تقريبًا، ليصل إلى 240 مليار قطعة من المعلومات في بعض الأيام في أواخر مارس. هذا اختبار جدي لأنظمة التخزين.

عندما تقوم بمضاعفة متطلبات التخزين الخاصة بك على الفور في يوم واحد، فإن ذلك يخلق مشاكل مثيرة للاهتمام. لقد تمكنا من التغلب على هذه المشكلة والتأكد من منح فرق تطوير التطبيقات المساحة والأداء الذي يحتاجون إليه. يتعلق معظم هذا بكيفية تفكيرنا في أنظمة التخزين. اليوم نحن لا نخلق أي شيء. نحن لا نقول، "نحن نستخدم ABC، لذلك سنقوم ببناء البنية التحتية لـ ABC." نحن نقوم بما نسميه "ميزنة البيانات" مع فرقنا للتنبؤ بالاستخدام، وتحليل اتجاهات الاستخدام والأداء، وننظر أيضًا إلى الأمان. يتيح لنا هذا النوع من التخطيط والتفكير والعناية الواجبة المنهجية اتخاذ إجراءات جذرية بشأن الزيادات دون بذل أي جهد. بالطبع، كنت متوترة، لكني شعرت بالراحة لوجودي في مكاني.

تحدث ليونارد مؤخرًا مع SearchStorage بالتفصيل حول إدارة التخزين للشركات التي تعتمد على البيانات. وناقش ما يتطلبه تقديم حل تخزين سحابي خاص، مع القدرة على توفير ميزات AWS لمستخدميها مع الاحتفاظ بأي بيانات في مراكز بيانات بلومبرج.

إذا لم يعد هناك جائحة، فما هي الصعوبات التي يواجهها مهندسو بلومبرج في إدارة التخزين؟

لدينا العديد من الاحتياجات، نحن ببساطة ممزقون في اتجاهات مختلفة. لذلك نحن بحاجة إلى توفير العديد من أنواع المنتجات المختلفة بمستويات مختلفة لاتفاقية مستوى الخدمة (SLA) لمساعدة مطوري التطبيقات لدينا على التركيز على مهامهم بدلاً من القلق بشأن التخزين نفسه.

وما هي الإستراتيجية التي تتبعها لذلك؟

جزء مما نحاول القيام به هو تحسين أداء التخزين. فكر في نموذج AWS حيث يدخل مهندس التطوير، ويضغط على زر، ثم "ينقر" بطريقة سحرية للحصول على نوع التخزين المناسب لحل مشكلته.

كيف تبدو البنية التحتية للتخزين لديك؟

نظرًا لأن لدينا نظامًا بيئيًا متنوعًا للغاية والعديد من المطورين المختلفين، لا يمكننا تقديم منتج واحد. لدينا تخزين الكائنات والملفات والكتلة. هذه منتجات مختلفة ونحن نقدم أنواعًا مختلفة من التقنيات لتقديمها. للكتلة نستخدم SAN. لدينا أيضًا SDS، والذي يوفر خيارًا آخر لتخزين الكتل مع مجموعة مختلفة من متطلبات الأداء. للملفات نستخدم NFS. يتم استخدام SDS أيضًا لتخزين الكائنات. تشكل أجزاء الكتلة والكائن سحابة داخلية خاصة للحوسبة والتخزين.

إذن أنت لا تستخدم التخزين السحابي العام؟

صحيح. بعض فرق التطوير لديها إذن لاستخدام السحابة العامة. ولكن بسبب طبيعة عملنا، فإننا نفضل أن يكون لدينا المزيد من السيطرة على الأشياء التي تترك جدراننا. لذا، نعم، لدينا سحبنا الخاصة التي هي تحت سيطرتنا. هذه هي المعدات الموجودة في مركز البيانات لدينا تحت إدارتنا.

في مراكز البيانات لدينا، نفضل استراتيجية تعدد البائعين. إنهم موردون كبار، لكننا لن نذكر من هو بالضبط (إن سياسة بلومبرج هي عدم تأييد أي مورد، تقريبا. مترجم).

هل تستخدم بنية أساسية متقاربة للغاية لبناء السحابة الخاصة بك؟

لا. نحن في بلومبرج نختار الاتجاه الذي لا نتحرك فيه نحو التقارب المفرط. نحن نحاول فصل الحوسبة عن مساحة التخزين حتى نتمكن من توسيع نطاقها بشكل مستقل. الاتجاه الذي نتحرك فيه، خاصة مع سحابتنا، هو أن نكون قادرين على فصل هذين الكيانين. وكل ذلك لأن بعض الأشياء في بلدنا تتطلب حسابات مكثفة والبعض الآخر يتطلب التخزين. إذا قمت بتوسيعها بالتساوي، فسوف تفقد الموارد، بغض النظر عن المال، أو المساحة في مراكز البيانات، أو عن طريق شراء السعة التي لا تحتاج إليها. ولهذا السبب نود أن تكون لدينا واجهة مشتركة بين الكيانين، ولكن يجب أن يكون نظامهما مختلفًا تمامًا وتتم إدارتهما بواسطة فرق مختلفة.

ما هي العقبات التي يجب التغلب عليها لبناء سحابة خاصة؟

مشكلة الحجم. كما هو الحال مع معظم الأشياء، الشيطان يكمن في التفاصيل. عندما تفكر في كيفية عمل هذه الأشياء، وكيفية جعلها مرنة، وكيفية التعامل مع العبء التشغيلي، وكيفية التواصل مع فرق الأصول المادية، تصبح الأمور مثيرة للاهتمام بعض الشيء. ويتمثل التحدي في إيجاد طريقة لجعل كل شيء منتجًا قابلاً للتطوير وقابلاً للدعم ويرغب مطورو التطبيقات لدينا في استخدامه، مع القدرة على إثراء مجموعة الميزات مع البقاء على اطلاع بأحدث ما تفعله السحابة العامة. وأيضًا تجميع كل ذلك معًا حتى يستمر في العمل. هذه هي مشكلتنا الرئيسية - فنحن نعمل في جميع مجالات العمل، ونحاول تلبية جميع الاحتياجات، ولكن دون تجاهل الاحتياجات الأخرى.

هل تعتقد أنك بحاجة إلى أحدث الميزات المتوفرة في AWS والسحابات العامة الأخرى؟

الحقيقة الأكثر متعة حول S3 هي أن مستوى المعيشة يتغير باستمرار، ويتم دائمًا إضافة ميزات جديدة. إنها مثل لعبة جديدة. إذا رأى شخص ما ميزة جديدة في إصدار جديد، فهو يريدها. ليست كل ميزات AWS قابلة للتطبيق في بيئتنا، لذلك من المهم والمثير للاهتمام معرفة ما سيساعد المطورين وكيفية الحصول عليه داخليًا.

ما هي معدات التخزين التي تستخدمها؟

نحن نستخدم أحدث المعدات. تعتمد سحابتنا الداخلية بالكامل على NVMe Flash، مما يجعل هذه الأنظمة قوية جدًا. إنها تجعل حياتنا أسهل قليلاً، كما أنها ميزة رائعة للمطورين لدينا لأنه لا داعي للقلق بشأن أداء التخزين.

ما الذي تستخدمه لتخزين الكائنات؟

لدينا 6000 مطور يعملون في البنية التحتية، ولا يجمعهم أي حالة استخدام واحدة. أي خيار يمكنك التفكير فيه، ربما يكون لدينا في تخزين الكائنات. تستخدمه بعض الفرق للتخزين الأرشيفي البارد، والبعض الآخر لنقل البيانات، والبعض الآخر يستخدمه لتطبيقات المعاملات. تتطلب كل حالات الاستخدام هذه مستويات مختلفة من اتفاقية مستوى الخدمة (SLA)، لذا كما ترون، لدينا أنواع مختلفة من حركة المرور، وجميع أنواع الاحتياجات لمختلف مستخدمي بنيتنا التحتية. هذه ليست حالة استخدام متجانسة يتم تشغيلها فوق أي وحدة تخزين لدينا، مما يجعل الأمور أكثر تعقيدًا بشكل واضح.

ما هو حجم الدور الذي يلعبه Kubernetes والحاويات بالنسبة لك، وكيف يؤثر ذلك على التخزين؟

نحن ندفع إنتاجية التخزين لخلق إحساس بالسحابة، وإحساس بشيء كخدمة، حيث يوجد زر للمطورين لتسريع أعمالهم وإزالة البنية التحتية على طول الطريق.

محرر n.b.: 15 أكتوبر 2020 سيكون جاهزا دورة فيديو سيف. سوف تتعلم تقنية تخزين شبكة Ceph لاستخدامها في مشاريعك لتحسين القدرة على تحمل الأخطاء.

لدينا ثلاثة فرق، الأول هو فريق API للتخزين. إنهم يوفرون الوصول البرمجي ونقاط النهاية وسير العمل المحدد مسبقًا لعملاء تطوير التطبيقات في Bloomberg. هذا فريق من مطوري الويب ذوي المكدس الكامل، ويستخدمون تقنيات Node.js وPython وتقنيات مفتوحة المصدر، مثل Apache Airflow، لذا فهم يدرسون النقل بالحاويات والمحاكاة الافتراضية.

لدينا أيضًا فريقان تقنيان يقومان بالفعل بنقل البتات والبايتات. هم أكثر ارتباطا مباشرة بالمعدات. لدينا الكثير من المعدات، وهذه الفرق لا تستخدم المحاكاة الافتراضية والحاويات.

نحن نحاول مواكبة ما يحدث في الصناعة، ودراسة برامج تشغيل Kubernetes CSI، وكذلك العمل بشكل وثيق مع الفريق الذي ينفذ Kubernetes في Bloomberg لتقييم ما إذا كان بإمكاننا جعل تخزين Kubernetes يعمل بشكل متسق مع التقنيات المتوفرة لدينا، ولدينا انها تعمل. نحن نستخدم SDS لدعم Kubernetes المتصل بالتخزين المستمر. لقد نجحنا في تطوير هذه التكنولوجيا، وتستمر المناقشات بين الفريقين حول كيفية جعلها متاحة للجميع في بلومبرج. لقد أظهرنا أن هذا ممكن تماما.

ما هي البرامج الأخرى مفتوحة المصدر التي تستخدمها، خاصة للتخزين؟

نحن نستخدم Apache Airflow، HAProxy للحد من حركة مرور التطبيقات. نحن نستخدم أيضًا Ceph، وهي منصة لـ SDS. باستخدامه، يمكنك الحصول على نظام واحد للأوامر، مع توفير واجهات متعددة للعملاء. تعمل إحدى منصات المحاكاة الافتراضية على OpenStack - ونحن نعمل بشكل وثيق مع هذا الفريق. لدينا منصة افتراضية مفتوحة المصدر تستخدم منصة SDS مفتوحة المصدر للتخزين. هذا ممتع.

ما هي تقنيات التخزين التي تفكر فيها خلال السنتين أو الثلاث سنوات القادمة؟

نحن نتطلع دائمًا إلى أشياء جديدة رائعة أخرى تحدث في صناعة التخزين. هذا جزء من عملنا، وليس "هنا شبكة SAN الخاصة بك، قم بالإدارة هنا، وهنا NFS الخاص بك، قم بالإدارة هناك." نحن نحاول التواصل مع عملائنا، أي. من قبل مطوري التطبيقات لدينا. نحن نعمل معًا لفهم المشكلات التي يحاولون حلها وكيف ستؤثر على عملاء بلومبرج الخارجيين - البنوك وغيرها من الشركات التي تستخدم برامجنا. ومن ثم نعود إلى عالم تخزين البيانات لنجد الفرص التي تساعدهم على تحقيق هدفهم. كيف يمكننا مساعدتهم في العثور على تقنية التخزين المناسبة التي تناسب اتفاقية مستوى الخدمة الخاصة بهم أو ما يحاولون القيام به؟ نظرًا لأن لدينا الكثير من المهندسين الذين يقومون بأشياء رائعة، فلا يصبح الأمر مملًا أبدًا.

نحن نبحث حاليًا عن طرق لتحسين أداء SDS التي من المحتمل أن تعمل على خوادم للأغراض العامة. لذلك نحن نعمل على NVMe عبر TCP، وهي مبادرة مثيرة للاهتمام ورائعة للغاية، وهي واحدة من مبادرات كثيرة. نحن نعمل أيضًا مع الأشخاص الرئيسيين في الصناعة وبعض الموردين الحاليين لمعرفة ما يقدمونه وما هو الأداء الفعلي، وما إذا كان بإمكاننا البدء في استخدامه في الإنتاج في الشركة. وهذا يفتح آفاقًا جديدة لم يكن من الممكن الوصول إليها من قبل.

القليل من المساعدة في PS

ملاحظة: إذا جاز لي، أود أن أذكركم أنه سيتم عقده في الفترة من 28 إلى 30 سبتمبر قاعدة Kubernetes المكثفة، لأولئك الذين لا يعرفون Kubernetes، ولكنهم يريدون التعرف عليه والبدء في العمل معه.

المصدر: www.habr.com

إضافة تعليق