ProHoster > وبلاگ > اداره > تیم پشتیبانی ذخیره سازی بلومبرگ به منبع باز و SDS متکی است
تیم پشتیبانی ذخیره سازی بلومبرگ به منبع باز و SDS متکی است
TL؛ DR: تیم مهندسی ذخیرهسازی بلومبرگ فضای ذخیرهسازی ابری را برای استفاده داخلی ایجاد کرد که با زیرساختها تداخلی ندارد و میتواند بار سنگین نوسانات معاملاتی در طول همهگیری را تحمل کند.
متیو لئونارد، زمانی که در مورد کار خود به عنوان مدیر فنی در تیم مهندسی ذخیره سازی بلومبرگ صحبت می کند، اغلب از کلمات "چالش برانگیز" و "سرگرم کننده" استفاده می کند. چالشها از دامنه وسیع ذخیرهسازی، از جدیدترین آرایههای SAN مبتنی بر NVMe گرفته تا ذخیرهسازی تعریفشده توسط نرمافزار منبع باز در DevOps ناشی میشوند. اینجاست که "سرگرمی" شروع می شود (به آواتار من در Habré مراجعه کنید، تقریبا مترجم).
لئونارد و تیم 25 همکارش بر بیش از 100 پتابایت ظرفیت و یک ابر داخلی برای 6000 مهندس که برنامههای کاربردی برای ترمینال بلومبرگ را توسعه میدهند، نظارت میکنند، فناوری که مایکل بلومبرگ را میلیاردر کرد. این تیم سیستم های ذخیره سازی را برای مهندسی بلومبرگ طراحی، می سازد و نگهداری می کند.
مانند بقیه حرفه IT، سال 2020 برای اعضای تیم مهندسی ذخیره سازی سال غیرمعمولی بود زیرا COVID-19 آنها را مجبور به کار از راه دور کرد. لئونارد گفت که این بیماری همه گیر بر "تیم فشرده" او از نظر اجتماعی تأثیر گذاشته است زیرا تعاملات چهره به چهره از بین رفته است، اما کارکنان خیلی سریع با کار از خانه روی لپ تاپ و کنفرانس ویدیویی سازگار شده اند.
با کمال تعجب، می خواهم بگویم که این باعث بدتر شدن اوضاع نشد. یک دوره انطباق کوتاه وجود داشت - همه آماده کار از خانه نبودند. بعد از یکی دو هفته همه این را فهمیدند. ما توانستیم راههایی برای مشغول نگهداشتن خود، خرید و ارتقاء تجهیزات و افزایش هزینهها برای حمایت از شرکت در این زمانها پیدا کنیم. باید خلاقیت به خرج می دادیم، اما آسیبی ندیدیم
بزرگترین چالش ممکن است قبل از اوج COVID-19 باشد. این به دلیل نوسانات معاملات بازار به دلیل نگرانی در مورد تأثیر همه گیری بر اقتصاد جهانی بود. حجم داده های وارد شده به پایانه های بلومبرگ از بازارهای سرمایه جهانی تقریباً دو برابر شد و در برخی از روزهای اواخر مارس به 240 میلیارد قطعه اطلاعات رسید. این یک آزمایش جدی برای سیستم های ذخیره سازی است.
وقتی فوراً نیازهای ذخیره سازی خود را در یک روز دو برابر کنید، مشکلات جالبی ایجاد می کند. ما توانستیم بر این مسئله غلبه کنیم و اطمینان حاصل کنیم که تیم های توسعه اپلیکیشن فضا و عملکرد مورد نیاز خود را دارند. بیشتر اینها به نحوه تفکر ما در مورد سیستم های ذخیره سازی مربوط می شود. امروز ما چیزی خلق نمی کنیم. ما نمی گوییم، "ما از ABC استفاده می کنیم، بنابراین زیرساخت های ABC را ایجاد خواهیم کرد." ما کاری را که «بودجهگذاری داده» مینامیم، با تیمهای خود برای پیشبینی استفاده، تحلیل روند استفاده و عملکرد انجام میدهیم و همچنین امنیت را بررسی میکنیم. این نوع برنامهریزی، تفکر و دقت روشمند به ما امکان میدهد تا بدون عرق کردن، در مورد نوسانات شدید اقدام کنیم. البته اعصابم خورد شده بود اما در جای خودم احساس راحتی می کردم.
لئونارد اخیراً با SearchStorage در مورد مدیریت فضای ذخیره سازی برای مشاغل مبتنی بر داده صحبت کرده است. او در مورد آنچه که برای ارائه یک راه حل ذخیره سازی ابری خصوصی با قابلیت ارائه ویژگی های AWS به کاربرانش در حین نگهداری هرگونه داده در مراکز داده بلومبرگ نیاز است، بحث کرد.
اگر دیگر یک بیماری همه گیر وجود نداشته باشد، مهندسان بلومبرگ با مدیریت ذخیره سازی چه مشکلاتی دارند؟
ما نیازهای زیادی داریم، ما به سادگی در جهات مختلف پاره شده ایم. بنابراین ما باید انواع مختلفی از محصولات را در سطوح مختلف SLA ارائه کنیم تا به توسعه دهندگان برنامه کمک کنیم تا به جای نگرانی در مورد ذخیره سازی، روی وظایف خود تمرکز کنند.
و چه استراتژی برای این کار دنبال می کنید؟
بخشی از کاری که ما سعی می کنیم انجام دهیم بهبود عملکرد ذخیره سازی است. به مدل AWS فکر کنید که در آن یک مهندس توسعه وارد میشود، دکمهای را فشار میدهد و سپس «کلیک» بهطور جادویی نوع ذخیرهسازی مناسب را برای حل مشکل خود دریافت میکند.
زیرساخت ذخیره سازی شما چگونه به نظر می رسد؟
از آنجا که ما یک اکوسیستم بسیار متنوع و توسعه دهندگان مختلف داریم، نمی توانیم یک محصول واحد ارائه دهیم. ما ذخیره سازی شی، فایل و بلوک داریم. اینها محصولات متفاوتی هستند و ما انواع مختلفی از فناوری ها را برای ارائه آنها ارائه می دهیم. برای بلوک از SAN استفاده می کنیم. ما همچنین SDS داریم که گزینه ذخیره سازی بلوک دیگری را با مجموعه ای از الزامات عملکرد متفاوت ارائه می دهد. برای فایل ها از NFS استفاده می کنیم. SDS همچنین برای ذخیره سازی اشیا استفاده می شود. قطعات بلوک و شی یک ابر خصوصی داخلی برای محاسبات و ذخیره سازی تشکیل می دهند.
پس از ذخیره سازی ابری عمومی استفاده نمی کنید؟
درست است. برخی از تیم های توسعه اجازه استفاده از ابرهای عمومی را دارند. اما به دلیل ماهیت کسب و کارمان، ترجیح می دهیم کنترل بیشتری بر چیزهایی که از دیوارهایمان خارج می شوند داشته باشیم. بنابراین بله، ما ابرهای خود را داریم که تحت کنترل ما هستند. این تجهیزاتی است که در مرکز داده ما تحت مدیریت ما قرار دارد.
در مراکز داده خود، ما استراتژی چند فروشنده را ترجیح می دهیم. آنها تامین کنندگان بزرگی هستند، اما ما نمی گوییم دقیقا چه کسی (سیاست بلومبرگ این است که هیچ تامین کننده ای را تایید نکند، تقریبا مترجم).
آیا از زیرساخت های ابرهمگرا برای ساخت ابر خصوصی خود استفاده می کنید؟
خیر ما در بلومبرگ در حال انتخاب جهتی هستیم که به سمت ابرهمگرایی حرکت نمی کنیم. ما سعی می کنیم محاسبات را از فضای ذخیره جدا کنیم تا بتوانیم آنها را به طور مستقل مقیاس کنیم. جهتی که ما در آن حرکت می کنیم، به خصوص با ابر خود، این است که بتوانیم آن دو موجود را از هم جدا کنیم. و همه به این دلیل که برخی چیزها در کشور ما نیاز به محاسبات فشرده دارند، در حالی که برخی دیگر نیاز به ذخیره سازی دارند. اگر آنها را به طور مساوی مقیاس کنید، بدون توجه به پول، فضای موجود در مراکز داده یا با خرید ظرفیتی که به آن نیاز ندارید، منابع را از دست خواهید داد. به همین دلیل است که ما دوست داریم یک رابط مشترک بین این دو نهاد داشته باشیم، اما سیستمهای کاملاً متفاوتی داشته باشند و توسط تیمهای مختلف مدیریت شوند.
برای ساختن یک ابر خصوصی باید بر چه موانعی غلبه کرد؟
مشکل مقیاس مانند بسیاری از چیزها، شیطان در جزئیات است. وقتی به این فکر می کنید که این چیزها چگونه کار می کنند، چگونه آنها را انعطاف پذیر کنید، چگونه بار عملیاتی را مدیریت کنید، چگونه با تیم های دارایی فیزیکی ارتباط برقرار می کنید، همه چیز کمی جالب می شود. چالش این است که راهی پیدا کنیم تا همه چیز را به محصولی مقیاسپذیر و قابل پشتیبانی تبدیل کنیم که توسعهدهندگان برنامههای ما میخواهند از آن استفاده کنند و قادر باشند مجموعه ویژگیها را غنی کنند و در عین حال در لبه کاری که ابر عمومی انجام میدهد باقی بمانند. و همچنین همه را با هم جمع کنیم تا به کار خود ادامه دهد. این مشکل اصلی ما است - ما در تمام زمینه های کسب و کار کار می کنیم، سعی می کنیم همه نیازها را برآورده کنیم، اما نیازهای دیگر را نادیده نمی گیریم.
آیا فکر می کنید به آخرین ویژگی های موجود در AWS و سایر ابرهای عمومی نیاز دارید؟
جالب ترین واقعیت در مورد S3 این است که استاندارد زندگی دائما در حال تغییر است، ویژگی های جدید همیشه اضافه می شود. مثل یک اسباب بازی جدید است. اگر شخصی ویژگی جدیدی را در نسخه جدید ببیند، آن را می خواهد. همه ویژگیهای AWS در محیط ما قابل اجرا نیستند، بنابراین مهم و جالب است که بدانیم چه چیزی به توسعهدهندگان کمک میکند و چگونه میتوان آن را به صورت داخلی دریافت کرد.
از چه تجهیزات ذخیره سازی استفاده می کنید؟
ما از جدیدترین تجهیزات استفاده می کنیم. ابر داخلی ما کاملاً مبتنی بر NVMe Flash است که این سیستم ها را بسیار قدرتمند می کند. این کار زندگی ما را کمی آسانتر میکند، و همچنین یک ویژگی خوب برای توسعهدهندگان ما است، زیرا آنها نیازی به نگرانی در مورد عملکرد ذخیرهسازی ندارند.
از ذخیره سازی اشیا برای چه چیزی استفاده می کنید؟
ما 6000 توسعه دهنده داریم که روی زیرساخت کار می کنند، آنها با هیچ مورد استفاده متحد نیستند. هر گزینه ای که فکرش را بکنید، احتمالاً آن را در ذخیره سازی اشیاء داریم. برخی از تیم ها از آن برای ذخیره سازی آرشیو سرد، برخی برای انتقال داده ها و برخی دیگر برای برنامه های کاربردی تراکنش استفاده می کنند. همه این موارد استفاده به سطوح مختلف SLA نیاز دارند، بنابراین همانطور که می بینید، ما انواع مختلفی از ترافیک، انواع نیازها را برای کاربران مختلف زیرساخت خود داریم. این یک مورد استفاده همگن نیست که در بالای هر یک از فضای ذخیرهسازی ما اجرا میشود، که بدیهی است همه چیز را پیچیدهتر میکند.
Kubernetes و کانتینرها چقدر برای شما نقش مهمی دارند و چه تاثیری بر ذخیره سازی دارند؟
ما بهرهوری ذخیرهسازی را برای ایجاد حس ابر، حس چیزی بهعنوان یک سرویس، تحت فشار قرار میدهیم، جایی که دکمهای برای توسعهدهندگان وجود دارد که مهارت خود را تسریع کنند و زیرساختها را در طول مسیر حذف کنند.
NB سردبیر: 15 اکتبر 2020 آماده خواهد شد دوره ویدیویی Ceph. فن آوری ذخیره سازی شبکه Ceph را برای استفاده در پروژه های خود برای بهبود تحمل خطا یاد خواهید گرفت.
ما سه تیم داریم، اولین تیم ذخیرهسازی API است. آنها دسترسی برنامهای، نقاط پایانی و گردشهای کاری از پیش تعریفشده را برای مشتریان توسعه برنامه در بلومبرگ ایجاد میکنند. این یک تیم از توسعه دهندگان وب کامل است، آنها از node.js، python، فناوری های منبع باز مانند Apache Airflow استفاده می کنند، بنابراین آنها Containerization و مجازی سازی را مطالعه می کنند.
ما همچنین دو تیم فنی داریم که در واقع بیت ها و بایت ها را جابجا می کنند. آنها به طور مستقیم با تجهیزات مرتبط هستند. ما تجهیزات زیادی داریم و این تیم ها از مجازی سازی و کانتینر استفاده نمی کنند.
ما در تلاش هستیم تا با آنچه در این صنعت اتفاق میافتد همراه باشیم، درایورهای Kubernetes CSI را مطالعه میکنیم و همچنین با تیم پیادهسازی Kubernetes در بلومبرگ از نزدیک همکاری میکنیم تا ارزیابی کنیم که آیا میتوانیم ذخیرهسازی Kubernetes را مطابق با فناوریهایی که داریم و داریم کار کنیم. کار میکنه ما از SDS برای پشتیبانی از Kubernetes متصل به حافظه دائمی استفاده می کنیم. ما این فناوری را با موفقیت توسعه دادهایم و بحثها بین دو تیم در مورد اینکه چگونه میتوانیم این فناوری را در دسترس همه افراد دیگر در بلومبرگ قرار دهیم ادامه دارد. ما نشان دادیم که این کاملا امکان پذیر است.
از چه نرم افزار منبع باز دیگری به خصوص برای ذخیره سازی استفاده می کنید؟
ما از Apache Airflow، HAProxy برای محدود کردن ترافیک برنامه استفاده می کنیم. ما همچنین از Ceph، یک پلتفرم برای SDS استفاده می کنیم. با استفاده از آن، می توانید یک سیستم برای دستورات داشته باشید، اما چندین رابط را به مشتریان ارائه دهید. یکی از پلتفرم های مجازی سازی روی OpenStack اجرا می شود - ما از نزدیک با این تیم کار می کنیم. ما یک پلت فرم مجازی سازی منبع باز داریم که از پلتفرم منبع باز SDS برای ذخیره سازی استفاده می کند. جالبه.
چه فناوری های ذخیره سازی را برای دو تا سه سال آینده در نظر می گیرید؟
ما همیشه به دنبال چیزهای جالب دیگری هستیم که در صنعت ذخیره سازی اتفاق می افتد. این بخشی از کار ما است، "اینجا SAN شماست، اینجا مدیریت کنید، و اینجا NFS شماست، آنجا مدیریت کنید." ما سعی می کنیم با مشتریان خود ارتباط برقرار کنیم، یعنی. توسط توسعه دهندگان برنامه ما ما با هم کار می کنیم تا بفهمیم آنها در حال تلاش برای حل چه مشکلاتی هستند و چگونه بر مشتریان خارجی بلومبرگ ما - بانک ها و سایرین که از نرم افزار ما استفاده می کنند - تأثیر می گذارد. و سپس به دنیای ذخیره سازی داده ها برمی گردیم تا فرصت هایی را برای کمک به آنها در دستیابی به هدفشان پیدا کنیم. چگونه میتوانیم به آنها کمک کنیم فناوری ذخیرهسازی مناسبی را پیدا کنند که با SLA آنها یا کاری که میخواهند انجام دهند مناسب باشد؟ از آنجایی که ما مهندسان زیادی داریم که کارهای جالبی انجام می دهند، هرگز خسته کننده نمی شود.
ما در حال حاضر به دنبال راه هایی برای بهبود عملکرد SDS هستیم که به طور بالقوه می تواند بر روی سرورهای همه منظوره اجرا شود. بنابراین ما در حال کار بر روی NVMe از طریق TCP هستیم، این یک ابتکار بسیار جالب و جالب است، یکی از بسیاری از موارد. ما همچنین با افراد کلیدی در صنعت و برخی از تامین کنندگان موجود کار می کنیم تا بفهمیم آنها چه چیزی را ارائه می دهند و عملکرد واقعی آنها چگونه خواهد بود، آیا می توانیم از آن در تولید در شرکت استفاده کنیم یا خیر. این امر افق های جدیدی را باز می کند که قبلاً در دسترس نبودند.
کمی کمک در PS
PS اگر اجازه داشته باشم یادآور می شوم که 28 الی 30 سپتامبر برگزار می شود پایگاه فشرده Kubernetes، برای کسانی که Kubernetes را نمی شناسند، اما می خواهند با آن آشنا شده و شروع به کار کنند.