رایانش ابری OpenStack

رایانش ابری OpenStack

OpenStack یک نرم‌افزار متن‌باز برای پیاده‌سازی «زیرساخت به عنوان سرویس» یا اختصارا IaaS در رایانش ابری است. اوپن‌استک سال ۲۰۰۹ توسط شرکت خدمات مراکزداده Rackspace برای سازمان تحقیقات فضایی آمریکا، NASA طراحی و توسعه داده شد و از سال ۲۰۱۰ تاکنون با حمایت و پشتیبانی بنیاد اوپن‌استک که برای همین منظور تشکیل شد، ۱۰ نسخه منتشر کرده که آخرین آن با نام Juno در ماه اکتبر ۲۰۱۴ / مهرماه ۹۳ منتشر شده و نسخه بعدی آن با نام Kilo برای انتشار در ماه آوریل ۲۰۱۵ / اردیبهشت ۹۴ برنامه‌ریزی شده است. اوپن‌استک دارای چرخه انتشار ۶ ماهه است که در هر انتشار بیش‌از ۱۲۰۰ توسعه‌دهنده از بیش‌از ۸۰ کشور و صدها شرکت مشارکت دارند. شرکت‌هایی از قبیل Cisco, VMware, Canonical, Mirantis, Red Hat, HP و… و توسعه‌دهندگان مستقلی از سراسر دنیا حتی از ایران در توسعه اوپن‌استک مشارکت دارند و تا به امروز لقب محبوب‌ترین نرم افزار اوپن‌سورس بعد از کرنل لینوکس را به همراه خود دارد.

همچنین اوپن‌استک علاوه‌بر چرخه انتشار ۶ ماهه دارای یک نشست سراسری برای توسعه دهندگان و کاربران خود دارد که تحت نام OpenStack Summit شناخته می‌شود و هر ۶ ماه در یکی از شهرهای دنیا برگزار میشود. آخرین نشست شش ماهه اوپن‌استک از تاریخ ۳ تا ۷ نوامبر / ۱۲ تا ۱۶ آبان ماه در شهر پاریس فرانسه برگزار شد و طی آن تصمیمات فنی و استراتژیک برای نسخه بعدی آن در این نشست گرفته می‌شود. اوپن استک بیش از ۱۸۰ گروه کاربری در سراسر دنیا دارد که یکی از این گروه‌ها، گروه کاربران اوپن‌استک ایران است که به صورت رسمی توسط بنیاد اوپن‌استک حمایت می‌شود.

OpenStack Compute – Nova :
بخش Nova هسته مرکزی و پردازشی IaaS است که کار هماهنگی با تکنولوژی‌های مجازی‌سازی و Hypervisorهایی مثل KVM بر روی لینوکس، ESX بر روی VMWare و Hyper-V بر روی سیستم مجازی سازی مایکروسافت و XenServer شرکت سیتریکس و همچنین تکنولوژی‌هایی مثل LXC یا Linux Container Technologies را بر عهده دارد. همچنین از دیگر بخش‌های Nova هماهنگی و پیاده‌سازی High Performance Computing برای یکپارچه‌سازی سخت‌افزارهای مورد استفاده در IaaS را بر عهده دارد.
OpenStack Object Storage – Swift :
بخش Swift کار ایجاد بستر و نگهداری فایل‌ها و ایمیج‌های ماشین‌های مجازی بر روی IaaS را انجام می‌دهد. در واقع کار Swift به نوعی شبیه Storage Cluster می‌باشد که فضای یکپارچه‌ای از هارددیسک‌های تمام سرورهای مورد استفاده در IaaS ایجاد میکند و از دید کاربر تمام هارددیسک‌ها بر روی تمام سرور‌ها به صورت یک هارددیسک واحد دیده میشود و ذخیره سازی اطلاعات بر روی تمام هارددیسک‌ها صورت میگیرد و در صورت از دست رفتن یک هارددیسک یا حتی یک سرور، اطلاعات از بین نمی رود و با جایگزین کردن منابع سخت‌افزاری از دست رفته دوباره باز سازی می شود.

OpenStack Block Storage – Cinder :
یکی از اجزای پیاده سازی بستر رایانش ابری استفاده از Storage Server برای نگهداری اطلاعات است. در اوپن‌استک در طیف وسیعی از استوریج‌سرورهای شناخته‌شده در سطح اینترپرایز پشتیبانی می‌شود. از استوریج‌هایی مثل HP گرفته تا IBM و NetApp همه و همه قابل پشتیبانی در OpenStack هستند. Cinder در پروژه اوپن‌استک کار مدیریت ساخت (Creation) و ورود و خروج (Attach – Deattach ) بلاک‌استوریج‌ها را برعهده دارد.

OpenStack Networking – Neutron :
بخش Neutron کار مدیریت تمام اجزای شبکه رایانش ابری را انجام می‌دهد. از مدیریت شبکه و آدرس‌های IP و VLAN گرفته تا فایروال و لودبالانس و IPS/IDS همگی برعهده Neutron در اوپن‌استک می‌باشد.

OpenStack Identity Service – Keystone :
بخش Keystone کار دایرکتوری مرکزی کاربران (مانند Microsoft Active Directory و LDAP ) برای دسترسی به بخش‌های مختلف OpenStack را برعهده دارد. Keystone از چندین متد احراز هویت در اوپن‌استک پشتیبانی میکند. متدهای احزار هویتی مانند Username/Password و Token-Based و AWS-Style (مانند Amazon Web Services) قابل پشتیبانی در Keystone میباشند.

OpenStack Image Service – Glance :
بخش Glance در اوپن‌استک کار مدیریت و نگهداری ایمیج‌های ماشین‌های مجازی را بر عهده دارد. از ایجاد تمپلیت برای ماشین‌های مجازی گرفته تا بکاپ و Snapshot بینهایت برای آنها از جمله وظایف Glance در اوپن‌استک می‌باشد. همچنین Glance از طیف وسیعی از ایمیج‌های مجازی ‌سازی از Qcow2 در لینوکس و KVM و VMDK در VMWare گرفته تا استاندارد OVF را پشتیبانی میکند.

OpenStack Telemetry – Ceilometer :
در بخش Ceilometer کار اکانتینگ و بیلینگ در مصارف تجاری را مدیریت میکند. در این بخش قابلیت ایجاد یک پلن تجاری را به کاربر میدهد تا ایده‌تجاری ابری را بر روی بستر اوپن‌استک پیاده‌سازی کند و بتواند به صورت آنلاین خدمات خود را ارائه دهد.

OpenStack Dashboard – Horizon :
داشبورد اوپن‌استک موسوم به Horizon مدیریت تمام بخش‌های دیگر که در بالا معرفی شد را از طریق رابط کاربری تحت وب انجام می‌دهد. Horizon همانند سایر بخش‌های اوپن‌استک با زبان برنامه‌نویسی پایتون نوشته شده است و با استفاده از فریمورک Django بر روی وب و قابل اجرا بر روی مرورگر وب پیاده سازی شده است.