یک پلتفرم منبع‌باز برای ساخت زیرساخت‌های ابری
اوپن‌استک (OpenStack) چیست و چرا رایانش ابری را متحول خواهد ساخت؟
اوپن‌استک محبوب‌ترین پلتفرم منبع‌باز فضای ابری است و در چند سال اخیر به‌شکل قابل توجهی مورد توجه سازمان‌ها قرار گرفته است. گزارشی که موسسه Statista در سال 2021 میلادی منتشر کرد، نشان داد نزدیک به 30 درصد شرکت‌ها و سازمان‌ها در جهان از اوپن‌استک در زیرساخت فناوری اطلاعات خود استفاده کرده‌اند. اوپن‌استک در سال 2010 میلادی به دنیای فناوری اطلاعات وارد شد و در طول این سال‌ها به پروژه‌ای موفق و قدرتمند در دنیای شبکه و رایانش ابری تبدیل شده است. اوپن‌استک، ابتدا به‌شکل یک پلتفرم برای پیاده‌سازی خدمات تحت وب آمازون (AWS)، برای گسترش فضای ابری خصوصی ایجاد شد، اما در گذر زمان به پروژه بزرگی تبدیل شد. به‌طوری‌که امروزه از این فناوری برای پیاده‌سازی زیرساخت مجازی‌سازی عملکرد شبکه (NFVI)، زیرساخت‌های ابری عمومی محلی، محیط‌های لبه (Edge) و چند ابری ترکیبی (hybrid multi-cloud) استفاده می‌شود.

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

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

رایانش ابری به‌لطف فناوری‌های زیربنایی مختلف، تحول بزرگی در دنیای فناوری اطلاعات به وجود آورده و انجام برخی از کارها را ساده کرده است. یکی از فناوری‌های کلیدی در این زمینه «اوپن‌استک» است. اوپن‌استک، پلتفرم ابری منبع‌بازی است که توانایی مدیریت، پردازش، شبکه‌سازی و تعریف منابع توزیع‌شده را دارد. این فناوری قادر به تجمیع منابع است و منابع مجازی را بر اساس تقاضا از طریق یک پورتال سلف‌سرویس در اختیار کاربران قرار می‌دهد. علاوه بر این، به سازمان‌ها اجازه می‌دهد تا مفاهیم مهمی مثل چندمستاجری، ذخیره‌سازی شیء‌محور، ذخیره‌سازی موقت (Ephemeral Storage) و غیره را پیاده‌سازی کنند. این پلتفرم اغلب همراه با دیگر پروژه‌های منبع‌باز مثل کوبرنتیس یا Ceph با هدف ارائه یک زیرساخت باز که قادر به مدیریت انواع مختلف بار‌های کاری است مورد استفاده قرار می‌گیرد. با توجه به این‌که چشم‌انداز رایانش ابری امروزی پیچیده‌تر از سال‌های قبل شده است، سازمان‌ها تمایل چندانی به استفاده از ابرهای عمومی متعلق به یک ارائه‌دهنده خدمات ندارند و ترجیح می‌دهند به‌طور هم‌زمان از خدمات چند ارائه‌دهنده فضای ابری استفاده کنند. اوپن‌استک به‌خوبی به این نیاز مهم کسب‌وکارها پاسخ می‌دهد و یک پلتفرم ابری مقرون‌به‌صرفه برای محیط‌های چند ابری ترکیبی ارائه می‌کند. 

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

  • هایپروایزر: برخلاف راه‌حل VMware vSphere، اوپن‌استک دارای هایپروایزر نیست. در مقابل، قابلیت یکپارچه شدن با انواع هایپروایزرهای منبع‌باز و اختصاصی را دارد و قادر به ارائه رابط ابرمحوری است که با مولفه‌های شبکه ذخیره‌سازی ادغام می‌شود. محبوب‌ترین هایپروایزر که بیشتر توزیع‌های اوپن‌استک از آن پشتیبانی می‌کنند، KVM است.
  • پلتفرم مدیریت مجازی‌سازی: اگرچه اوپن‌استک از فرآیند مجازی‌سازی استفاده می‌کند، اما فراتر از پلتفرم‌های مدیریت مجازی‌سازی سنتی مثل VMware vSphere، Red Hat Virtualization یا Promax Virtual Environment عمل می‌کند. لازم به توضیح است که پلتفرم فوق از متدولوژی Cattle برای مدیریت منابع و مکانیسم template-based برای تامین منابع استفاده می‌کند و به بهترین شکل از مفهوم مقیاس‌پذیری پشتیبانی می‌کند. معماری مذکور به‌شکل بهینه قادر به استفاده از تجهیزات سخت‌افزاری است. 
  • هم‌طراز با فرامقیاس‌‌کننده‌ها (Hyperscale’s): درست است که اوپن‌استک در ابتدا به‌عنوان یک ابزار کوچک منبع‌باز توسط AWS توسعه پیدا کرد و قرار نبود به‌عنوان رقیبی برای فرامقیاس‌کننده‌ها باشد، اما در گذر زمان اکوسیستم اوپن‌استک به‌سمت معماری چند ابری متمایل شد و به‌عنوان راه‌حلی مقرون‌به‌صرفه برای زیرساخت ابری عمومی تبدیل شد. در حقیقت، ارائه‌دهندگان ابرهای عمومی مثل مایکروسافت به‌شکل گسترده‌ای از اوپن‌استک استفاده می‌کنند. 

