بیایید با توضیح مختصری در مورد تکنولوژی مجازیسازی شروع کنیم.
در ارتباط با VPC و VPS می توان اینطور بیان کرد که در دنیای رایانه، مجازیسازی به معنای ایجاد یک نمونه مجازی از یک شیء فیزیکی میباشد. این شیء فیزیکی میتواند سیستمهای سختافزاری، دستگاههای ذخیرهسازی، یا حتی منابع شبکه رایانهای باشد. به عبارت دیگر، مجازیسازی امکان ایجاد یک نسخه مجازی از این دستگاهها و منابع را فراهم میکند، به طوری که از آنها میتوان به عنوان منابع مستقل و مجازی استفاده کرد. این فرایند مجازیسازی بر اساس نرمافزارها و فناوریهای خاصی صورت میگیرد که اجازه میدهند تا سختافزار و منابع فیزیکی به صورت مجازی مدیریت و استفاده شوند.
مجازیسازی معمولاً با استفاده از یک نرمافزار مجازیسازی، که به طور عمومی به عنوان “hypervisor” شناخته میشود، انجام میشود. Hypervisor یک لایه نرمافزاری است که بر روی سختافزار فیزیکی نصب میشود و این امکان را فراهم میکند تا چندین ماشین مجازی (VPS) روی همان سختافزار فیزیکی اجرا شوند.
تاریخچه مجازیسازی به دهه ۱۹۶۰ میلادی برمیگردد. شرکت IBM میتواند به عنوان یکی از پیشگامان در این حوزه نام برده شود. در آن زمان، تلاشها برای ایجاد یک محیط مجازی برای اجرای چندین سیستم عامل روی یک سختافزار فیزیکی آغاز شد.
برای آشنایی بیشتر با مجازی سازی، مقاله زیر را بخوانید.
از آن زمان تاکنون، شرکتهای بسیاری مانند VMware، Citrix، Oracle و دیگران وارد این عرصه شدهاند و محصولات و خدمات متنوعی در زمینه مجازیسازی ارائه کردهاند. این شرکتها محصولاتی را توسعه دادهاند که امکان مجازیسازی سیستمهای سختافزاری، دستگاههای ذخیرهسازی، سرویسهای میزبانی، دسکتاپها و برنامهها را فراهم میکنند.
VPS چیست؟
VPS یا Virtual Private Server یک سرویس محبوب در دنیای هاستینگ است که برای میزبانی وبسایتها و برنامههای آنلاین استفاده میشود. یک VPS به عنوان یک سرور مجازی عمل میکند که به شما امکان میدهد منابع مجازی مختص به خود را در یک محیط اختصاصی داشته باشید.
سرور مجازی VPS (Virtual Private Server) منابع اختصاصی خود را دارد که شامل پردازنده، حافظه RAM، فضای دیسک و پهنای باند میشود. این به معنای این است که هر VPS به عنوان یک محیط مجازی مستقل عمل میکند که دسترسی انحصاری به منابع مشخصی دارد.
اما تفاوت اصلی در این است که در یک سرور فیزیکی قدرتمند، میتوان بیش از یک VPS را همزمان اجرا کرد. با استفاده از تکنولوژی مجازیسازی، سرور فیزیکی قادر است منابع خود را بر اساس نیازهای مختلف به چندین سرور مجازی تقسیم کند. این به این معنی است که میتوان چندین VPS را روی یک سرور فیزیکی اجرا کرد.
با این روش، هر VPS از نظر عملکرد و امنیت به عنوان یک سرور مستقل عمل میکند، اما منابع فیزیکی سرور فیزیکی بین VPSها تقسیم میشود.
تصویر زیر درک ایده VPS را آسانتر میکند.

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

