OpenStack فقط یک ابزار نیست؛ بلکهای مجموعهای کامل از سرویسها و ماژولهاست که با کمک آنها میتوانید زیرساخت ابری اختصاصی مدنظرتان را روی سرورهای خودتان پیاده کنید؛ چیزی شبیه به آمازون یا مایکروسافت کلاد!
پس با این ابزار رایگان و متنباز، دیگر برای داشتن زیرساختهای ابری مدنظرتان، از سرویسدهندههای بزرگ بینیاز میشوید؛ جالب نیست؟!
قبل از اینکه برویم سر اصل مطلب و بگوییم openstack چیست، سازوکار آن چگونه است و …، به این نکته توجه کنید:
برای درک و آشنایی بیشتر با اوپن استک، باید اول با اصطلاحات و مفاهیم دنیای رایانش ابری آشنا باشید؛ پس حتماً نگاهی به مقالۀ «رایانش ابری (Cloud Computing) چیست؟ بررسی کاربردها برای کسبوکارها» در وبلاگ لیموهاست بیندازید.
حالا بیایید شروع کنیم.
openstack چیست؟
به زبان ساده، اوپن استک یک پلتفرم متنباز است که زیرساخت لازم برای ساخت انواع ابرهای عمومی و خصوصی را برای ارگانها به وجود میآورد.
نکتۀ جالب: در کنار پلتفرمهایی مثل وردپرس، openstack جزو پراستفادهترین پروژههای متنباز در سراسر جهان به حساب میآید!
اگر موافق باشید با نگاهی تخصصیتر این پلترم را بررسی کنیم.
OpenStack دقیقاً کاربرد یک IaaS (مخفف Infrastructure-as-a-service) را دارد؛ به این صورت که حجم خیلی زیادی از منابع پردازشی، ذخیرهسازی و شبکه را گردآوری، توزیع و مدیریت میکند. منابعی که راجعبه آنها صحبت میکنیم، شامل قطعات سختافزاری، ماشینهای مجازی (VMs) و کانتینرها میشوند و مدیریت آنها از طریق APIها و البته داشبورد OpenStack انجام میگیرد.
برای تکتک مفاهیمی که در پارگراف بالا به آنها اشاره کردیم، مقالۀ جداگانه داریم که در این زیر لینک هرکدام را میبینید:
- IaaS چیست؟ (مزایا، معایب و مثال به زبان ساده)
- ماشین مجازی (vm) چیست؟ آشنایی با کلید ورود به دنیای ابری
- API چیست؟ هرآنچه باید درباره API بدانید (به زبان ساده)
عملکرد این پلتفرم بر مجازیسازی استوار است. با در نظر گرفتن این موضوع، بیایید به سؤالی که احتمالاً ذهنتان را درگیر کرده باشد، پاسخ بدهیم.
![]() |
تفاوت OpenStack با سایر پلتفرمهای مدیریت مجازی سنتی
OpenStack پا را فراتر از فرایند مجازیسازی میگذارد! یعنی برخلاف پلتفرمهای مطرحی مثل VMware، vSphere و Red Hat Virtualization Manager که صرفاً کاربردی بهجز Virtualization ندارند، اوپناستک نقش یک پلتفرم ابری تماموکمال را بازی میکند.
خب این یعنی چه؟
یعنی اینکه این پلتفرم، تمام خصوصیات یک ابر عمومی را از خود نشان میدهد! کاربران اوپناستک میتوانند درخواستهای خود مبنیبر دریافت منابع پردازشی، ذخیرهسازی و شبکه را از طریق یک پرتال با پلتفرم در میان بگذارند و نیازشان را دقیقاً با مقدار منابع مشخصشده، برطرف کنند.
جدول زیر کمکتان میکند بهتر بفهمید فرق مجازیسازهای سنتی با openstack چیست:
مورد مقایسه | OpenStack | مجازیسازهای سنتی |
TCO | پایین | بالا |
متد مدیریت منابع | متدی با نام Cattle | متدی با نام Pets |
مکانیزم تأمین منابع | مبتنیبر Template | مبتنیبر Image |
مقیاسپذیری | توسعۀ افقی یا Scale-out | توسعۀ عمودی یا Scale-up |
Workload | Stateless | Stateful |
متنباز بودن | متنباز است | معمولاً متنباز نیستند |
پس اوپن استک از خیلی جهات با مجازیسازهای سنتی تفاوت دارد و میتواند امکانات خیلی بیشتری از آنها ارائه کند.
بخش بعدی جز فنیترین قسمتهای مقاله است و میخواهیم ببینیم طرز کار openstack چیست.
![]() |
نحوۀ عملکرد OpenStack چگونه است؟
گفتیم ماهیت وجودی این پلتفرم روی مجازیسازی استوار است؛ به این ترتیب که منابع مجازی را در یک استخر گرد هم میآورد و هر وقت لازم باشد، مقدار مورد نیاز از منبعی بهخصوص را در اختیار کاربری که با آن کار میکند، قرار میدهد.
نکتۀ مهم اینجا است که خود پلتفرم دخالتی در فرایند مجازیسازی ندارد و در عوض، از تکنولوژیهای موجود برای این منظور کمک میگیرد. لازم است یاداوری کنیم که OpenStack از اجزای مختلفی (شامل چندین ماژول و نرمافزار متنباز) تشکیل میشود و مجازیسازهای سنتی هم جزو اجزای تشکیلدهندۀ آن به حساب میآیند.
جالب شد!
بهطور کلی، عملکرد OpenStack، به دو دسته از نرمافزارهای دیگر وابسته است:
- مجازیسازهایی که یک لایۀ مجازی و انتزاعی از منابع، روی سختافزارها به وجود میآورند؛
- یک سیستمعامل پایه که مسئولیت دستورهای صادرشده توسط اسکریپتهای OpenStack را بر عهده دارد.
میتوانید اینطوری به قضیه نگاه کنید:
OpenStack منابع را مجازیسازی نمیکند؛ بلکه از منابع مجازیسازیشده برای ساخت ابرها کمک میگیرد! این پلتفرم توانایی اجرای دستورات را هم ندارد و برای این منظور سراغ سیستمعامل پایه میرود.
تصویر زیر را ببینید تا درک بهتری از نحوۀ عملکرد این پلتفرم به دست بیاورید:
حالا بیایید ببینیم این تصویر چه میگوید.
در سطح بالایی، Dashboard Service و Orchestration Service را میبینیم که با شمارههای ۱ و ۹ مشخص شدهاند. اولی رابط کاربریای است که از طریق آن با اوپناستک کار میکنید و برای مدیریت فرایندهای مختلف کاربرد دارد؛ دومی به درد مدیریت اتوماسیونهای مختلف میخورد. به بیان بهتر، Orchestration Service اجازه میدهد گروههای مختلف از منابع را که به Stacks معروف هستند، بسازید و مدیریت کنید.
بلوکهای پایینی (شمارههای ۲ تا ۸)، قلب تپندۀ پلتفرم هستند. بیایید ببینیم هرکدام از آنها چه وظیفهای را بر دوش میکشند:
- Identity Service: لاگینها و دسترسیها را کنترل میکند تا مطمئن شود افرادی که اجازه ندارند، وارد پلتفرم نمیشوند.
- Networking Service: دسترسی به شبکه را برای ماشینهای مجازی فراهم میکند.
- Bloc Storage Service: فضای ذخیرهسازی دائمی ارائه میکند؛ مثلاً هارد درایوهایی که حتی اگر ماشینهای مجازی با مشکل مواجه شوند، کارشان را ادامه خواهند داد.
- Compute Service: با استفاده از هایپروایزورهایی مثل KVM و VMware، ماشینهای مجازی را اداره و اجرا میکند.
- Image Storage Service: برای ذخیرهسازی Imageهای ماشینهای مجازی به کار گرفته میشود.
- Object Storage Service: فایلها و تکههای بزرگ داده را بهعنوان آبجکت ذخیره میکند.
- Telemetry Service: با جمعآوری آمارهای مصرف، عملکرد و میزان استفاده از منابع را مانیتور میکند.
حالا که میدانید اجزای تشکیلدهندۀ openstack چیست، بیایید ببینیم آنها چطور با یکدیگر همکاری و عملکرد پلتفرم را ممکن میکنند.
خیلی ساده بگوییم: همۀ این سرویسها با هم در مکالمهای دائمی هستند! سطوح ۱ (Dashboard) و ۹ (Orchestration) از سرویسهای سطوح پایینتر استفاده میکنند تا به کاربرها اجازه دهند روی زیرساختشان کنترل داشته باشند.
دو نکتۀ دیگری که باید بدانید:
- Identity Access دسترسی ایمن به همۀ اجزا را تضمین میکند؛
- Telemetry Service دادههای مورد نیازش را از تمام سرویسها جمعآوری میکند.
بد نیست با یک مثال فرضی کارمان در این بخش را به پایان ببریم. فرض کنید میخواهید یک ماشین مجازی جدید راه بیندازید؛ فرایندی شامل مراحل زیر:
- از طریق داشبورد وارد اپن استک میشوید
- اگر تنظیمات درست اعمال شده باشند، Orchestration Service فرایند لاگین را خودکارسازی میکند و دیگر نیازی نیست برای هر بار ورود، یوزرنیم و پسوردتان را از نو بنویسید
- Identity Service بررسی میکند که آیا اکانت شما مجوزهای لازم برای دسترسی را دارد یا نه
- Compute Service ماشین مجازی را راه میاندازد
- Image Service تمپلیت سیستمعامل را فراهم میکند
- Networking Service ماشین مجازی را به شبکه وصل میکند
- Bloc Storage یک فضای ذخیرهسازی مجازی را به VM اختصاص میدهد
- Telemetry Service در تمام طول فرایند، مصرف منابع را با دقت کنترل میکند
مفهوم بود؟
اگر همچنان برای درک نحوۀ عملکرد این پلتفرم مشکل دارید، احتمالاً با خواندن بخش بعدی جواب خیلی از سؤالهای خود را بگیرید.
![]() |
معماری و اجزای OpenStack را بهتر بشناسید!
OpenStack ساختاری ماژولار دارد. ۷ جزء اصلی هستند که تمام فرایندها (همانهایی که در بخش قبل وارد ریز جزئیاتشان شدیم) را مدیریت میکنند. هر کسبوکار و ارگانی، بسته به نیازهایی که دارد، میتواند تصمیم به استقرار یک یا چند مورد از این اجزا بگیرد.
این پروژههای متنبازی که در ادامه با آنها آشنا خواهید شد، اجزای اصلی تشکیلدهندۀ اوپناستک هستند:
- Nova: این سرویس توان پردازشی را مدیریت میکند و ماشینهای مجازی را میسازد.
- Neutron: وظیفۀ برقراری اتصال بین شبکههای مختلف که از OpenStack استفاده میکنند را بر عهده دارد.
- Swift: نرمافزاری است که نقش یک فضای ذخیرهسازی را بازی میکند؛ فضایی برای دریافت و ذخیره کردن دادههای ساختارنیافته.
- Cinder: مسئولیت مدیریت Block Storageها را دارد.
- Horizon: یک رابط کاربری مبتنیبر وب است که به کار مدیریت فرایندهای مرتبط با استقرار OpenStack میآید.
- Keystone: اعتبارسنجی و تأیید همۀ سرویسهای تشکیلدهندۀ OpenStack توسط Keystone انجام میگیرد.
- Glance: دریافت Imageهای VM و مدیریت آنها، بر عهدۀ این سرویس است.
به احتمال خیلی زیاد، حالا کاملاً متوجه شدهاید که روال عملکردی این پلتفرم به چه صورتی است؛ اگر اینطور نیست، اصلاً نگران نباشید؛ کامنت بگذارید تا کمکتان کنیم درک بهتری از همهچیز به دست بیاورید.
در بخش بعدی، راجعبه شکلهای مختلف پیادهسازی OpenStack صحبت خواهیم کرد.
![]() |
آشنایی با مدلهای پیادهسازی اوپن استک
بهخاطر متنباز بودن، OpenStack انعطاف زیادی دارد و میتوان آن را بسته به نیازهای خاص هر ارگان، سفارشیسازی کرد؛ ولی بهطور کلی، روشهای رایجتری وجود دارند که بیشتر کسبوکارها سراغ آنها میروند و اینجا به آنها میپردازیم:
پیادهسازی در محل (On-Prem Distribution)
بیشتر مجموعههایی که میخواهند از وجود یک ابر خصوصی روی زیرساختهای خودشان بهره ببرند، سراغ این مدل میروند؛ اینطوری، آنها سطح خیلی بالایی از سفارشیسازی را تجربه خواهند کرد؛ منتهی در صورتی که از مهارتهای لازم (و البته منابع کافی) برای استقرار آن برخوردار باشند.
استفاده برای ابر عمومی (OpenStack for Public Cloud)
میتوان از اوپناستک برای مدیریت زیرساخت یک ابر عمومی استفاده کرد. این کار قابلیتهای اوپناستک را با مقیاسپذیری بالای ابرهای عمومی ترکیب میکند و خروجی کارآمدی تحویل میدهد.
ابر خصوصی میزبانیشده (Hosted Private Cloud)
بهکمک یک ارائهدهندۀ معتبر، سازمانها میتوانند با استفاده از اوپناستک ابر خصوصی بسازند.
مدل مدیریتشده (Managed Deployment)
منظور استقرار مدلی است که دسترسی به یک ابر مبتنیبر OpenStack بهعنوان سرویس را فراهم میکند! در این مدل پیادهسازی، تمام مسئولیتهای مرتبط با میزبانی، پیکربندی و مدیریت بر عهدۀ ارائهدهندۀ سرویس میزبانی خواهد بود.
هرکدام از این مدلها، مزایای بهخصوصی را برای ارگانهای مختلف ارائه میکنند. برای مثال، پیادهسازی در محل یا همان On-Prem Distribution، امکان کنترل بیشتر را به وجود میآورد، منتهی نیازمند دانش فنی مورد و البته منابع بیشتر است. در نقطۀ مقابل، مدل مدیریتشده، امکان بهره بردن از قابلیتهای OpenStack را با کمترین تلاش ممکن از جانب ارگان استفادهکننده، فراهم میکند.
در بخش بعدی، نگاهی میاندازیم به کاربردهای این پلتفرم متنباز.
![]() |
کاربردهای اصلی openstack چیست؟
اوپناستک ۴ کاربرد اصلی دارد که در ادامه با آنها آشنا خواهید شد:
ایجاد ابر خصوصی (Private Cloud)
اوپناستک با ارائۀ امکانات لازم به ارگانها و کسبوکارها، به آنها اجازه میدهد ابرهای خصوصی را در محل، یا روی سرویسی که از یک هاستینگ معتبر گرفتهاند، ایجاد کنند.
ساخت ابر عمومی (Public Cloud)
OpenStack بهترین گزینۀ متنبازی است که برای ساخت ابرهای عمومی در دسترس قرار دارد! چه شرکتی بزرگ و میلیوندلاری داشته باشید و چه بهتازگی استارتاپ کوچک خود را راه انداخته باشید، میتوانید برای ساخت انواع ابرهای عمومی سراغ این پلتفرم بروید.
مجازیسازی عملکردهای شبکه (NFV – Network Functions Virtualization)
در سراسر دنیا، سازمانها و ارگانهای زیادی، برای مجازیسازی عملکردهای مختلف شبکه سراغ اوپناستک میروند و زیرساخت لازم برای این فرایند را توسط آن پیادهسازی میکنند.
پردازش دادههای کلان (Big Data Processing)
میتوانید با استفاده از اوپناستک، زیرساختهای مقیاسپذیری بسازید که برای پردازش دادهها در حجم خیلی زیاد مناسب هستند.
![]() |
و اما سؤال آخر، اینکه این پلتفرم به درد چه سازمانها و کسبوکارهایی میخورد.
کدام کسبوکارها میتوانند از اپن استک استفاده کنند؟
هیچ محدودیتی ندارد؛ هر کسی که بخواهد یک زیرساخت ابری برای خودش دست و پا کند، میتواند از این ابزار استفاده کند. منعطف بودن OpenStack و البته ماهیت متنبازش، میتواند نیازهای طیف گستردهای از کسبوکارها و ارگانها را برطرف کند؛ کسبوکارها و ارگانهایی مثل:
- شرکتهای مخاربراتی
- صنایع و ارائهدهندگان خدمات IT
- تولیدکنندگان سختافزار
- مؤسسات مالی
- نهادهای دولتی
- مراکز تحقیقاتی
- دانشگاهها و مؤسسات آموزشی
این هم از ارگانها و کسبوکارهایی که میتوانند روی قابلیتهای OpenStack حساب باز کنند؛ بیایید برویم سراغ جمعبندی پایانی مقاله.
OpenStack: هموارکنندۀ مسیر دنیای ابرها!
با خواندن این مقاله، فهمیدید openstack چیست؛ پس درک میکنید که چرا به آن لقب هموارکنندۀ دنیای ابرها را دادهایم؛ چون با این پلتفرم متنباز، هر ارگان و کسبوکاری، چه کوچک، چه بزرگ، میتواند ابرهای خصوصی و عمومی را مختص نیازهای خودش بسازد و به ابزاری کارآمد برای مدیریت آنها دسترسی داشته باشد.
همانطور که در ابتدا هم گفتیم، این مقاله بالاجبار با زبانی نسبتاً فنی نوشته شد و طبیعی است که در درک برخی از بخشهای آن با مشکل مواجه شده باشید؛ بنابراین، اگر سؤال یا ابهامی دارید، در قسمت کامنتها با ما ارتباط بگیرید تا پاسختان را بدهیم.
منابع: TechTarget | Red Hat
نظر شما در مورد این مطلب چیه؟