1. خانه
  2. همه مقالات
  3. مفاهیم رایانش ابری
  4. راهنمای جامع اپن استک _ اوپن استک چیست؟

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

زمان مطالعه: 7 دقیقه
اوپن استک چیست

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

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

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

اوپن استک یک پلتفرم نرم افزاری متن باز است که در دنیای رایانش ابری کاربرد دارد. و این پلت‌فرم یکی از 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. سرویس‌های اوپن استک
  2. ابزارهای عملیات
  3. افزونه‌های خدمات
  4. توانمندسازهای یکپارچه‌سازی

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

Compute و یا پردازش

1. NOVACompute Serviceماشین مجازی را مدیریت می‌کند.
2. ZUNContainers ServiceAPI ساده برای مدیریت کانتینرها ارائه می‌دهد.

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

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

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

1. SWIFTObject storeداده‌های تغییر پذیر را ذخیره می‌کند.
2. CINDERBlock Storageداده‌های ثابت را ذخیره می‌کند.
3. MANILAShared filesystemsخدمات اشتراک فایل ارائه می‌دهد.

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

1. NEUTRONNetworkingشبکه‌های مجازی را ایجاد و مدیریت می‌کند.
2. OCTAVIALoad balancerمتعادل کننده بار است.
3. DESIGNATEDNS serviceسرویس سرور DNS را ارائه می‌دهد.

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

1. KEYSTONEIdentity serviceخدمات شناسایی و احراز هویت را مدیریت می‌کند.
2. PLACEMENTPlacement serviceخدمات استقرار را ارائه می‌دهد.
3. GLANCEImage serviceتصویر مجازی مانند تصویر هسته یا تصویر دیسک را مدیریت می‌کند.
4. BARBICANKey managementخدمات مدیریت کلید ارائه می‌دهد.

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

1. HEATOrchestrationارکستراسیون برای ماشین مجازی را مدیریت می‌کند.
2. SENLINClustering serviceخدمات خوشه بندی ارائه می‌دهد.
3. MISTRALWorkflow serviceسرویس گردش کار ارائه می‌دهد.
4. ZAQARMessaging Serviceارائه سرویس پیام رسانی را بر عهده دارد.
5. BLAZARResource reservation serviceارائه خدمات رزرو منابع را بر عهده دارد.
6. AODHAlarming Serviceسرویس هشداردهنده را ارائه می‌دهد.

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

1. MAGNUMContainer Orchestration Engine Provisioningمدیریت کانتینر ارکستراسیون موتور تامین را بر عهده دارد.
2. SAHARABig Data Processing Framework Provisioningارائه خدمات پردازش داده را بر عهده دارد.
3. TROVEDatabase as a Serviceمدیریت منابع پایگاه داده را بر عهده دارد.

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

1. MASAKARIInstances High Availability Serviceنمونه‌های خدمات با دسترسی بالا را ارائه می‌‍‌دهد.
2. MURANOApplication Catalogکاتالوگ برنامه را ارائه می‌دهد.
3. SOLUMSoftware Development Lifecycle Automationاتوماسیون چرخه عمر توسعه نرم افزار را بر عهده دارد.
4. FREEZERBackup, Restore, and Disaster Recoveryخدمات پشتیبان‌گیری، بازیابی، و بازیابی فاجعه را بر عهده دارد.

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

1. TACKERNFV 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
سرور ژوپیتر
برچسب‌ها:
فهرست