منبع اصلی نوشتار زیر در این لینک قرار دارد

آشنایی با زیرساخت رایانش ابری OpenStack

این روزها روزهای راه رفتن بر لبه تکنولوژی است ! رایانش ابری مبحثی است که روز به روز در حال گسترش یافتن است و.هر روز که میگذرد تعداد زیادی از شرکت‌ها، تیم‌ها و حتی سازمان‌های غیر IT مثل NASA (سازمان فضایی آمریکا) دست به آغاز یک پروژه ابری میزنند!  حتما می‌پرسید چطور؟ در ادامه OpenStack را معرفی میکنم و با آن بیشتر آشنا می‌شوید، ولی قبل از آن پیشنهاد میکنم اگر آشنایی اولیه با رایانش ابری ندارید این پست پیام عزیز را بخوانید…

openstack-logo

مهمترین دلیل استفاده از زیرساخت رایانش‌ابری، یکپارچگی تمام منابع سخت‌افزاری و ایجاد یک بستر قدرتمند یکپارچه برای اجرای سرویس‌ها بر روی ماشین‌های مجازی است. عمده‌ترین تفاوت رایانش ابری به نسبت شیوه سنتی پیاده‌سازی سرویس‌ها بر روی سرور فیزیکال این است که در شیوه سنتی برای پیاده‌سازی سرویس ها از یک سرور واحد برای پیاده‌سازی استفاده میشد که به نسبت قدرت سخت افزاری سرورها و مصرف منابع سخت‌افزاری توسط سرویس‌ها میزان بسیار زیادی از قدرت منابع سخت‌افزاری سرورها بلااستفاده می‌ماند. علاوه‌بر این مصرف انرژی منابع سخت‌افزاری بلااستفاده ی سرورها، مدیریت و نگهداری سرورها توسط ادمین‌(ها) در حجم بالا از عمده‌ترین دلایل مهاجرت از شیوه سنتی سرویس‌دهی به زیرساخت رایانش‌ابری است.

در زیرساخت رایانش ابری با تجمیع ریسورس سخت‌افزاری سرورها به صورت یکپارچه و نصب و راه‌اندازی سیستم‌عامل‌ها و پیاده‌سازی‌ سرورها بر روی ماشین‌های مجازی (به‌جای فیزیکال) بسته به نیاز سرویس، تا حد بسیاز زیادی از هرز رفتن منابع سخت‌افزاری، انرژی و منابع انسانی می‌توان جلوگیری کرد.
برای درک بهتر این موضوع، به صورت ساده‌تر می‌توان گفت در زیرساخت رایانش ابری چندین سرور خواهیم داشت که با تجمیع آن‌ها و به یک سرور واحد بسیار قوی‌تر خواهیم رسید که اجزای سازنده آن را تک‌تک آن سرورها تشکیل می‌دهند و قدرت‌ سخت‌افزاری آن‌ از تجمیع تمام RAMها، سی‌پی‌یو‌ها و هارددیسک‌ها تشکیل می‌شود. همچنین برای پیاده‌سازی سرویس‌ها از میزان مشخصی از منابع سخت‌افزاری نیاز داریم که با استفاده از پنل مدیریتی ابری دست ادمین مجموعه کاملاً باز خواهد بود که به هر اندازه‌ی مورد نیاز، منابع سخت‌افزاری در اختیار ماشین‌مجازی جهت پیاده‌سازی و راه‌اندازی سرویس قرار دهد.
در یک کلام: در شیوه سنتی سرویس‌ها بر روی هر سرور به صورت فیزیکال نصب و راه‌اندازی میشد ولی در شیوه زیرساخت ابری تمام سرورها تشکیل یک سرور بسیار قدرتمند را می‌دهند و بر روی این زیرساخت به جای سرور فیزیکال از ماشین‌های مجازی انعطاف‌پذیر جهت نصب و راه‌اندازی سیستم‌عامل و سرویس‌ها استفاده می‌شود.

پروژه OpenStack به عنوان Infrastructure as a Service یا IaaS پروژه‌ای است که از سال ۲۰۱۰ توسط سازمان تحقیقات فضایی NASA آمریکا و شرکت خدمات دیتاسنتر Rackspace آغاز شد و تا به امروز با گذشت ۴ سال از توسعه این بستر رایانش ابری، محبوب‌ترین پروژه اوپن‌سورس تا کنون از لحاظ مشارکت‌کنندگان و میزان توسعه در این مدت کوتاه نام گرفته است.
این پروژه به واسطه اوپن‌سورس بودن تاکنون توسط خیلی از شرکت‌های فعال در زمینه توسعه نرم افزار‌های متن‌باز مورد استقبال قرار گرفته و در توسعه آن مشارکت فعال و آن را در کنار محصولات خود به عنوان راه‌کار رایانش ابری به مشتریان خود عرضه میکنند. شرکت‌هایی مثل Red Hat و Canonical از جمله شرکت‌های اوپن‌سورسی هستند که حضوری فعال در زمینه توسعه OpenStack دارند به طوری که در سال ۲۰۱۳ و ۲۰۱۴ ردهت به عنوان بیشترین مشارکت در توسعه اوپن‌استک و کنونیکال، سیستم عاملش یعنی ubuntu به عنوان سیستم‌عامل مرجع و رفرنس برای توسعه و پیاده‌سازی پروژه‌های گسترده و اینترپرایز از سوی بنیاد اوپن‌استک نام گذاری‌ شده است.

