اجزای تشکیل دهنده Open Stack (بخش دوم)

در مقاله قبل اجزا و پروژه‌های اصلی openstack که به طور رسمی توسط جامعه بزرگ اپن استک توسعه داده می شوند را معرفی کردیم. در این مقاله قصد داریم تا با سری دیگری از پروژه های جانبی openstack که توسط تیم های دیگر گسترش یافته اند و امکانات جدیدی را به محیط ابری اضافه می کنند، آشنا شویم. در این مقاله هفت پروژه فرعی که کاربردهای بیشتری در دنیای IT دارند معرفی می شوند. بخش Sahara: این پروژه به منظور ارائه چارچوب‌های پردازش داده های حجیم big data بر روی بستر openstack معرفی و توسعه یافته است و یکی از پروژه های نسبتا قدیمی openstack می باشد که عمری حدود ۵ ساله دارد. هدف از sahara ارائه سرویس BigData as a Sevice یا BDaaS است و چارچوب های پردازش دادهای حجیم مانند Apache Hadoop ،Apache Spark ،Apache Storm را در بستر ابر اپن‌استک ارائه می دهد. بخش Trove: این پروژه که یکی دیگر از پروژه‌ های نسبتا قدیمی openstack هست به منظور ارائه کامل پایگاه داده های رابطه ای و غیر رابطه ای بر روی بستر ابری طراحی شده است. این پروژه در واقع برای ارائه سرویس DataBase as a Service یا DBaaS بر روی openstack اضافه می شود و پیچیدگی های مربوط به مدیریت پایگاه داده را از دید کاربران و توسعه‌دهندگان مخفی می‌سازد. همچنین کاربران و مدیران پایگاه داده می توانند چندین دیتابیس مختلف را به راحتی دریافت و از آن ها استفاده کنند. بخش Magnum: جهت ارائه تکنولوژی کانتینر بر روی ابر openstack پروژه Magnum معرفی شده که موتور مدیریت کانتینر می باشد. این پروژه با کمک nova و با ایجاد ماشین های مجازی به عنوان هاست می تواند تکنولوژی docker به همراه نرم‌افزارهای مدیریت مختلف آن مانند docker swarm ،apache mesos ،kubernetes را در بستر ابری ارائه داده و Container as a Service را در نهایت به توسعه‌دهندگان ارائه می‌دهد. بخش Designate: این پروژه در واقع فراهم آورنده سرویس DNS‌ در بستر ابر است. این سرویس مانند سرویس های دیگر با REST API با سرویس‌های زیرساختی مانند neutron ارتباط برقرار کرده و می تواند به صورت خودکار رکورد های DNS را ثبت کند. به عبارت دیگر این پروژه با به کارگیری سرویسی مانند bind9 اقدام به ارائه خدمت DNS as a service یا DNSaaS می کند. بخش Manila: برای ارائه سرویس اشتراک گذاری فایل در بستر ابر، پروژه Malina معرفی شده است. این پروژه مبتنی بر Cinder بوده و با استفاده از آن دیسک‌های مجازی جهت ذخیره‌سازی فایل های کاربران ایجاد می‌کند.این سرویس با به کارگیری پروتکل های موجود مانند NFS ،CIFS ،SMB و ... جهت اشتراک گذاری و جابجایی فایل ها، سرویس ذخیره‌سازی و به اشتراک گذاری فایل را بر بستر ابر ارائه می کند. بخش Octavia: این پروژه جهت ارائه توزیع کننده بار یا همان LoadBalancer و انجام scaling در محیط ابر openstack معرفی شده و توسعه یافته است. این پروژه از LBaaS که توسط neutrun ارائه می‌شود، مجزا بوده و می توان گفت مرجع پیاده سازی LBaaS v2 می باشد و می تواند کار توزیع بار را بین instanceها، سرورهای bare metal(سرورهای فیزیکی که مانند یک nova instance به openstack معرفی شده است) و کانتینرها انجام دهد. از ویژگی برجسته ای که می توان برای این سرویس مطرح کرد، توزیع بار بر اساس تقاضا و انجام scaling به صورت افقی و به صورت هم زمان می‌باشد. این پروژه جهت انجام وظیفه خود، با دیگر اجزا مانند nova، neutron، keystone، glance و .... در تعامل است. بخش Barbican: پروژه barbican که نام دیگر آن سرویس مدیریت کلید است، جهت ذخیره، تولید و مدیریت موارد امنیتی مانند پسوردها، کلیدهای رمزنگاری متقارن و غیر متقارن، گواهی نامه های X.509 و.. به صورت امن به کار می رود.این سرویس برای محیط های ابری و بالابردن امینیت آنها بسیار مفید می باشند.تا اینجا معروف ترین و بزرگترین پروژه هایی که اقدام به پیاده سازی سرویس های مهم مانند کلان داده ها، پایگاه داده ها، کانتینرها، سرویس DNS، سیستم های اشتراک فایل، توزیع بار و scaling کرده‌اند را معرفی کردیم. البته پروژه های دیگری نیز برای برخی موارد بالا وجود دارد که به اندازه این پروژه ها معروف و بزرگ نبوده و در مقاله ای دیگر به صورت جداگانه معرفی خواهند شد. https://xaas.ir/ابرxaa