بهترین پاسخ برای سوال اوپن استک چیست، این است که اپن استک امکان استفاده از تمام منابع سرورها را به صورت اشتراکی فراهم میسازد.
اگر این پاسخ به اندازه کافی برایتان شفاف نبود، با ابر فردوسی همراه باشید تا به بیانی ساده شما را با ماهیت و سرویس های اوپن استک آشنا کند.
اپن استک چیست؟
اوپن استک یک پلتفرم نرم افزاری متن باز است که در دنیای رایانش ابری کاربرد دارد. و این پلتفرم یکی از 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 نیز شامل موارد زیر هستند که ادامه با آنها آشنا خواهیم شد:
- سرویسهای اوپن استک
- ابزارهای عملیات
- افزونههای خدمات
- توانمندسازهای یکپارچهسازی
اول _ سرویس های اوپن استک _ 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 یک نرم افزار متن باز است و میتواند برای نیازهای خاص سفارشی شود.
سخن نهایی و معرفی کاربرد اوپن استک در ابر فردوسی
پلتفرم اوپن استک یک انتخاب محبوب برای مشاغل جهت ساخت، توسعه و اجرای برنامههای کاربردی و وب سرویسها در فضای ابری است.
توسعهدهندگان میتوانند از ابزارها و کامپوننتهای آن در راستای ایجاد نوآوریهای خود به گونهای دلخواه، باکیفیت و مشتریپسند استفاده نمایند.
انعطاف پذیری، معماری ماژولار، پشتیبانی از چندین هایپروایزر و گزینههای ذخیرهسازی اوپن استک، آن را به گزینه ای جذاب برای سازمانها با هر اندازهای تبدیل کرده است.
در انتهای پاسخ به سوال اوپن استک چیست باید گفت که این پلتفرم در عین سادگی، از پیچیدگیهای خاص خود نیز برخوردار است.
به همین علت هم به یک تیم حرفهای جهت راهاندازی، مدیریت و پشتیبانی نیاز دارد تا به صورت شبانهروزی خطاها و الزامات آن را برآورده سازند.
تیم پشتیبانی حرفهای ابر فردوسی به صورت شبانهروزی آماده ارائه خدمات سریع و با کیفیت ابری به مشتریانش است. جهت آشنایی بیشتر کلیک کنید:
