در این درس میخوانید
فرض کنید پروژهٔ وب شما باید وقتی لپتاپ خاموش است هم در دسترس بماند. به محیطی نیاز دارید که برنامه را اجرا کند و از شبکه به درخواستها پاسخ دهد. یکی از انتخابها سرور مجازی یا VPS است. در درس دوم این مسیر، ابتدا خود واژهٔ سرور را روشن میکنیم و بعد میبینیم «مجازی» چه چیزی را عوض میکند. برای فهم این درس، لازم نیست هیچ سرویس پولی تهیه کنید.
سرور نام یک نقش است
سرور میتواند به رایانهای گفته شود که خدمات میدهد یا به نرمافزاری که درخواست دریافت میکند؛ مثلاً وبسرور. یک رایانهٔ معمولی هم میتواند در یک آزمایش نقش سرور داشته باشد. در میزبانی اینترنتی، معمولاً منابع در دیتاسنتر با برق، شبکه و مدیریت مناسبتر قرار دارند. روشنبودن ماشین فقط یک شرط است؛ برنامهٔ سرویسدهنده، تنظیم شبکه و دسترسی نیز باید درست باشند.
ماشین مجازی چگونه ساخته میشود؟
مجازیسازی اجازه میدهد منابع یک میزبان فیزیکی میان چند محیط مجازی تقسیم شود. نرمافزار مدیریت این لایه را hypervisor مینامند. هر ماشین مجازی، سیستمعامل مهمان و منابع مجازیِ تعریفشدهٔ خود را میبیند. برای فهم اولیه میتوان یک ساختمان با چند واحد را تصور کرد: هر واحد فضای جداگانه دارد، اما زیرساخت کلی مشترک است. این تشبیه به معنای جداسازی بینقص یا تضمین عملکرد در هر شرایطی نیست؛ پیادهسازی و سیاست ارائهدهنده مهماند.
VPS چه اختیاری میدهد؟
در بسیاری از سرویسهای VPS، میتوانید سیستمعامل پشتیبانیشده را انتخاب، بسته نصب و سرویس اجرا کنید و با حساب مدیریتی تنظیمات را تغییر دهید. دامنهٔ اختیار به نوع سرویس بستگی دارد. در این مجموعه، بیشتر یک محیط Linux مستقلِ قابل مدیریت را در نظر میگیریم. عنوانهای تجاری همیشه تمام جزئیات فنی را مشخص نمیکنند؛ نوع مجازیسازی، منابع تضمینشده و محدودیتها را باید در مستندات همان سرویس دید.
مشخصات را به زبان ساده بخوانید
- vCPU: پردازندهٔ مجازی که زمان اجرا دریافت میکند؛ برابر دانستن همیشگی آن با یک هستهٔ فیزیکی اختصاصی درست نیست.
- RAM: حافظهٔ کاری برنامهها؛ با فضای ذخیرهٔ فایل یکسان نیست.
- دیسک: محل سیستمعامل، برنامه، پایگاه داده و فایلها؛ ظرفیت و کارایی دو ویژگی متفاوتاند.
- ترافیک: مقدار دادهٔ منتقلشده در یک بازه؛ با سرعت لحظهای اتصال تفاوت دارد.
- IP و شبکه: مسیر دسترسی به ماشین؛ عمومی یا خصوصیبودن و قواعد فایروال روی دسترسی اثر میگذارند.
در یک مثال فرضی، 2 vCPU، چهار گیگابایت RAM و چهل گیگابایت دیسک سه منبع متفاوتاند. افزایش دیسک، کمبود RAM را خودکار حل نمیکند. همچنین تعداد کاربر بهتنهایی برای تعیین ظرفیت کافی نیست؛ نوع درخواست، پایگاه داده، کش و مصرف واقعی اهمیت دارند. برای پروژهٔ جدی، اندازهگیری و امکان رشد را بررسی کنید، نه فقط بزرگترین عدد روی صفحهٔ فروش.
VPS، هاست اشتراکی و سرور اختصاصی
در هاست اشتراکی، معمولاً محیط از قبل برای کار مشخصی آماده است و کنترل سیستمعامل محدودتر است؛ این میتواند برای بعضی سایتها مدیریت را ساده کند. VPS اختیار بیشتری برای نصب و تنظیم میدهد و نگهداری بیشتری هم میخواهد. سرور اختصاصی، یک ماشین فیزیکی را به استفادهٔ شما اختصاص میدهد، اما هنوز به سیستمعامل، برنامه و نگهداری نیاز دارد. هیچکدام بدون توجه به نیاز پروژه، گزینهٔ همیشگیِ بهتر نیستند.
آیا سرور ابری و کانتینر همان VPS هستند؟
ابر علاوه بر زیرساخت، معمولاً یک مدل ارائه و مدیریت منابع با امکاناتی مانند ساخت از راه API و مقیاسپذیری است؛ مجازیسازی یکی از فناوریهای پشت آن است. کانتینر نیز لزوماً یک ماشین مجازی کامل نیست و در الگوی رایج، هستهٔ میزبان را با محیطهای دیگر به اشتراک میگذارد. این واژهها با هم مرتبطاند، اما مترادف نیستند. برای شروع، دانستن اینکه برنامه کجا اجرا میشود و کدام لایه را شما مدیریت میکنید، مهمتر از حفظ نام محصولات است.
مسئولیت مدیریت با چه کسی است؟
در سرویس مدیریتنشده، نصب وصلهها، تنظیم دسترسی، پایش سرویس و پشتیبانگیری اغلب به عهدهٔ شماست. در سرویس مدیریتشده، بخشی از این کارها ممکن است ارائه شود، اما محدودهٔ دقیق باید مشخص باشد. Snapshot میتواند برای بازگشت مفید باشد، ولی بدون بررسی سازگاری، محل نگهداری و آزمون بازیابی، آن را جایگزین کامل پشتیبان ندانید. مهم است بدانید در صورت حذف فایل یا از دسترس خارجشدن حساب، چطور داده را برمیگردانید.
یک پروژهٔ دانشجویی روی VPS چه لایههایی دارد؟
- ماشین روشن و سیستمعامل قابل استفاده.
- حساب کاربری و مسیر اتصال مانند SSH.
- برنامهٔ پروژه و سرویس اجرای آن.
- مسیر شبکه و پورتهای لازم.
- نام دامنه و HTTPS، اگر پروژه از وب عمومی در دسترس است.
- پشتیبان و روشی برای دیدن خطاها و مصرف منابع.
تمرین مفهومی و پاسخ
اگر یک VPS روشن است اما برنامهٔ وب اجرا نشده، آیا صرف داشتن IP سایت را نمایش میدهد؟ خیر؛ باید برنامهٔ سرویسدهنده روی مسیر و پورت مناسب پاسخ دهد. اگر فضای دیسک زیاد است ولی برنامه از کمبود RAM متوقف میشود، آیا افزودن دیسک مشکل را حتماً رفع میکند؟ خیر؛ منابع نقشهای متفاوت دارند. در پایان، با واژههای خودتان تفاوت «محیط اجرا» و «فایل پروژه» را توضیح دهید.
منابع انگلیسی
- AWS — What is VPS?
- https://aws.amazon.com/what-is/vps/
- Red Hat — What is a virtual machine?
- https://www.redhat.com/en/topics/virtualization/what-is-a-virtual-machine
- Red Hat — Virtualization
- https://www.redhat.com/en/topics/virtualization/what-is-virtualization
این آموزش با مثالهای مستقل برای دانشجوی تازهکار تدوین شده است. درس بعد، روش ساخت محیط تمرین Linux روی رایانهٔ شخصی را توضیح میدهد.
پیشنیاز و محیط اجرای مثالها
درس 2 از ۱۰ در مسیر مقدماتی لینوکس و مفاهیم سرور. این مطلب مفهومی و مناسب شروع است. فرمانهای نمونه فقط در محیط آزمایشی معرفیشده اجرا شوند؛ نتیجهٔ واقعی به محیط شما وابسته است.
پیشرفت روی همین مرورگر ذخیره میشود.