آینده ی مجازی سازی سرور چیست؟

زمان مطالعه: 6 دقیقه
انتشار :
۱۳۹۸-۰۲-۰۱

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

 

مجازی سازی سرور از آن دسته تکنولوژی هایی است که با داشتن مفهوم ساده ، تأثیر شگرفی بر دیتاسنتر شرکت ها و موسسات دارند.

اگر می توانستیم به جای اجرای یک سیستم عامل و یک اپلیکیشن بر روی سرور ، یک لایه ی نرم افزاری به نام hypervisor, اضافه کنیم که با آن قادر باشیم به صورت هم زمان چند سیستم عامل و برنامه ی مختلف مربوط به هر کدام را بر روی یک سرور واقعی اجرا کنیم ، چه اتفاقی می افتاد؟

پاسخ این سوال در حقیقت همان ایده ای است که پشت پدیده ی مجازی سازی سرور وجود دارد. این ایده برای نخستین بار در دهه ی ۱۹۶۰ و کامپیوترهای mainframe شرکت IBM شکل گرفت و با VMware که در اوایل دهه ی ۲۰۰۰ نرم افزار مجازی برای سرور x86 به بازار عرضه شد ، در اختیار عموم قرار گرفت. پس از آن سایر فروشندگان نیز پلتفرم سرور مجازی خودشان را ساختند و این صنعت در کل سبب ساخت ابزارهای مدیریت ، هماهنگ کننده و اتوماتیکی شد که نصب ، راه اندازی و کنترل ماشینهای مجازی(VM) را بسیار آسان کرده اند.

 

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

اما هیچ تکنولوژیی نیست که پس از آن یک تکنولوژی بزرگتر و بهتر نیاید و در مورد سرور مجازی ، این تکنولوژی بزرگتر ، در حقیقت نوعی کوچک تر شدن است.

 

سرور مجازی یک دستگاه واقعی ( سخت افزار ) را به چند بخش تقسیم کرده و با این کار این امکان را فراهم می کند که چند سیستم عامل و چند اپلیکیشن کامل ، بتوانند از قدرت رایانش یک کامپیوتر استفاده کنند. در موج جدید رایانش ، سازندگان اپلیکیشن ها را به اجزای کوچکتر (میکروسرویس ها ) که در کانتینرهای سبک اجرا می شوند ، تقسیم می کنند. در این موج جدید ، سازندگان به آزمایش رایانش بدون سرور (serverless) که ارائه ی عملکرد به عنوان سرویس (FaaS) هم نامیده می شود ، نیز می پردازند. در هر دوی این حالات ، روی هم رفته سرور مجازی کنار گذاشته شده و کدهای دستوری در یک سیستم bare metal اجرا می شوند.

 

مزایای سرور مجازی

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

 

سرور مجازی با خلاص کردن شما از چرخه ی تکراری جایگزین کردن دستگاههای فرسوده و قدیمی نیاز به صرف سرمایه برای خرید سخت افزار جدید را کاهش می دهد و شما می توانید از ظرفیت آزاد سرورهای موجود خود استفاده کنید.

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

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

 

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

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

  • در نوع سرور مجازی استاندارد بر پایه ی وجود hypervisor ، ناظر سرور مجازی (VMM) یا hypervisor بین سیستم عامل میزبان و لایه ی سخت افزار زیرین قرار گرفته و منابع لازم برای سیستم عاملهای مهمان را فراهم می کند.
  • Para virtualization و full virtualizationسیستم عامل مهمان را قبل از نصب بر روی ماشین مجازی تغییر داده و تعدیل می کنند. با این کار میان سیستم عامل مهمان و hypervisor ارتباط مستقیم برقرار شده و میزان تقلید از overheadبه حداقل می رسد و بدین ترتیب قدرت عملکرد افزایش پیدا می کند.
  • مجازی سازی سرور با کمک سخت افزار نیز تلاش می کند تا میزان overhead را در hypervisor کاهش دهد ، اما این کار را با گسترش سخت افزار و نه از طریق تغییر نرم افزار انجام می دهد .
  • در مجازی سازی سرور در سطح kernel ، به جای استفاده از hypervisor شما یک نسخه ی مجزا از Linux kernel را اجرا می کنید. این شیوه با استفاده از یک درایور برای برقراری ارتباط بین کرنل اصلی لینوکس و ماشینهای مجازی ، اجرای چند ماشین مجازی را بر روی یک هاست آسان می کند.
  • سرانجام در روش مجازی سازی سیستم عامل و یا در سطح سیستم ، شما می توانید محیطهای متعدد آما از نظر منطقی مجزا از یکدیگر را بر روی یک نمونه کرنل سیستم عامل اجرا کنید. در روش مجازی سازی در سطح سیستم ، تمام ماشینهای مجازی باید از یک کپی از سیستم عامل به صورت شریکی استفاده کنند ، اما در مجازی سازی سرور این امکان وجود دارد که ماشینهای مجازی مختلف از سیستم عاملهای مختلف استفاده کنند.

 

