OpenStack یک سیستم عامل ابری است که برای کنترل منابع عمیق محاسباتی، شبکهای و ذخیرهسازی در یک مرکز داده استفاده میشود. OpenStack یک پلتفرم رایانش ابری رایگان و متن باز است و عمدتاً به عنوان زیرساخت به عنوان سرویس (IaaS) برای رایانش ابری پیادهسازی میشود.
OpenStack یک پلتفرم نرمافزاری است که از منابع مجازی متعدد برای مدیریت و ایجاد ابر عمومی و خصوصی استفاده میکند. خدمات مرتبط با ابر پیشفرض OpenStack شامل ذخیرهسازی، شبکه، هویت، خدمات تصویر و غیره است. کاربران میتوانند خدمات ارائه شده توسط OpenStack را از طریق ابزارهای خط فرمان، APIهای RESTful یا داشبورد مبتنی بر وب مدیریت کنند. علاوه بر این، OpenStack بسیاری از ماشینهای مجازی را مدیریت میکند که به کاربران اجازه میدهد تا از منابع فیزیکی کمتری استفاده کنند.
اصول پایه OpenStack
– **متن باز**: OpenStack تحت مجوز Apache 2.0 کدنویسی و منتشر شده است. Apache به کسبوکارها اجازه میدهد تا از OpenStack به صورت رایگان استفاده کنند.
– **طراحی باز**: گروه توسعه OpenStack هر شش ماه یک بار یک نشست طراحی برای بهروزرسانیهای آینده برگزار میکند.
– **توسعه باز**: توسعهدهندگان یک مخزن کد منبع قابل دسترسی آسان را حفظ میکنند. OpenStack مستندات شفاف و بازی را برای جامعه ارائه میدهد.
اجزای OpenStack
برخی از اجزای مهم OpenStack عبارتند از:
– **Nova**: موتور محاسباتی اصلی OpenStack که مسئول زمانبندی، ایجاد و خاتمه نمونهها است.
– **Swift**: خدمات ذخیرهسازی شیء.
– **Cinder**: خدمات ذخیرهسازی بلوکی.
– **Neutron**: خدمات شبکه.
– **Keystone**: خدمات هویت.
OpenStack به کاربران این امکان را میدهد که با استفاده از این اجزا، زیرساختهای ابری خود را بسازند و مدیریت کنند. این پلتفرم به طور گستردهای در صنایع مختلف برای کاربردهای متنوع مانند مخابرات، تحقیق، مالی و تجارت الکترونیک استفاده میشود.
OpenStack با فراهم کردن راهکارهای مقرون به صرفه، انعطافپذیری بالا، امنیت پیشرفته و پشتیبانی قوی از جامعه، به یکی از گزینههای اصلی برای ایجاد زیرساختهای ابری تبدیل شده است.
ذخیرهسازی شیء (Swift)
ماژول Swift به بازیابی و ذخیرهسازی دادههای دلخواه، مانند اشیاء، فایلها، پشتیبانها، ویدیوها، تصاویر، ماشینهای مجازی و سایر دادههای غیرساختاریافته در ابر کمک میکند. توسعهدهندگان میتوانند به جای مسیر فایل، از یک شناسه منحصر به فرد برای اشاره به اشیاء و فایلها استفاده کنند که به OpenStack اجازه میدهد تا مدیریت کند که فایلها کجا ذخیره شوند.
محاسبات (Nova)
Nova یک کنترلکننده است که به مدیریت خدمات و محصولات در محیطهای مجازیشده کمک میکند. این ماژول مسئول مدیریت بسیاری از ماشینهای مجازی و دیگر نمونههایی است که وظایف محاسباتی را انجام میدهند.
شبکهسازی (Quantum)
OpenStack از ماژول Quantum برای اهداف شبکهسازی استفاده میکند. این ماژول تمام پرسشهای مربوط به شبکه، مانند روترها، زیرشبکهها، مدیریت آدرسهای IP، VPNها، فایروالها و غیره را مدیریت میکند. همچنین Quantum تأیید میکند که تمام اجزای دیگر به خوبی با OpenStack متصل هستند.
ذخیرهسازی بلوکی (Cinder)
Cinder به طور سنتی برای اتصال و قطع اتصال یک هارد دیسک خارجی به سیستم عامل برای استفاده محلی خود عمل میکند. این ماژول به مدیریت افزودن، ایجاد و حذف فضای دیسک جدید در سرور کمک میکند. همچنین، ماژول ذخیرهسازی بلوکی فضای مجازی برای ماشینهای مجازی در سیستم ارائه میدهد.
داشبورد (Horizon)
داشبورد اولین ماژولی است که مشتری در OpenStack مشاهده میکند. سایر خدمات پشتیبان ارائه شده توسط OpenStack را میتوان از طریق Horizon (رابط کاربری وب) دسترسی پیدا کرد. توسعهدهندگان میتوانند از APIهای فردی OpenStack برای دسترسی به اجزا استفاده کنند. با این حال، مدیران سیستم از داشبورد برای بررسی و مدیریت خدمات در ابر استفاده میکنند.
خدمات تصویر (Glance)
این ماژول برای ارائه خدمات تصویر به OpenStack استفاده میشود. در OpenStack، خدمات تصویر به معنای نسخههای مجازی یا تصاویر دیسکهای سخت است. زمانی که یک کاربر قصد دارد یک نمونه ماشین مجازی جدید را مستقر کند، میتواند از این تصاویر به عنوان الگوها با کمک این ماژول استفاده کند. علاوه بر این، Glance اجازه میدهد تا تصاویر مجازی VMware (VMDK، OVF)، Virtual Box (VDI)، KVM (qcow2)، Raw و Hyper-V (VHD) را نیز استفاده کند.
خدمات هویت (Keystone)
در OpenStack، Keystone مخزن مرکزی است که اطلاعات کلیدی درباره کاربران و مجوزهای آنها را ذخیره میکند. ماژول Keystone برای مدیریت خدمات هویت مانند احراز هویت، مجوزدهی، سیستمهای مبتنی بر توکن، ورود به سیستم AWS Styles (خدمات وب آمازون) و سایر اعتبارنامهها (نام کاربری و رمز عبور) استفاده میشود.
سایر اجزای موجود در OpenStack
کاهش مقیاس الاستیک (Sahara)
این ماژول روشی ساده را برای کاربران ارائه میدهد تا خوشههای Hadoop را پیشبرنامهریزی کنند و گزینههای متعددی مانند توپولوژی خوشه و جزئیات سختافزاری گرهها، نسخه Hadoop و موارد دیگر را پیشنهاد دهد.
ارکستراسیون (Heat)
ماژول Heat به توسعهدهندگان اجازه میدهد تا نیازمندیهای برنامه ابری را به عنوان فایل ذخیره کنند تا اطمینان حاصل شود که تمام منابع ضروری در دسترس هستند. این ماژول بسیاری از برنامههای پیچیده ابری را از طریق الگوها با استفاده از Query API و OpenStack REST API محلی سازماندهی میکند.
تل متری (Ceilometer)
در OpenStack، این ماژول برای اندازهگیری و گزارش استفاده از منابع به مشتریان خود استفاده میشود. بنابراین اساساً تل متری خدمات صورتحساب را به کاربران OpenStack ارائه میدهد.
سیستم فایل مشترک (Manila)
Manila فضای ذخیرهسازی فایل برای یک ماشین مجازی در OpenStack ارائه میدهد. این ماژول زیرساختی برای تأمین و مدیریت فایلهای مشترک فراهم میکند.
مقایسه OpenStack با خدمات وب آمازون (AWS)
تفاوت بین OpenStack و AWS معمولاً بستگی به نیازهای خاص مشتری دارد. برخی از تفاوتها بین OpenStack و AWS عبارتند از:
– **مدل هزینه**: OpenStack رایگان است در حالی که AWS هزینههایی دارد.
– **کنترل**: OpenStack کنترل بیشتری بر روی زیرساخت فراهم میکند.
– **انعطافپذیری**: OpenStack امکان سفارشیسازی بیشتری نسبت به AWS دارد.
– **پشتیبانی جامعه**: OpenStack دارای جامعهای بزرگ از توسعهدهندگان است که به نوآوری مداوم کمک میکنند.
این تفاوتها باعث شدهاند که سازمانها بسته به نیازهای خاص خود یکی از این دو پلتفرم را انتخاب کنند.
نتیجهگیری
این آموزش تاریخچه، اصول و اجزای OpenStack را ارائه میدهد. امیدواریم که این اطلاعات به توسعهدهندگان کمک کند تا در انتخاب OpenStack برای کسبوکار خود تصمیم بهتری بگیرند.