openstack-01

مهمترین شرکت‌های مشارکت‌کننده در توسعه اوپن‌استک
از شرکت‌های معتبری که در توسعه اوپن‌استک مشارکت دارند میتوان به Rackspace, NASA, Red Hat, Canonical, HP, Suse, IBM, Nebula و AT&T اشاره کرد که حضور این مجموعه‌ها در مشارکت OpenStack نشان از اعتبار و کلاس یک بودن این نرم افزار در استفاده از پروژه‌های اینترپرایز در سراسر دنیا دارد. اهمیت این پروژه برای تک‌تک این شرکت‌ها تا اندازه‌ای است که صحنه توسعه اوپن‌استک را تبدیل به یک میدان جنگ دیجیتال کرده است که در آن قابلیت‌های خود را به رخ یکدیگر می‌کشند. برای مثال ارزش اوپن‌استک برای کنونیکال تا حدی بود که در سال ۲۰۱۰ با توقف پروژه Ubuntu Enterprise Cloud – UEC خود و جایگزینی آن با OpenStack اولین شرکتی بود که به بنیاد اوپن‌استک پیوست و با این حرکت تا به امروز توانسته است به عنوان سیستم عامل رفرنس در توسعه اوپن‌استک و پرچمدار زیرساخت ابری پروژه‌های Public Cloudی مثل Rackspace باشد. همچنین شرکت ردهت نیز طی ۱ سال و نیم گذشته به عنوان توسعه دهنده اصلی پروژه با مشارکت در ۲۲ درصد از توسعه آن در سه نسخه آخر OpenStack  ،پرچم‌دار اصلی این پروژه در توسعه آن باشد.

چه شرکت‌هایی از اوپن‌استک استفاده می‌کنند؟
شرکت‌های کوچک و بزرگ زیادی از اوپن‌استک به عنوان زیرساخت ابری خود استفاده میکنند. از شرکت‌های علمی و تحقیقاتی مانند آزمایشگاه تحقیقات فیزیکی CERN ، سازمان تحقیقات فضایی آمریکا NASA و آژانس امنیت ملی آمریکا NSA تا شرکت‌های تجاری مثل HP و Yahoo و مخابرات داچ تلکام آلمان و AT&T و اینتل و سونی و Paypal و آزمایشگاه‌های بنیاد مدیاویکی، همه و همه از جمله کسانی هستند که از اوپن‌استک در زیر ساخت ابری خود استفاده میکنند.

openstack-02

بخش‌ها و اجزای اوپن‌استک
زمانی که اسم از اوپن‌استک به میان می‌آید منظور چند نرم‌افزار با کارایی و عملکرد جداگانه است که هریک به تنهایی بخشی از زیرساخت ابری را انجام می‌دهد. در واقع مجموعه‌ای از چند نرم افزار را که هریک به صورت جداگانه عمل‌ میکنند اوپن‌استک را تشکیل می‌دهند. اجزای اوپن استک عبارتند از:

openstack-03OpenStack 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 بر روی وب و قابل اجرا بر روی مرورگر وب پیاده سازی شده است.

openstack-04

کاربردهای OpenStack و بستر ابری رایانش ابری
برای استفاده از اوپن‌استک محدودیت کاربردی تعیین نشده و هر استفاده‌ای که از یک سرور معمولی میتوان کرد، از یک مجموعه سرور که با هم یک کار واحد را انجام می‌دهند و با هم تشکیل یک سرور بسیار قوی را داده‌اند هم میتوان همان کار را انجام داد. ولی بیشتر مصارف آن را میتوان به موارد زیر اشاره کرد:

پیاده‌سازی دسکتاپ مجازی یا VDI برای متمرکز کردن منابع سخت افزاری و کاهش هزینه‌ها تا حداقل ۳۰ درصد
پیاده‌سازی پلتفرم‌های ابری PaaS و نرم‌افزارهای ابری SaaS
پیاده‌سازی سرورهای معمول جهت مصارف عمومی و سرویس‌دهی به شکل کلاسیک

اوبونتو به عنوان سیستم‌عامل برای پیاده‌سازی اوپن‌استک
تاقبل از دوران رایانش ابری یکه‌تاز سرورهای لینوکسی را می‌شد RHEL/CentOS و Debian به شمار آورد و سایر نسخه‌ها و توزیع‌های لینوکس بیشتر مصارف دسکتاپ و خاص داشتند. اما از سال ۲۰۱۰ و با پشتیبانی شرکت کنونیکال از OpenStack به عنوان اولین شرکت حامی این پروژه، اوبونتو را بیش از پیش مورد استفاده در توسعه و پیاده‌سازی پروژه‌های اینترپرایز کرد تا جایی که اکنون در ماه می ۲۰۱۴ سیستم عامل Ubuntu بیش از ۵۵ درصد از سهم بازار بستر رایانش ابری را از آن خود کرده و آن را تبدیل به یک استاندارد برای توسعه‌دهندگان و مدیران سیستم و معماران ابری از سوی بنیاد اوپن‌استک تبدیل کرده است و همین امر باعث شده که دیگر اوبونتو یک سیستم عامل محض برای دسکتاپ و مصارف معمول خانگی نباشد.

openstack-05



برچسب ها : , , , , , , , , , , , , , , , , , , ,

به سیاره لینوکس امتیاز دهید

به اين صفحه امتياز دهيد