چرا اوپن‌استک نزد شرکت‌ها و سازمان‌های کوچک و بزرگ محبوب است؟ 

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

اوپن‌استک مقرون‌به‌صرفه است

پیاده‌سازی یک زیرساخت ابرمحور با استفاده از اوپن‌استک با هدف اجرای یک ماشین مجازی راهکاری است که برخی از شرکت‌ها از آن استفاده می‌کنند. به‌کارگیری هزاران ماشین مجازی به‌شکل شبانه‌روزی در یک ابر عمومی در بلندمدت هزینه‌بر است، در حالی که اوپن‌استک راه‌حل اقتصادی‌تری برای اجرای بارهای کاری در بلندمدت با محوریت مقیاس‌پذیری ارائه می‌کند. همین مسئله باعث شده تا اوپن‌استک به‌عنوان بخشی از یک اکوسیستم چند ابری (multi-cloud) گسترده توزیع پیدا کند و به‌‌عنوان یک عامل توسعه مقرون‌‌به‌صرفه برای فرامقیاس‌کننده‌ها عمل کند. اوپن‌استک در مقایسه با راه‌حل‌های اختصاصی شرکت‌هایی مثل وی‌ام‌ویر اقتصادی‌تر است، زیرا این راه‌حل‌ها به لایسنس‌های گران‌قیمت نیاز دارند. به همین دلیل، بخش عمده‌ای از کسب‌وکارهای کوچک توانایی خرید این لایسنس‌ها را ندارند. این در حالی است که پلتفرم اوپن‌استک به‌شکل رایگان در دسترس است و برای استفاده از آن نیازی به پرداخت هزینه ندارید. 

اوپن‌استک منبع‌باز است

منبع‌باز بودن به یکی از استاندارد‌های جدید فناوری اطلاعات تبدیل شده است. این روند در تمام لایه‌های زیرساختی و برنامه‌های کاربردی به‌خوبی دیده می‌شود. قابلیت منبع‌باز بودن مزایای مختلفی در اختیار کسب‌وکارها قرار می‌دهد. به‌طور مثال، وصله‌های امنیتی در زمان کوتاهی اعمال می‌شوند و باگ‌ها به‌سرعت شناسایی می‌شوند. پلتفرم اوپن‌استک به‌طور کامل منبع‌باز است و تحت نظارت نهادی مستقل به‌نام «بنیاد زیرساخت باز» پشتیبانی و نگه‌داری می‌شود. پلتفرم مذکور را بیش از 550 شرکت و 34000 هزار توسعه‌دهنده پشتیبانی می‌کنند. به همین دلیل، پلتفرم اوپن‌استک یکی از سه پروژه برتر منبع‌باز حال حاضر است که بعد از کرنل لینوکس و مرورگر کرومیوم در جایگاه سوم قرار دارد.

اوپن‌استک وابستگی شما به فناوری‌های شرکت‌های خاص را برطرف می‌کند 

