صفحه اصلی > آموزش رایانش ابری : راهنمای جامع اپن استک _ اوپن استک چیست؟

راهنمای جامع اپن استک _ اوپن استک چیست؟

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

اپن استک چیست؟

اوپن استک یک پلتفرم نرم افزاری متن باز است که در دنیای رایانش ابری کاربرد دارد. و این پلت‌فرم یکی از 3 پروژه متن باز بزرگ در جهان محسوب می‌شود. پروژه اپن استک در سال ۲۰۱۰ به‌وسیله سازمان تحقیقات فضایی‌ NASA‌ و شرکت خدمات دیتاسنتر Rackspace، به عنوان یک سرویس IaaS کلید خورد. سرویس IaaS یکی از سه سرویس اصلی قابل ارائه توسط رایانش ابری است که به ارائه زیرساخت ابری می‌پردازد. جهت آشنایی بیشتر، مقاله زیر ساخت ابری و ابر عمومی را مطالعه نمایید. امروزه فناوری رایانش ابری به قدری به اوپن استک وابسته است که بسیاری از بزرگان فناوری جهان، آینده تکنولوژی ابری را بدون آن تصور نمی‌کنند. معماری اپن استک ماژولار است. یعنی هر فرد و یا موسسه‌ای می‌تواند بنا به نیاز خود کدها و کامپوننت‌های آن را کم، زیاد و دستکاری کند. متن باز بودن، ماژولار بودن و وجود کامپوننت‌های مختلف در آن منجر به محبوبیت و کاربردهای گوناگونش در عرصه‌های مختلف شده است.

نقش اوپن استک در رایانش ابری

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

مثالی از کاربرد اوپن استک و نحوه عملکرد آن

می‌توان OpenStack را همانند یک رهبر ارکستر حرفه‌ای تصور کرد که می‌داند چگونه تعداد زیادی از سرورها را مدیریت کند تا یک آهنگ پردازشی خوش آوا را به گوش کاربر برساند. فرض کنید که یک کاربر نیاز به 64 هسته پردازنده، 128 GB رم و 200 گیگ هارد دارد. اپن استک می‌تواند مقدار CPU و RAM را از سرور شماره یک و هارد را از سرور شماره 7 تامین نماید. این قدرت مدیریتی OpenStack در موقعیتی که هارد سرور اول پر باشد، بسیار مهم و حیاتی است. این در حالی‌ست که کوچک‌ترین اختلالی را در روند کار کاربر ایجاد نمی‌شود. مثال دومی که می‌توان از کاربردهای اپن استک بیان نمود قدرت مقیاس پذیری آن است. زیرا می‌تواند بنا به تشخیص خود و به‌صورت خودکار، تعداد منابع کاربر را کم و زیاد کند. مثلا اگر تعداد بازدید از یک سایت به گونه‌ای پیش برود که کمتر و یا بیشتر از حد از پیش تعریف شده کاربر باشد، می‌تواند میزان منابع و یا ماشین‌های مجازی آن را کمتر و بیشتر کند. نکته مهم در کاربردهای این پلتفرم، امنیت بالایی است که به وجود می‌آورد. زیرا با جدیدترین شیوه‌ها و ماهرترین کارشناسان، امنیت حداکثری محافظت از داده‌ها را تامین می‌نماید.

متن باز بودن اپن استک و مزیت‌هایی آن

شرکت‌های مختلفی همچون Cisco، IBM، Dell، HP، Sony و غیره در حال استفاده از اوپن استک هستند. دلیل این امر هم چیزی جز تنوع کاربردهای اوپن استک نیست. این تنوع و کاربردهای اپن استک ریشه در متن باز بود آن دارد. زیرا تمام کاربران آن به کد اصلی پلتفرم دسترسی دارند و می‌توانند بنا به نیاز خود، آن را دستکاری نمایند. ویژگی متن باز بودن نرم افزار OpenStack منجر به یک سود دو طرفه، هم برای خودش و هم برای کاربرانش شده است. زیرا کاربران کدها و ایده‌های دلخواه خود را اعمال می‌کنند. و همین امر منجر به غنی‌تر شدن اپن استک با توانمندی هزاران توسعه‌دهنده در سراسر دنیا شده است. به طوری که اینک OpenStack به عنوان محبوب‌ترین پروژه متن باز یا Open Source جهان، از لحاظ تعداد مشارکت‌کننده و میزان توسعه در مدت کوتاه شناخته می‌شود. از مهم‌ترین شرکت‌هایی که حضور فعالی در توسعه نرم افزار OpenStack داشته‌اند، می‌توان به Red Hat و Canonical (موسس سیستم عامل Ubuntu) اشاره کرد. اپن استک از طرف غول‌هایی همچون Google، HP، cisco، IBM، Intel، Oracle، Dell، Ericsson و در مجموع بیش از 500 کمپانی، مورد حمایت مالی و فنی قرار دارد.

معرفی اجزا و سرویس‌های اپن استک

در ادامه پاسخ به سوال OpenStack چیست باید با اجزا و کامپوننت های اوپن استک نیز آشنا شویم. این پلتفرم بیش از 50 جزء و یا کامپوننت دارد. جدول‌های زیر بر اساس اطلاعات مندرج در سایت رسمی اپن استک طراحی شده‌اند. که در این سایت بخش‌های اپن‌ استک در چهار بخش کلی تقسیم‌بندی شده‌اند، شامل:
    • OPENSTACK COMPONENTS
    • CLIENT TOOLS
    • DEPLOYMENT TOOLS
    • SAMPLE CONFIGURATIONS
این مقاله بیشتر به معرفی بخش OPENSTACK COMPONENTS پرداخته‌ است. اجزا OPENSTACK COMPONENTS نیز شامل موارد زیر هستند که ادامه با آن‌ها آشنا خواهیم شد:
    1. سرویس‌های اوپن استک
    1. ابزارهای عملیات
    1. افزونه‌های خدمات
    1. توانمندسازهای یکپارچه‌سازی

اول _ سرویس‌ های اوپن استک _ OpenStack Services:

Compute و یا پردازش

1. NOVA Compute Service ماشین مجازی را مدیریت می‌کند.
2. ZUN Containers Service API ساده برای مدیریت کانتینرها ارائه می‌دهد.

Hardware Lifecycle و یا چرخه عمر سخت افزار

1. IRONIC Bare Metal Provisioning Service ارائه خدمات تامین فلز برهنه و مدیریت آن
2. CYBORG Lifecycle management of accelerators چرخه حیات شتاب دهنده‌ها را مدیریت می‌کند.

Storage و یا ذخیره سازی

1. SWIFT Object store داده‌های تغییر پذیر را ذخیره می‌کند.
2. CINDER Block Storage داده‌های ثابت را ذخیره می‌کند.
3. MANILA Shared filesystems خدمات اشتراک فایل ارائه می‌دهد.

Networking و یا شبکه سازی

1. NEUTRON Networking شبکه‌های مجازی را ایجاد و مدیریت می‌کند.
2. OCTAVIA Load balancer متعادل کننده بار است.
3. DESIGNATE DNS service سرویس سرور DNS را ارائه می‌دهد.

Shared Services و یا خدمات اشتراکی

1. KEYSTONE Identity service خدمات شناسایی و احراز هویت را مدیریت می‌کند.
2. PLACEMENT Placement service خدمات استقرار را ارائه می‌دهد.
3. GLANCE Image service تصویر مجازی مانند تصویر هسته یا تصویر دیسک را مدیریت می‌کند.
4. BARBICAN Key management خدمات مدیریت کلید ارائه می‌دهد.

Orchestration یا تنظیم و رهبری

1. HEAT Orchestration ارکستراسیون برای ماشین مجازی را مدیریت می‌کند.
2. SENLIN Clustering service خدمات خوشه بندی ارائه می‌دهد.
3. MISTRAL Workflow service سرویس گردش کار ارائه می‌دهد.
4. ZAQAR Messaging Service ارائه سرویس پیام رسانی را بر عهده دارد.
5. BLAZAR Resource reservation service ارائه خدمات رزرو منابع را بر عهده دارد.
6. AODH Alarming Service سرویس هشداردهنده را ارائه می‌دهد.

