آشنایی با هایپروایزر ابری در رایانش ابری

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


هایپروایزر چیست؟

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

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

هایپروایزر ابری (Cloud Hypervisor) چیست؟

هایپروایزر ابری یک هایپروایزر است که برای تسهیل محاسبات در محیط ابری طراحی و برای ادغام یکپارچه با پلتفرم‌ها و راهکارهای میزبانی ابری، مانند Amazon AWS با Hypervisor Xen یا Google Cloud با KVM ساخته شده است. ایده اصلی یکسان است، تنها چیزی که تغییر کرده نحوه استفاده از آن است.
معمولا زمانی که یک شرکت چندین کامپیوتر را بدون صرف هزینه برای سخت افزار اضافی می‌خواهد از هایپروایزر استفاده می‌شود. آنها فقط می‌توانند کامپیوتر موجود را بگیرند و میزبان دو ماشین مجازی باشند که به طور همزمان کار می‌کنند. این به کسب‌وکارها اجازه می‌دهد، برای مثال، لینوکس و ویندوز را بر روی یک کامپیوتر اجرا و در صورت نیاز از عملکردهای منحصر به فرد آن‌ها استفاده کنند.

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

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

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

چرا هایپروایزر مهم است؟

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

هایپروایزر چگونه کار می‌کند؟

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


مزایا و معایب هایپروایزر

برای دیدگاهی جامع در مورد هایپروایزرها در رایانش ابری، بیایید نگاهی دقیق‌تر به فراز و نشیب‌های استفاده از این فناوری بیندازیم:

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

 

انواع هایپروایزر در رایانش ابری

دو نوع هایپروایزر اصلی در رایانش ابری وجود دارد: نوع 1 و نوع 2.

هایپروایزر نوع 1

هایپروایزورهای نوع 1، هایپروایزورهای bare-metal نیز نامیده می‌شوند. با توجه به اینکه این نوع هایپروایزر مستقیم روی سرور bare-metal اجرا می‌شود، نام مناسبی است. برای عمل به عنوان میزبان و اجرای آن به عنوان یک برنامه اجرایی نیازی به سیستم عامل ندارد. در عوض، مستقیم روی سخت افزار اجرا می‌شود و مستقیم با مادربرد و CPU ارتباط برقرار می‌کند.

هایپروایزر نوع 1

هایپروایزرهای محبوب نوع 1 عبارتند از:

  • VMware ESXi
  • Xen
  • Microsoft Hyper-V

مزایا و معایب هایپروایزر نوع 1
هایپروایزرهای نوع 1 دارای برخی مزایا و معایب ذاتی هستند که آنها را برای برخی موارد استفاده ایده آل و برای برخی دیگر کمتر ایده آل می‌کند.

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

 

هایپروایزر نوع 2

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

هایپروایزر نوع 2

هایپروایزرهای قابل توجه نوع 2 عبارتند از:

  • VMware Workstation
  • Oracle VirtualBox
  • Parallels Desktop

مزایا و معایب هایپروایزر نوع 2
هایپروایزورهای نوع 2 برخی از عملکردهای جدید را فراتر از هایپروایزورهای نوع 1 به قیمت سایر ویژگی‌ها معرفی می‌کنند.
 

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

 

تفاوت‌های کلیدی هایپروایزور نوع 1 و نوع 2

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

جنبه هایپروایزر نوع 1 هایپروایزر نوع 2
استقرار به طور مستقیم بر روی سخت افزار فیزیکی اجرا می‌شود در بالای سیستم عامل میزبان موجود اجرا می‌شود
کارایی حداقل سربار عملکرد به دلیل دسترسی مستقیم سخت افزاری سربار عملکرد اضافی از لایه سیستم عامل میزبان
پیچیدگی نصب و مدیریت به تخصص بیشتری نیاز دارد نصب و استفاده راحت‌تر است
امنیت کاهش سطح حمله، چون سیستم عامل میزبان واسطه وجود ندارد افزایش سطح حمله به دلیل وابستگی به سیستم عامل میزبان
سازگاری محدود به تنظیمات سخت افزاری خاص سازگار با طیف وسیعی از سخت افزار و سیستم عامل‌ها
موارد استفاده ایده‌آل برای محیط سازمانی با عملکرد و ثبات بالا مناسب برای توسعه، آزمایش و استفاده شخصی
مدیریت منابع تخصیص و زمان بندی کارآمد  وابسته به سیستم عامل میزبان، کارایی کمتر

 

مقایسه کانتینر (Container) با هایپروایزر (Hypervisor)

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

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

کانتینرها در سطح سیستم عامل مجازی می‌شوند. آنها منابع میزبان را بین ماشین‌های مجازی تقسیم نمی‌کنند بلکه بین برنامه‌ها تقسیم می‌کنند. هسته سیستم عامل ثابت می‌ماند و تنها چیزی که اتفاق می‌افتد دو نمونه(instance) مجازی و ایزوله به نام کانتینر است که در سیستم عامل باز می‌شوند. این نمونه‌ها را می توان با یک برنامه کاربردی و وابستگی‌های آن پر(fill) کرد و به عنوان یک بسته واحد جابجا کرد.
هایپروایزرها بسیار عمیق تر از کانتینرها هستند. هدف هایپروایزورها شبیه سازی چندین کامپیوتر در یک کامپیوتر فیزیکی است. هر کامپیوتر مجازی که به این ترتیب ایجاد می‌شود، به نام VM، سیستم عامل، برنامه های کاربردی و غیره خود را دارد.

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

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


نتیجه

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