بیایید با توضیح مختصری در مورد تکنولوژی مجازیسازی شروع کنیم.
در دنیای رایانه، مجازیسازی ایجاد یک نسخه مجازی از یک شی فیزیکی است، از جمله مجازیسازی سیستمهای سختافزاری، مجازیسازی دستگاههای ذخیرهسازی و یا ایجاد دستگاه مجازی از منابع شبکه رایانهای.
این کار معمولا با استفاده از یک نرم افزار مجازیسازی معروف به نام hypervisor انجام میشود. به طور خلاصه، VPS یک ماشین مجازی است که دقیقا عملکردهای یک سرور را دارد و تنها بخشی از سختافزار را در کنترل دارد. بدین صورت تمامی منابع شما صرف یک سرویس نمیشود و با یک سخت فزار قوی میتوانید مقدار زیادی سرویس راهاندازی کنید.
تاریخچه مجازیسازی به دهه 1960 برمیگردد و میتوان IBM را پیشگام این عرصه شمرد، هرچند پای بسیاری از شرکتهای بزرگ نیز به این عرصه باز شد مانند VMWARE، CITRIX،ORACLE و... که بیشتر ادمینها با محصولات این شرکتها آشنایی دارند. در این بین خدمات مجازی بسیاری مانند Application Virtualization،Hardware Virtualization،Virtual Desktops و.... ارئه شدند که هر کدام کاربرد خود را دارد
VPS یا Virtual Private Server سرویسی است که در دنیایهاستینگ مورد استفاده قرار میگیرد و هاستینگهای مختلف VPSهای مختلفی را ارئه میدهند
یک سرور VPS منابع اختصاصی خاص خود را دارد اما تفاوت در این است که در یک سرور فیزیکی قدرتمند میتواند بیش از یک VPS وجود داشته باشد. با استفاده از مجازیسازی، سرور فیزیکی بر اساس منابع به تعداد زیادی سرور مجازی مستقل تقسیم میشود
تصویر زیر درک ایده VPS را آسانتر میکند.
البته تفاوتی در نوع ارتباط ماشینهای مجازی با سرورها وجود دارد که باعث میشود عملکرد متفاوتی داشته باشند.
در مجازی سازیهای قدیمیتر سیستم مجازیسازی به صورت Full Virtualization است در این روش ماشینهای مجازی مستقیما با سختافزار و منابع درگیر بودند و یک ماشین میتوانست باعث مشکل در عملکرد سیستم شود. متخصصان با مشاهده این مورد روی به سمت Paravirtualization آوردند. در این روش یک رابط درخواست ماشینها را کنترل کرده و سپس به سمت سختافزار هدایت میکرد. با این روش از اضافه بار پردازش در سختافزار جلوگیری میشد.
در تصویر زیر تفاوت دو سیستم نمایش داده شده است
با رشد تکنولوژی ابری مجازیسازی تغییر شکل داد. البته هنوز خیلی از افراد سیستمهای مدیریت ابری مانند openstack را یک virtualization میدانند اما نکته مهم این است که این دو با هم تفاوت دارند.
ریشه مجازی سازی در پارتیشنبندی است که یک سرور فیزیکی را به چندین سرور منطقی تقسیم میکند. البته در این جا دید منطقی و محاسباتی به سیستم داریم نه دید فیزیکی. یعنی در حالت عادی هر سیستم فیزیکی توانایی ارائه سرویسهای محدود و راهاندازی همزمان یک سیستم عامل را دارد اما در مجازیسازی شما بر اساس سرویسهایتان میتوانید ماشینهای مجازی با سختافزارهای مختلف داشته باشید و به ارائه سرویسهای گوناگون بپردازید.
درست است مجازیسازی با افزایش عملکرد و بهینهسازی دسترسی همراه است. اما برای scale up یا گسترش منابع سرور دچار مشکل هستیم زیرا هم زمانبر است و هم افزایش مقیاس به صورت عمودی (اتصال سرورهای مجزا به یکدیگر به عنوان سیستم واحد) در بعضی موارد غیر ممکن است.
اما در سیستم کلود مانند openstack سیستم به جای تمرکز بر اختصاص سخت افزار به هر ماشین؛ تمرکز خود را روی اشتراک منابع، تخصیص آن به سرویسها و محاسبات استفاده از منابع برای هر سرویس اختصاص داده است. این ویژگی مشخص میکند که کاربر چه مقدار از منابع را مصرف کرده است.در صورتیکه در ماشینهای قدیمیمقدار سخت افزار اختصاص داده شده به هر ماشین محاسبه میشد نه مقدار استفاده.
سیستمهای رایانشابری با این تکنولوژی، روش جدیدی در پرداخت هزینه را برای کاربر ارائه کردند که کاربر تنها به اندازه مصرف منابع هزینه پرداخت میکند.
بیاید با یک مثال بیشتر توضیح دهیم:
هنگامیکه شما یک VPS قدیمیخریداری کرده که ساختاری غیر ابری دارد؛ هزینه را به صورت یکجا برای یک ماشین باید پرداخت کنید. یعنی برای خرید یک VPS با منابع مشخص باید هزینه ثابتی را بپردازید و تفاوتی نمیکند شما از این منابع استفاده میکنید یا خیر. اما در سرویسهای ابری با خرید VPS ابری تنها به اندازه مصرف پرداخت میکنید. مثلا اگر ماشین شما خاموش است دیگر هزینه رم و CPU را پرداخت نمیکنید.
نکته مهم دیگر سرعت بالای انجام تغییرات بر روی ماشین است، که در سرورهای ابری چند برابر ساختارهای قدیمیمجازی است.
تفاوت دیگر در مجازی سازیهای قدیمیعدم دسترسی کامل به ماشینهاست. اما در ساختار ابری شما دسترسی کامل به ماشین خود دارید و با خرید VPS ابری به راحتی میتوانید منابع خود را افزایش دهید. همچنین شما میتوانید برای ماشینهای خود یک شبکه خصوصی تعریف کنید.
از دیگر مزایای خرید VPS کلود میتوان به گزینههای زیر اشاره کرد:
و....
برای بیان این نکته بگذارید از یک مثال شروع کنیم:
شما یک VPS خریداری کردهاید و آن را به عنوان سایت خود قرار دادهاید. اما میخواهید اطلاعات و دیتابیس شما در سیستم دیگر باشد. خوب در این صورت باید این دو سیستم از طریق اینترنت که محیطی ناامن است به هم وصل شوند. با این عمل شما اطلاعات خود را در خطر قرار دادهاید. راه دیگر برای رفع این مشکل اجاره یک سرور مستقل و یا خریداری آن است که در هر دو صورت شما باید هزینههایی را برای نگهداری و تنظیمات سرور پرداخت کنید که هزینه بالایی را شامل میشود.
پس چگونه باید یک شبکه خصوصی در اختیار داشته باشیم که به راحتی بتوانیم آن را مدیریت کرده و از خطرات احتمالی بکاهیم؟
جواب این سوال همان VPC یا VIRTUAL PRIVATE CLOUD است که به شما یک شبکه خصوصی ابری میدهد شما در این شبکه میتوانید دسترسی IPها را محدود کرده و برای شبکه خود یک نتورک تعریف کنید. همچنان میتوانید هر کدام از سیستمها را که میخواهید به اینترنت وصل کرده و یا قطع نمایید.
از مزایای خوب استفاده از VPC راه اندازی بالانسر است که به صورتهای مختلف مانند round robin،weight round robinو source ip در دسترس کاربر قراردارد بدین صورت شما میتوانید یک شبکه یا دسترسی بالا را به راحتی راه اندازی کنید.