Workload Provisioning و یا تامین حجم کار

1. MAGNUM Container Orchestration Engine Provisioning مدیریت کانتینر ارکستراسیون موتور تامین را بر عهده دارد.
2. SAHARA Big Data Processing Framework Provisioning ارائه خدمات پردازش داده را بر عهده دارد.
3. TROVE Database as a Service مدیریت منابع پایگاه داده را بر عهده دارد.

Application Lifecycle و یا چرخه عمر برنامه

1. MASAKARI Instances High Availability Service نمونه‌های خدمات با دسترسی بالا را ارائه می‌‍‌دهد.
2. MURANO Application Catalog کاتالوگ برنامه را ارائه می‌دهد.
3. SOLUM Software Development Lifecycle Automation اتوماسیون چرخه عمر توسعه نرم افزار را بر عهده دارد.
4. FREEZER Backup, Restore, and Disaster Recovery خدمات پشتیبان‌گیری، بازیابی، و بازیابی فاجعه را بر عهده دارد.

API Proxies و یا پراکسی‌ها API

1. EC2API EC2 API proxy ارائه پروکسی EC2 API می‌دهد.

Web frontends و یا فرانتند وب

1. HORIZON Dashboard ارائه کنسول GUI را از طریق مرورگر وب را بر عهده دارد.
2. SKYLINE Next generation dashboard (emerging technology) ارائه داشبورد نسل بعدی (فناوری نوظهور) را بر عهده دارد.

دوم _ ابزارهای عملیات _ Operations Tooling:

Monitoring services و یا خدمات مانیتورینگ

1. CEILOMETER Metering & Data Collection Service خدمات اندازه‌گیری و جمع‌آوری داده‌ها و حسابداری را مدیریت می‌کند.
2. MONASCA Monitoring خدمات نظارت به عنوان یک سرویس منبع باز چند مستاجر و بسیار مقیاس پذیر ارائه می‌دهد.

Resource optimization و یا بهینه‌سازی منابع

1. WATCHER Optimization Service سرویس بهینه سازی را مدیریت می‌کند.
2. VITRAGE Root Cause Analysis service تحلیل‌های ریشه‌ای برای علت را ارائه می‌دهد.

Billing / Business Logic و یا صورت‌حساب

1. ADJUTANT Operations processes automation فرآیندهای عملیاتی را اتوماسیون می‌کند.
2. CLOUDKITTY Billing and chargebacks صورت‌حساب و بازپرداخت را محاسبه می‌کند.

Testing / Benchmark یا تست و معیار

1. RALLY Benchmarking tool ابزار محک زدن و رده بندی می‌باشد.
2. TEMPEST The OpenStack Integration Test Suite مجموعه تست ادغام OpenStack را ارائه می‌دهد.

سوم _ افزونه‌های خدمات _ Add-Ons to Services:

Swift add-ons و یا افزونه‌های سوئیفت

1. STORLETS Computable object storage ذخیره سازی اشیاء قابل محاسبه را مدیریت می‌کند.

چهارم _ توانمندسازهای یکپارچه‌سازی _ Integration enablers:

Containers و یا کانتینرها

1. KURYR OpenStack Networking integration for containers شبکه OpenStack را برای کانتینرها ادغام می‌کند.

NFV و یا مجازی سازی توابع شبکه

1. TACKER NFV Orchestration ارکستراسیون NFV ارائه می‌دهد.

عملکرد کامپوننت‌ها و سرویس‌های اپن استک