یکی از دغدغه‌های بزرگ کارشناسان فناوری اطلاعات، نقض حریم خصوصی و افشای اطلاعات است که تحت عنوان حاکمیت داده‌ها (Data Sovereignty) به آن اشاره می‌شود. فرامقیاس‌کننده‌ها دسترسی سریع به زیرساخت‌های ابری را ارائه می‌کنند، اما هم‌زمان نگرانی‌های امنیتی نیز برای برخی از سازمان‌ها به‌وجود می‌آورند. مقررات محلی یا خط‌مشی‌های شرکت‌ها ممکن است اجازه ذخیره داده‌ها در پلتفرم‌های عمومی مثل AWS، Azure یا Google Cloud را ندهند. برخی از ارائه‌دهندگان بزرگ برای حل این مشکل اقدام به ارائه سرویس‌های محلی مثل AWS Outposts یا Azure Stack کرده‌اند تا شرکت‌ها اطلاعات خود را روی زیرساخت‌های ابری عمومی نگه‌داری کنند. پلتفرم اوپن‌استک قابلیت استفاده از زیرساخت شخصی را ارائه می‌کند؛ به این معنا که به سازمان‌ها اجازه می‌دهد ابر اختصاصی خود را ایجاد کنند. شرکت‌ها می‌توانند زیرساخت ابر اختصاصی خود را توسعه دهند و برنامه‌های کسب‌وکار خود را روی این زیرساخت خصوصی اجرا کنند. علاوه بر این، ارائه‌دهندگان خدمات می‌توانند از اوپن‌استک برای پیاده‌سازی زیرساخت‌های ابر عمومی محلی با هدف به حداکثر رساندن انطباق با قوانین حفظ حریم خصوصی داده‌ها استفاده کنند. چنین ابرهایی پهنای باند بالاتر و تاخیر کمتری را ارائه می‌دهند.

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

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

  • Nova: این مولفه، موتور اصلی محاسباتی اوپن‌استک است که برای پیاده‌سازی و نگه‌داری از ماشین‌های مجازی و نمونه‌های ساخته‌شده مورد استفاده قرار می‌گیرد.
  • Swift: یک سامانه ذخیره‌سازی شی‌ءمحور و فایل‌محور است. Swift به‌‌جای آن‌که بر مبنای روش قدیمی اشاره به فایل از طریق محل آن روی درایو کار کند، از شیء ویژه‌ای که شناسه‌گر (Identifier) نام دارد برای اشاره به فایل یا اطلاعات موردنیاز کاربران استفاده می‌کند و تعیین می‌کند اطلاعات در چه مکانی ذخیره‌سازی شده‌اند. راهکار فوق، مقیاس‌پذیری را ساده می‌کند، زیرا دیگر نگرانی از بابت مقدار ظرفیت موجود روی یک سیستم وجود نخواهد داشت. 
  • Cinder: یک مولفه ذخیره‌سازی بلاک‌محور است که عملکردش شبیه به سیستم فایلی سنتی نصب‌شده روی کامپیوترهای شخصی است که به فایل‌های روی یک دیسک درایو دسترسی پیدا می‌کند. این روش قدیمی زمانی موردنیاز است که سرعت دسترسی به اطلاعات مهم است. 
  • Neutron: مولفه‌ فوق قابلیت شبکه‌سازی را برای اوپن‌استک فراهم می‌کند. مولفه فوق تضمین می‌کند که مولفه‌های اوپن‌سورس با سرعت بالایی با یک‌دیگر در تعامل هستند. 
  • Horizon: عملکردی شبیه به یک داشبورد برای اوپن‌سورس دارد و تنها رابط گرافیکی برای اوپن‌سورس است. Horizon اولین مولفه اوپن‌استک است که کاربران با آن در تعامل خواهند بود. توسعه‌دهندگان می‌توانند به تمام مولفه‌های اوپن‌سورس از طریق واسط برنامه‌نویسی کاربردی به‌طور جداگانه دسترسی داشته باشند. سرپرستان شبکه از طریق داشبورد می‌توانند اتفاقات در حال انجام روی ابر را مشاهده کرده و در صورت لزوم تغییراتی در پیکربندی اعمال کنند. 
  • Keystone: بر روند دسترسی به سرویس‌ها در اوپن‌استک نظارت دارد. به بیان دقیق‌تر، فهرستی از تمام کاربران ابری اوپن‌استک و سرویس‌هایی که کاربران اجازه دسترسی به آن‌ها را دارند، مشخص می‌کند. Keystone روش‌های مختلفی برای دسترسی به سرویس‌ها را تعریف می‌کند.
  • Glance: سرویس‌های مربوط به ایمیج‌های اوپن‌استک را ارائه می‌دهد. ایمیج‌ها، کپی مجازی از هارد‌‌دیسک‌ها هستند. با استفاده از Glance می‌توانیم هنگام پیاده‌سازی ماشین مجازی جدید، از ایمیج‌ها به‌‌عنوان الگو (Template) استفاده کنیم.
  • Ceilometer: سرویس‌های دورسنجی (Telemetry) ارائه می‌دهد. با استفاده از مولفه فوق می‌توان سرویس‌های پرداخت (Billing) را به زیرساخت ابری افزود. Ceilometer فهرستی قابل بررسی (Verifiable) از نحوه استفاده هر یک از کاربران از مولفه‌های مختلف اوپن‌استک را ارائه می‌کند. به بیان دقیق‌تر به مسائل مرتبط با اندازه‌گیری و گزارش‌دهی به کاربران رسیدگی می‌کند. 
  • Heat: مسئولیت هماهنگ‌سازی سرویس‌ها و رویدادها در اوپن‌استک را بر عهده دارد. یکی از وظایف مولفه فوق تعیین منابع و تخصیص منابع مورد نیاز برنامه‌های کاربردی است. 

