سرور چیست
سرور چیز عجیبی نیست: یک کامپیوتر که همیشه روشن است و به شبکه وصل است. همین. صفحهکلید و نمایشگر ندارد، و از راه دور با آن کار میکنی — با همان ترمینالِ فصل ۷.۱.۲.
تفاوت واقعیاش با لپتاپ تو، سه چیز است — و هیچکدام «قدرت» نیست:
و این نکته را جدی بگیر، چون تصورِ غالب برعکس است: سرورهای ارزان معمولاً از لپتاپ تو ضعیفترند. پس اگر دنبال سرعت بیشتری، سرور جواب نیست. سرور جوابِ پیوستگی است.
VPS: کامپیوتری که اجاره میکنی
VPS — که «ویپیاس» خوانده میشود — یعنی سرور مجازی خصوصی. یک کامپیوتر فیزیکیِ بزرگ در یک مرکز داده تکهتکه میشود و هر تکه به یک نفر اجاره داده میشود. تو تکهی خودت را میگیری و از دید تو، یک کامپیوتر کامل است.
چیزی که اجاره میکنی معمولاً با سه عدد توصیف میشود:
- پردازنده — چند هسته.
- حافظه (RAM) — این معمولاً همان عددی است که کم میآید و دردسر میشود، نه پردازنده.
- فضای دیسک — و گاهی پهنای باند، یعنی سقف دادهی ماهانه.
و برای اجارهکردنش لازم است بدانی که هزینهاش ماهانه و پیوسته است — یعنی حتی ماهی که هیچ استفادهای نکردی هم پرداخت میکنی. این با مدل پرداخت بهمصرفِ فصل ۷.۶.۱ فرق اساسی دارد و همانجاست که اغلب پول هدر میرود.
local در برابر cloud
دو کلمه که مدام میشنوی:
- local یعنی «روی همین دستگاهِ خودم». وقتی میگویند «اول local تستش کن»، یعنی روی لپتاپت.
- cloud یعنی «روی کامپیوترِ کسِ دیگری، که از راه دور اجارهاش کردهای». ابر جای جادویی نیست؛ ابر، کامپیوترِ یک نفر دیگر است.
و تفاوتشان برای تو عملی است، نه فنی:
- local: بیهزینه، سریع برای آزمودن، و داده از دستگاهت بیرون نمیرود — که با فصل ۵.۳ یکی از دلایل جدیِ ترجیحدادنش است.
- cloud: پیوسته، از هر جا قابل دسترسی، ولی هزینهدار و یک جای بیشتر که دادهات در آن هست.
بهخاطر بسپار هر چیزی که روی ابر میگذاری، یک نسخهی دیگر از دادهات در جایی است که تو کنترلش نمیکنی. این نه ترساندن است و نه دلیلِ استفادهنکردن — ولی وقتی داری بین local و cloud انتخاب میکنی، این یکی از کفههای ترازو است، نه فقط راحتی و هزینه.
کِی واقعاً به سرور نیاز داری (اغلب: نداری)
حالا صادقترین بخش این فصل. یک سؤال، و اگر جوابش «نه» بود سرور لازم نداری:
بهخاطر بسپار «کاری هست که باید وقتی من نیستم انجام شود؟» اگر نه — سرور لازم نداری، هرچقدر هم کارت جدی به نظر برسد.
سرور لازم است وقتی:
- کاری باید در ساعت مشخصی انجام شود، حتی اگر تو خواب باشی.
- چیزی باید به رویدادی از بیرون جواب بدهد — پیامی که رسید، فرمی که پر شد.
- کسِ دیگری هم باید از آن استفاده کند.
- کار ساعتها طول میکشد و نمیخواهی لپتاپت گرفتار بماند.
و سرور لازم نیست وقتی — که حالتِ غالب است:
- کار را خودت شروع میکنی و منتظر نتیجهاش میمانی. این تقریباً همهی کارهای این دوره است.
- هفتهای چند بار پیش میآید و چند دقیقه طول میکشد.
- روی فایلهایی کار میکند که روی دستگاه خودت هستند — که آنوقت بردنشان به سرور، خودش یک مسئلهی دادهای میسازد (فصل ۵.۳).
- و مهمترینش: هنوز مطمئن نیستی این اتوماسیون بهدردت میخورد. سرورِ ماهانه برای چیزی که ممکن است دو هفته بعد رهایش کنی، همان هزینهی نگهداریِ فصل ۲.۱.۳ است.
و یک راه میانی که خیلیها نمیبینند: لپتاپ خودت میتواند کارِ زمانبندیشده انجام دهد، به شرط اینکه آن ساعت روشن باشد. برای کاری که هر روز صبح که پشت میزی لازم است، این کافی است — و صفر تومان هزینه دارد.
تمرین (فکری)
برای این دو کار بگو سرور لازم است یا نه — و جوابت را با همان سؤالِ بخش ۷.۲.۴ توجیه کن:
- هر روز صبح، خلاصهای از ایمیلهای دیشب برایت آماده شود و ساعت ۷ در تلگرامت باشد.
- هر بار که فایل اکسلی از مشتری میرسد، تمیزش کنی و گزارشی از آن دربیاوری.
و بعد همین سؤال را روی یک کار از بکلاگ خودت اجرا کن.
پاسخنامه — یکی روشن است، یکی تله دارد
۱ — سرور لازم است. جواب روشن. «ساعت ۷ صبح» و «دیشب» یعنی کار باید وقتی تو نیستی انجام شود، و «در تلگرامت باشد» یعنی باید به بیرون هم وصل شود. هر دو شرطِ بخش ۷.۲.۴ برقرار است.
۲ — تله دارد، و جواب «نه» است. «هر بار که فایلی میرسد» شبیه رویدادِ بیرونی به نظر میرسد و اغلب همه را به سمت سرور میبرد. ولی سؤال اصلی را بپرس: آیا باید وقتی تو نیستی انجام شود؟ نه — تو خودت فایل را دریافت میکنی، و میتوانی همان موقع که دیدیاش کار را شروع کنی. تأخیرِ چند ساعته اشکالی ندارد.
و دو دلیل اضافه که «نه» را قویتر میکنند: فایل مشتری روی دستگاه توست (بردنش به سرور یعنی یک مسیر خروجِ دادهی تازه — فصل ۵.۳.۲)، و فایل اکسلِ فارسی همان چیزی است که فصل ۴.۲.۴ گفت اغلب دستِ آدم لازم دارد.
الگویی که این دو نشان میدهند: «رویداد از بیرون میآید» شرطِ کافی نیست. شرط این است که جوابِ آن رویداد نتواند منتظر تو بماند. اگر میتواند منتظر بماند، سرور لازم نیست.