نکته حائز اهمیت در مورد اجزا بالا این است که در نسخه اولیه پلتفرم اوپن استک که با نام Austin مشهور بود، تنها دو کامپوننت Nova و Swift وجود داشته‌اند. اما امروزه به بیش از 50 کامپوننت رسیده‌اند. اگرچه بنا به نظر کارشناسان سه عملیات Compute، Networking ‌و Storage بار اصلی اپن استک را به دوش می‌کشند. هر فرد یا موسسه‌ای می‌تواند بنا به نیاز خود هر یک از کامپوننت‌های مورد نظرش را نصب، راه‌اندازی و در صورت لزوم با بقیه کامپوننت‌ها یکپارچه سازی کند. این پلتفرم را می توان به همراه ESXi شرکت VMware، هایپر وی شرکت مایکروسافت و یا Xen مورد استفاده قرار داد. با اینحال بیشتر اوقات با KVM مورد استفاده قرار می‌گیرد که آن هم یک منبع متن باز محسوب می‌شود. در واقع OpenStack به خاطر ماهیت متن باز بودنش، از محدوده وسیعی از نرم افزارها و سخت افزارها پشتیبانی می کند. این موضوع باعث ایجاد یک معماری مقیاس پذیر و انعطاف‌پذیر شده است.

DevStack چیست؟

دواستک، مجموعه‌ای از اسکریپت‌ها و ابزارهایی است که برای استقرار بر ابرِ اوپن‌استک، برای اهداف توسعه و آزمایش استفاده می‌شود. DevStack به صورت تعاملی به عنوان یک محیط توسعه و به عنوان پایه‌ای برای بسیاری از تست‌های عملکردی پروژه OpenStack استفاده می‌شود. این ابزار محبوب برای توسعه‌دهندگانی است که می‌خواهند اوپن‌استک را بدون نیاز به نصب و پیکربندی دستی آزمایش کنند. DevStack فرآیند نصب را خودکار می‌کند و به توسعه‌دهندگان اجازه می‌دهد تا به سرعت یک محیط اوپن‌استک را روی یک ماشین یا چندین ماشین تنظیم کنند. این شامل تمام اجزای ضروری آن مانند Nova، Glance، Keystone، Horizon و غیره می‌شود. DevStack یک نرم افزار متن باز است و می‌تواند برای نیازهای خاص سفارشی شود.

سخن نهایی و معرفی کاربرد اوپن استک در ابر فردوسی

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

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

سرور cpu
سرور gpu
سرور ژوپیتر

شیرین رحیم دل

یک مترجم، محقق و نویسنده که به دنیای سرورهای ابری علاقه‌منده. پس با خیال راحت به مقالاتم اعتماد کن.
پست های مرتبط

سرور بازی: قلب تپنده دنیای گیمینگ آنلاین

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

۱۳ آبان ۱۴۰۳

سرویس میزبانی وب: راهکاری مطمئن برای رشد آنلاین شما

حضور، فعالیت و معرفی محصولات به صورت اینترنتی، تبدیل به یک بخش جدایی‌ناپذیر از کسب‌وکارهای امروزی شده است. از شرکت‌های بزرگ گرفته تا مغازه‌های کوچک، همگی برای دیده شدن به یک جایگاه آنلاین احتیاج دارند. در غیر…

۱۰ آبان ۱۴۰۳

سرویس میزبانی پرونده؛ مدیریت آسان فایل‌ها در هر لحظه و هر مکان

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

۱۰ آبان ۱۴۰۳

دیدگاه کاربران (2 دیدگاه)

    1. OpenStack می‌تواند منابع مورد نیاز کاربر را از سرورهای مختلف تأمین کند در شرایط زیر:

      معماری توزیع‌شده: OpenStack می‌تواند منابع محاسباتی، ذخیره‌سازی و شبکه را از سرورهای مختلف ترکیب کند.

      مدیریت پویا: این پلتفرم قادر است منابع را به صورت پویا مدیریت کند و در صورت بروز مشکل در یک سرور، از سرور دیگر منابع تأمین کند.

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

      ادغام منابع: OpenStack به کاربران اجازه می‌دهد تا منابع مختلف را ترکیب کنند و از بهینه‌سازی استفاده کنند.

      این ویژگی‌ها به OpenStack امکان می‌دهند که به طور مؤثر منابع را از سرورهای مختلف تأمین کند.

دیدگاهتان را بنویسید