شکل 1

سرویس‌گیرنده اوپن‌استک (OpenStack Client)

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

پایگاه ‌داده‌های SQL

سرویس‌های اوپن‌استک، رکوردهای مختلفی ایجاد می‌کنند که در پایگاه داده‌ SQL ذخیره می‌شوند. این رکوردها اطلاعاتی در مورد کاربران، متادیتای ایمیج‌های ابری آپلودشده، VM flavorsهای موجود و موارد مشابه را نگه‌داری می‌کنند. درست است که پلتفرم اوپن‌استک از پیاده‌سازی پایگاه داده‌های (SQL) مختلف پشتیبانی می‌کند، اما در بیشتر موارد از MySQL استفاده می‌کند. 

صف‌های پیام

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

سرویس‌ها

برخلاف دیگر پلتفرم‌های ابری، معماری اوپن‌استک کاملا ماژولار است، به این معنا که سازمان‌ها می‌توانند ابرهای متناسب با نیازهای خود را بسازند. پلتفرم ابری اوپن‌استک بالغ بر 30 سرویس است که به‌طور مدام بر تعداد آن‌ها افزوده می‌شود. 

کلام آخر

توزیع‌های ابری خصوصی که در اوپن‌استک اجرا می‌شوند، مزایای قابل‌ توجهی نسبت به ابرهای خصوصی در اختیار سازمان‌ها قرار می‌دهند که با استفاده از کدهای سفارشی ساخته شده‌اند. IDC پژوهشی در این زمینه انجام داده که نشان می‌دهد ارزش پلتفرم Red Hat OpenStack برای ابرهای خصوصی سازمان‌های بزرگ، سالانه 6.81 میلیون دلار است. نکته مهمی که باید به آن دقت کنید این است که ابرهای ترکیبی با ارائه بهترین‌های مزایای ابرهای خصوصی و عمومی به سازمان‌ها اجازه می‌دهند از قابلیت‌های منحصر‌به‌فرد هر پلتفرم استفاده کنند. به‌عنوان مثال، ابر خصوصی ممکن است به‌طور پیش‌فرض استفاده شود، اما هنگامی که ترافیک افزایش پیدا کرد، می‌توان بخشی از ترافیک را به ابر عمومی انتقال داد تا ضمن حفظ سرعت و دسترسی سریع به منابع، مشکلی از بابت تاخیر در درخواست‌ها به‌وجود نیاید.

ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را می‌توانید از کتابخانه‌های عمومی سراسر کشور و نیز از دکه‌های روزنامه‌فروشی تهیه نمائید.

ثبت اشتراک نسخه کاغذی ماهنامه شبکه     
ثبت اشتراک نسخه آنلاین

 

کتاب الکترونیک +Network راهنمای شبکه‌ها

  • برای دانلود تنها کتاب کامل ترجمه فارسی +Network  اینجا  کلیک کنید.

کتاب الکترونیک دوره مقدماتی آموزش پایتون

  • اگر قصد یادگیری برنامه‌نویسی را دارید ولی هیچ پیش‌زمینه‌ای ندارید اینجا کلیک کنید.

ایسوس

نظر شما چیست؟