OpenStack چیست؟
OpenStack یک پلتفرم منبع باز است که برای توسعه محیط های ابری عمومی و خصوصی استفاده می شود. این پلتفرم از چندین میکروسرویس وابسته به هم تشکیل شده است که همگی از طریق APIهایی با مکانیسم های احراز هویت مشترک مدیریت و ارائه می شوند و یک لایه IaaS برای ماشین های مجازی و برنامه های کاربردی ارائه می دهد.
OpenStack که برای اولین بار در جولای 2010 به عنوان یک زیرساخت ابری توسعه یافت، محصول تلاش مشترک بسیاری از شرکت ها از جمله ناسا و Rackspace بود.
هدف طراحان و توسعه دهندگان این پلتفرم ابری در آن زمان ارائه یک جایگزین باز برای ارائه دهندگان برتر خدمات ابری بوده است. همچنین این پلتفرم نرم افزاری به عنوان یک سیستم عامل ابری در نظر گرفته می شود که می تواند منابع بزرگی از محاسبات، ذخیره سازی و منابع شبکه را از طریق یک مرکز داده متمرکز کنترل کند. همه اینها از طریق یک داشبورد کاربر پسند مدیریت می شود که با اجازه دادن به کاربران برای تهیه منابع از طریق یک رابط گرافیکی ساده وب، کنترل بیشتری را در اختیار کاربران قرار می دهد.
OpenStack چگونه استفاده می شود؟
این پلتفرم نرم افزاری به دلیل پیچیدگی آن، متشکل از حدود شصت مؤلفه، که «سرویس» نیز نامیده میشود می باشد.شش تای آنها اجزای اصلی هستند و حیاتیترین جنبههای یک زیرساخت ابری را کنترل میکنند. این سرویس ها برای محاسبات، هویت، مدیریت ذخیره سازی و شبکه سازی فضای ابری، از جمله مدیریت دسترسی هستند.
OpenStack شامل یک سری دستورات است که به عنوان اسکریپت شناخته می شوند که در پکیجی به نام پروژه با هم ترکیب می شوند. پروژه ها مسئول انتقال وظایفی هستند که محیط های ابری ایجاد می کنند.
OpenStack خود منابع را مجازی سازی نمی کند. در عوض، از آنها برای ساختن زیرساخت ابری استفاده می کند.
وقتی صحبت از مدیریت زیرساخت ابری می شود، OpenStack را می توان برای موارد زیر به کار گرفت.
Containers
OpenStack یک پایه پایدار برای ابرهای عمومی و خصوصی فراهم می کند. کانتینرها برای سرعت بخشیدن به زمان تحویل برنامه استفاده می شوند و در عین حال مدیریت و استقرار برنامه را نیز ساده می کنند. بنابراین، کانتینرهایی که روی OpenStack اجرا میشوند، میتوانند مزایای کانتینر را از تیمهای منفرد گرفته تا حتی عملیاتهای بینبخشی در سطح سازمان را افزایش دهند.
Network Functions Virtualization
OpenStack را می توان برای مجازی سازی عملکردهای شبکه استفاده کرد و بسیاری از ارائه دهندگان خدمات ارتباطات جهانی آن را در دستور کار خود قرار می دهند. OpenStack توابع کلیدی یک شبکه را برای توزیع آن بین محیط های مختلف جدا می کند.
معماری OpenStack
OpenStack به سرویسهایی تقسیم میشود تا به شما امکان میدهد بسته به نیاز خود، کامپوننتها را وصل و اجرا کنید. نقشه openstack یک نمای “در یک نگاه” از چشم انداز openstack به شما می دهد تا ببینید آن سرویس ها کجا مناسب هستند و چگونه می توانند با هم کار کنند.
در ادامه با چند سرویس اصلی این پلتفرم به صورت خلاصه آشنا خواهیم شد:
Nova:
این سرویس برای پیادهسازی سایر سرویس ها و کتابخانههای مرتبط برای ارائه دسترسی به منابع محاسباتی، از جمله سرور، ماشینهای مجازی و کانتینرها مورد استفاده قرار میگیرد. بهشدت مقیاسپذیر بر حسب تقاضا شما می باشد.
Manila:
دسترسی هماهنگ به سیستم های فایل مشترک یا توزیع شده را فراهم می کند.
NEUTRON:
OpenStack Neutron یک پروژه شبکه SDN است که بر ارائه شبکه به عنوان سرویس (NaaS) در محیط های محاسباتی مجازی متمرکز است.
Swift:
سوئیفت، یک سیستم ذخیرهسازی object ها و فایلهاست. بهجای ایده قدیمی که برای بدست آوردن فایلها به آدرس آنها بر روی دیسک ارجاع میداد، توسعه دهندگان میتوانند به جای ارجاع به یک آدرس منحصربفرد، به یک فایل یا بخشی از اطلاعات ارجاع دهند و به اپن استک این فرصت را بدهند که آنها را در هر جایی ذخیره کند. این کار، توسعه بخشی را آسان میکند و در این صورت توسعه دهندگان دغدغه ظرفیت یک سیستم منفرد ورای نرمافزار را نخواهند داشت.
Cinder:
Cinder یک سرویس ذخیرهسازی بلاک است که شباهت بیشتری به مفهوم قدیمی دسترسی به مکانهای خاص یک دیسک درایو دارد. این روش سنتی برای دسترسی به فایلها معمولاً به خاطر اهمیت سرعت دسترسی به داده، ممکن است مورد بحث باشد.
Horizon:
Horizon پیادهسازی متعارف داشبورد OpenStack است که قابل توسعه است و یک رابط کاربری مبتنی بر وب برای خدمات OpenStack فراهم میکند.این پنل تنها واسط گرافیکی اپن استک است که در واقع میتواند اولین مؤلفه برای کاربرانی باشد که میخواهند اپن استک را تست کنند. توسعه دهندگان میتوانند به تمام مؤلفههای اپن استک از طریق API دسترسی پیدا کنند ولی این پنل کنترلی شرایطی برای مدیران سیستم فراهم میکند تا نگاهی اجمالی به کل سیستم cloud داشته باشند و در صورت نیاز آن را مدیریت کنند.
Keystone:
این ابزار در واقع سرویسهای هویت را برای OpenStack فراهم میکند. در اینجا لیستی از کاربران اپن استک به همراه دسترسیهای مجاز آنها نگهداری میشود. این سرویس، ابزارهای دسترسی چندگانه فراهم میکند به این معنی که توسعه دهندگان میتوانند به آسانی دسترسی کاربر موجود را با استفاده از روشهایی در keystone نگاشت کنند.
Glance:
وظیفه Glance، ارائه سرویس image در OpenStack می باشد. در این مورد، imageها به imageهای موجود در هارد دیسک ارجاع داده میشوند. این imageها میتوانند در زمان توسعه یک VM جدید، به عنوان الگو استفاده شوند.
با تشکر از شما کاربران گرامی برای مطالعه سایر مقالات میتوانید به بخش مقالات سایت مراجعه بفرمایید.