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