ماشین های مجازی و کانتینر ها

دو ابزار اصلی که ما را قادر ساخت تا به سمت تحول ایجاد کانتینرها حرکت کنیم ؛ Docker ( ابزار رایج برای شروع کار با کانتینرها ) و کوبرنیتیز گوگل که به کنترل چند کانتینر کمک می کند ، هستند .

 

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

 

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

 

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

 

ماشین های مجازی و رایانش serverless

در محیط IaaS سرور ابری سنتی ، مشتریها ابتدا ماشینهای مجازی ، محل ذخیره ، پایگاه های داده و ابزارهای امنیتی و کنترلی مربوطه را تهیه کرده و سپس اقدام به بارگذاری اپلیکیشنها بر روی ماشین مجازی می کنند.

 

در رایانش serverless سازندگان تنها کدها را می نویسند و باقی کارها بر عهده ی شرکتی است که خدمات سرور ابری را ارائه می کند. سازنده مجبور نیست که به فکر تأمین و کنترل سرورها و سیستمهای عامل باشد. البته یک سرور واقعی برای اجرای کدها وجود دارد ، اما مسئولیت آن بر عهده ی شرکت ارائه کننده ی خدمات سرور ابری است. به جای یک اپلیکیشن یکپارچه، کد به عملکردهای اختصاصی شکسته می شود. وقتی یک اتفاق یا جریان خاص باعث تحریک شروع آن عملکرد خاص شود ، سرویس serverless ، مثلاً Amazon Lambda ، آن عملکرد را اجرا می کند.

 

ارائه کنندگان سرویس های serverless بر مبنای عملکرد ها از مشتری هزینه دریافت می کنند. رایانش serverless هم مانند داستان میکروسرویس/ کانتینر لایه ی ماشین مجازی را کنار گذاشته و عملکرد خود را بر روی سیستم bare metal اجرا می کند. در حال حاضر رایانش serverless در ابتدای راه است و موارد استفاده ی آن هنوز محدود هستند.

 

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

با اینکه کانتینرها مورد توجه و اقبال عمومی هستند و علاقه به رایانش serverless نیز رو به افزایش است ، واقعیت آن است که مجازی سازی سرور یک تکنولوژی قدرتمند و با پشتوانه است که بخش عمده ای از اپلیکیشنهای موسسات مختلف را تأمین می کند _ برخی تخمین می زنند که ماشینهای مجازی تا ۹۰% اپلیکیشنهای موسسات مختلف را سرویس می دهند.

 

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

 

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

بازخوردها
مقالات مرتبط
گیم فیشینگ چیست؟
گیمیفیکیشن چیست و چه تاثیری بر کسب و کارها دارد؟
یکی از نوین‌ترین روش‌ها برای برقراری ارتباط با مشتریان و یا مخاطبان، استفاده از روش‌های گیمیفیکیشن Gamification است.…
زمان مطالعه: 5 دقیقه
انواع سیستم عامل چیست ؟
سیستم عامل چیست؟ (معرفی انواع سیستم عامل)
بدون شک تمامی افرادی که با سیستم‌ها و تجهیزات کامپیوتری در ارتباط هستند، نام سیستم‌عامل را شنیدند و…
زمان مطالعه: 4 دقیقه