ریشه مجازیسازی به پارتیشنبندی سرور فیزیکی برمیگردد که این کار به سرور فیزیکی اجازه میدهد تا به چندین سرور منطقی تقسیم شود. این پارتیشنبندی به این صورت است که هر سرور منطقی به عنوان یک سیستم مجازی عمل میکند که دارای منابع محدود و مجزا است.
در واقع، مجازیسازی این امکان را برای شما فراهم میکند که با استفاده از یک سرور فیزیکی، چندین سیستم عامل و برنامههای مجزا را همزمان اجرا کنید. به این ترتیب، میتوانید منابع سختافزاری سرور را بهینهتر به کار ببرید و بر اساس نیازهای خود، ماشینهای مجازی با تنظیمات و منابع مختلف ایجاد کنید. این امکانات به شما اجازه میدهد تا به صورت انعطافپذیرتر و کارآمدتر به ارائه خدمات مختلف بپردازید و نیازهای مختلف کاربران را برآورده کنید.
گسترش منابع سرور به صورت scale up یا عمودی ممکن است با مشکلاتی همراه باشد. این روش نیازمند استفاده از سرورهای با قدرت بیشتر یا اضافه کردن منابع سختافزاری به سرورهای موجود است. اما این روشها ممکن است هزینهبر و زمانبر باشند و ممکن است به محدودیتهایی مانند حداکثر توانایی یک سرور فیزیکی برخورد کنند.
اما در سیستمهایی مانند VMware از مدل مدیریتی مبتنی بر منابع استفاده میکنند که به جای تمرکز بر اختصاص سختافزار به هر ماشین، تمرکز خود را بر روی اشتراک منابع، تخصیص آن به سرویسها، و محاسبه استفاده از منابع برای هر سرویس متمرکز میکنند. این به مدیران امکان میدهد تا بهترین استفاده را از منابع فیزیکی موجود کنند و به انعطافپذیری و بهرهوری بیشتری دست یابند.
سیستمهای رایانشابری با این تکنولوژی، روش جدیدی در پرداخت هزینه را برای کاربر ارائه کردند که کاربر تنها به اندازه مصرف منابع هزینه پرداخت میکند.
بیاید با یک مثال بیشتر توضیح دهیم:
در مدل سنتی خرید و استفاده از یک VPS، شما باید هزینه ثابتی را برای منابع مشخصی که به صورت اختصاصی برای شما تعریف شده است پرداخت کنید، بدون توجه به اینکه آیا این منابع تماماً استفاده شدهاند یا خیر. این به این معناست که حتی اگر شما از تمامی منابع در یک زمان خاص استفاده نکنید، هزینه ثابت مربوط به همه آن منابع را باید پرداخت کنید.
اما در سرویسهای ابری، مدل قیمتگذاری معمولاً بر اساس مصرف است. به عبارت دیگر، شما فقط برای مقداری از منابع که در واقع استفاده کردهاید پرداخت میکنید، و هزینهها بر اساس زمان و مقدار استفاده از منابع محاسبه میشود. به عبارت دیگر، در صورتی که ماشین شما خاموش باشد و از منابع استفاده نکند، هزینه مربوط به آن منابع به شما تحمیل نمیشود. این انعطافپذیری بسیار مفید است و به کاربران امکان میدهد تا هزینهها را بر اساس استفاده واقعی خود بهینه کنند و هدر رفت منابع را کاهش دهند.
نکته مهم دیگر سرعت بالای انجام تغییرات بر روی ماشین است، که در سرورهای ابری چند برابر ساختارهای قدیمی مجازی است.
تفاوت دیگر در مجازی سازیهای قدیمیعدم دسترسی کامل به ماشینهاست. اما در ساختار ابری شما دسترسی کامل به ماشین خود دارید و با خرید VPS ابری به راحتی میتوانید منابع خود را افزایش دهید. همچنین شما میتوانید برای ماشینهای خود یک شبکه خصوصی تعریف کنید.
VPC چیست؟
برای بیان این نکته بگذارید از یک مثال شروع کنیم:
شما یک VPS تهیه کردهاید و آن را به عنوان سایت خود قرار دادهاید. اما میخواهید اطلاعات و دیتابیس شما در سیستم دیگری باشد. در این صورت باید این دو سیستم از طریق اینترنت که محیطی ناامن است به هم وصل شوند. با این عمل شما اطلاعات خود را در معرض خطر قرار دادهاید. راه دیگر برای رفع این مشکل اجاره یک سرور مستقل و یا خریداری آن است که در هر دو صورت شما باید هزینههایی را برای نگهداری و تنظیمات سرور پرداخت کنید که هزینه بالایی را شامل میشود.
پس چگونه باید یک شبکه خصوصی در اختیار داشته باشیم که به راحتی بتوانیم آن را مدیریت کرده و از خطرات احتمالی بکاهیم؟
جواب این سوال همان VPC یا Virtual Private Cloud است که به شما یک شبکه خصوصی ابری میدهد شما در این شبکه میتوانید دسترسی IPها را محدود کرده و برای شبکه خود یک نتورک تعریف کنید. همچنان میتوانید هر کدام از سیستمها را که میخواهید به اینترنت وصل کرده و یا قطع نمایید.