پرش لینک ها

انواع مختلف مجازی سازی سرور

سرور فیزیکی در فناوری مجازی سازی به عنوان میزبان (هاست) تعریف می شود و سیستم عامل نقش میزبان را ایفا می کند. هر ماشین مجازی در نقش یک میهمان است و سیستم عامل میهمان را اجرا می کند که متفاوت از یکدیگر هستند.
• با توجه به این که مجازی سازی مبتنی بر hypervisor روندی استاندارد است، hypervisor یا ناظر ماشین مجازی (VMM) در بین سیستم عامل (OS) میزبان و لایه سخت افزاری اصلی قرار گرفته و منابع لازم را برای سیستم عامل های میهمان فراهم می کند.
• دو مفهوم مجازی سازی مجدد و مجازی سازی کامل سبب تغییر سیستم عامل میهمان پیش از نصب در ماشین مجازی می شوند. این عمل سبب ارتقاء عملکرد می گردد چرا که سیستم عامل میهمان ارتباط مستقیمی با hypervisor دارد و سبب از بین رفتن سربار شبیه سازی می شود.
• مجازی سازی به کمک سخت افزار سعی می کند تا سربار اضافی hypervisor را کاهش دهد که این کار را از طریق توسعه سخت افزار در عوض تغییرات نرم افزاری انجام می دهد.
• مجازی سازی سطح کرنل (هسته) به جای استفاده از یک hypervisor می تواند یک نسخه مجزا از کرنل لینوکس را اجرا کند که سبب می شود اجرای چندین ماشین مجازی بر روی یک میزبان ساده تر شود و همچنین راه اندازه دستگاه برای ارتباط با کرنل اصلی لینوکس و ماشین های مجازی به کار گرفته شئند.
• با استفاده از مجازی در سطح سیستم یا مجازی سازی سیستم عامل می توان چندین محیط مجزا از نظر منطقی را بر روی یک نمونه از کرنل سیستم عامل اجرا کرد. با وجود مجازی سازی سطح سیستم، تمامی ماشین های مجازی می بایست نسخه ای از سیستم عامل را به اشتراک بگذارند در حالی که مجازی سازی سرور به ماشین های مجازی مختلف این امکان را می دهد تا سیستم عامل های متفاوتی را در اختیار داشته باشند.

ماشین های مجازی در مقابل حامل ها

دو توانمند کننده مهم انتقال حامل ها این موارد هستند: Docker که ابزار محبوبی برای انتقال حامل ها است و Google Kubernetes که به مدیریت چندین حامل کمک می کند. حامل ها (کانتینرها) محیط های خودمختار اجرای کد  هستند که کرنل سیستم عامل میزبان را به اشتراک می گذارند.
حامل ها بسیار ساده تر و سبک وزن تر از ماشین های مجازی هستند چرا که آن ها سیستم عامل های اضافی میهمان و سربارهای مربوط به راه اندازی را کنار می گذارند. توسعه دهندگان می توانند شش تا هشت بار هر تعداد کانتینر را همانند ماشین های مجازی بر روی یک سخت افزار یکسان اجرا کنند.
کانتینرها می توانند عملیات نابودسازی خود را انجام دهند. با توجه به این که این کار روش نسبتاً جدیدی است لذا آن ها نیاز به ابزارهای مدیریتی چندانی ندارند، در نتیجه امور راه اندازی و نگهداری زیادی وجود دارد که می بایست انجام شود. البته نگرانی هایی نسبت به امنیت نیز وجود دارد.
با استفاده از ماشین های مجازی به آسانی می توانید حجم بارها را در بین میزبان ها با استفاده از تصاویر (ایمیج های) میهمان جابجا کنید اما ارتقاء یا انتقال ماشین های فیزیکی بسیار دشوار است و بازگشت به حالت قبلی یک ماشین فیزیکی کار چالش برانگیزی است.

ماشین های مجازی در مقابل رایانش بدون سرور

در یک محیط ابری متداول زیرساخت به عنوان یک سرویس (IaaS)، مشتریان ابتدا ماشین های مجازی، استوریج (استوریج برای دیتای آفلاین مانند خرید کوانتوم و استوریج آنلاین مانند فروش emc)، دیتابیس ها و ابزارهای مرتبط امنیتی و مدیریتی را فراهم می کنند و سپس برنامه ها را بر روی ماشین های مجازی بارگذاری می کنند.
در محیط رایانش بدون سرور، توسعه دهندگان کدها را می نویسند و ارائه دهنده خدمات ابری موارد دیگر را مدیریت می کند. توسعه دهنده هرگز نیازی ندارد که درباره سرورها، سیستم عامل، تدارک یا مدیریت آن ها فکر کند. البته تجهیزات سرور فیزیکی وجود دارد که کد را اجرا می کند اما این مسئولیت بر عهده ارائه دهنده خدمات ابری است.
در عوض وجود یک برنامه یکپارچه، کد به کارکردهای ویژه ای شکسته می شود. هنگامی که رخدادی روی می دهد که سبب تحریک یک کارکرد می شود، سرویس بدون سرور مانند Amazon Lambda  آن را اجرا می کند. ارائه دهندگان خدمات بدون سرور مشتریان را از طریق کارکردها پشتیبانی می کنند.
با توجه به وجود سناریو سرویس های کوچک/ کانتینرها، رایانش بدون سرور لایه ماشین مجازی را کنار می گذارد و کارکردها را بر روی دستگاه فیزیکی اجرا می کند. در این نقطه، رایانش بدون سرور تقریباً نابالغ است و موارد استفاده آن محدود هستند.

آینده مجازی سازی

در حالی که کانتینرها میزبان هستند و تمایل به رایانش بدون سرور در حال رشد است، اما واقعیت این است که مجازی سازی سرور یک فناوری rock-solid است که اکثریت قریب به اتفاق برنامه های سازمانی را پشتیبانی می کند- برخی این میزان به بیش از 90 درصد تخمین می زنند.
البته تجسم این که انتقال و اجرای برنامه های حیاتی سازمان ها بر روی ماشین های مجازی، کانتینرها یا پلتفورم بدون سرور اجرا می شود دشوار است. کاربران با وجود محیط های ناهمگون احتمالاً تمایل دارند که از ماشین های مجازی استفاده کنند چرا که لازم است تمامی کانتینرها بر روی یک سیستم عامل یکسان اجرا شوند و بین لینوکس و ویندوز قابل ترکیب نیستند.
اما برای برنامه های جدیدی که با جدیدترین عملیات توسعه  (DevOps) ها و روش های چابک ساخته می شوند، توسعه دهندگان انتخاب هایی پیش رو دارند. توسعه دهندگان از تصمیمات مورد به مورد درباره اجرای کارهای جدید در یک ماشین مجازی متداول، یک کانتینر یا یک محیط بدون سرور استفاده می کنند.