# مشخصات درس‌نامه: تکامل میزبانی وب؛ چرا PaaS و استقرار مبتنی بر گیت (Git-based Deploy) برنده شد؟ - **شناسه در سیلابس:** `L12.4` - **فصل:** فصل ۱۲: انتشار روی اینترنت (Ch 12) - **نوع محتوا:** 📘 درس‌نامه متنی - **زمان تقریبی مطالعه:** ۱۶ دقیقه - **پیش‌نیازهای مستقیم:** `L12.3` (الفبای وب برای انتشار) --- ## ۱. اهداف یادگیری (Learning Objectives - Bloom's Taxonomy) دانشجو پس از مطالعهٔ این درس‌نامه باید بتواند: - [ ] **درک کند (Understand):** سیر تکامل هاستینگ وب از هاست‌های اشتراکی سی‌پنل (cPanel) تا سرورهای مجازی (VPS) و انقلاب نهایی پلتفرم به عنوان سرویس (PaaS) را شرح دهد. - [ ] **تحلیل/ارزیابی کند (Evaluate):** هزینه‌های پنهان نگهداری سرور شخصی (کانفیگ Nginx، لینوکس، مدیریت پورت‌ها، فایروال و اسکریپت‌های تجدید SSL) را در برابر سادگی استقرار خودکار PaaS مقایسه کند. - [ ] **درک کند (Understand):** جادوی استقرار مبتنی بر گیت (Git-based Deployment) را بشناسد که در آن هر دستور `git push` به شاخه اصلی، مستقیماً به نسخه جدید سایت زنده تبدیل می‌شود. - [ ] **به‌کار ببندد (Apply):** ماتریس تصمیم‌گیری انتخاب پلتفرم ابری مناسب برای پروژه پورتفولیو و استارتاپ‌های آینده را با ارزیابی پلن‌های رایگان (Free Tier) تحلیل و انتخاب نماید. --- ## ۲. محدوده و مرزهای محتوا (Scope & Boundaries) ### آنچه باید پوشش داده شود (In-Scope): 1. **داستان دردناک برنامه‌نویسان در گذشته در برابر بهشت امروز وایب کدرها:** * دوران هاست‌های cPanel و آپلود دستی فایل‌ها با FileZilla و درگیری با ارورهای عجیب PHP. * دوران سرور مجازی (VPS): نصف وقت صرف کدنویسی و نصف دیگر صرف کانفیگ سرور اوبونتو، دستورات SSH، تنظیم رورس پروکسی Nginx و سر و کله زدن با حافظه رم! 2. **پلتفرم به عنوان سرویس (PaaS)؛ جادوی استقرار در ۶۰ ثانیه:** * پلتفرم‌های مدرن مثل Vercel، Liara، Netlify و Railway چه کاری انجام می‌دهند؟ * شما فقط مخزن گیت‌هاب را متصل می‌کنید؛ پلتفرم خودش Next.js را تشخیص می‌دهد، پکیج‌ها را نصب می‌کند، بیلد می‌گیرد و در ده‌ها سرور ابری توزیع می‌کند. 3. **چرخه استقرار مبتنی بر گیت (Git-based Deployment Loop):** * کامیت تغییرات در شاخه اصلی (`main`) $\rightarrow$ ارسال به گیت‌هاب با `git push` $\rightarrow$ وب‌هوک خودکار به سرور ابری $\rightarrow$ اجرای بیلد در کانتینر ایزوله $\rightarrow$ تعویض نسخه بدون حتی یک ثانیه قطعی (Zero-Downtime Deployment). 4. **پلن‌های رایگان و اقتصادی توسعه‌دهندگان (Free Tier & Fair Use):** * پلن Hobby در Vercel: کاملاً رایگان برای پروژه‌های شخصی و پورتفولیو با پهنای باند سخاوتمندانه. * پلتفرم بومی لیارا: ارائه اعتبار هدیه تست و پلن‌های مقیاس‌پذیر اقتصادی با پرداخت ریالی برای تضمین سرعت بالا درون شبکه ملی. 5. **جدول مقایسه‌ای ۳ مدل میزبانی:** * مقایسه cPanel vs VPS vs PaaS از منظر: سرعت راه‌اندازی، مهارت‌های لینوکس مورد نیاز، مقیاس‌پذیری خودکار، هزینه زمانی و هزینه مالی. 6. **کال‌اوت‌های آموزشی و هشدار کوئرا:** * کال‌اوت بنفش (`
`): پدیده شروع سرد (Cold Start) در توابع سرورلس و نحوه برطرف شدن آن در نسل جدید پلتفرم‌های لبه (Edge). * کال‌اوت سبز (`
`): تمرکز ۱۰۰٪ روی خلق ویژگی‌های محصول به جای تبدیل شدن به یک متخصص سرور و DevOps. * کال‌اوت قرمز (`
`): شرایط استفاده جوانمردانه (Fair Use Policy) در ورسل؛ پورتفولیوی شخصی و رزومه مجاز است، اما پروژه‌های پردرآمد تجاری بزرگ نیازمند پلن Pro هستند. ### آنچه نباید وارد آن شویم (Out-of-Scope): - مباحث ارکستراسیون کانتینرها با کوبرنتیز (Kubernetes) سازمانی. - خطوط لوله پیچیده Jenkins و Terraform. --- ## ۳. مفاهیم کلیدی و کلمات تخصصی (Key Concepts & Terms) | اصطلاح انگلیسی | معادل فارسی مصوب | توضیح یک‌خطی ساده | | :--- | :--- | :--- | | Git-based Deployment | استقرار مبتنی بر گیت | انتشار خودکار نسخه جدید نرم‌افزار به محض ارسال کامیت‌های جدید به مخزن گیت‌هاب | | Zero-Downtime Deploy | استقرار بدون قطعی | جابجایی ترافیک از نسخه قدیمی به نسخه جدید تنها پس از اطمینان کامل از موفقیت بیلد جدید | | Shared Hosting | هاست اشتراکی | میزبانی وب سنتی با منابع مشترک و محدودیت شدید که برای وب مدرن منسوخ شده است | | VPS (Virtual Private Server) | سرور مجازی اختصاصی | یک ماشین مجازی لینوکس با سیستم‌عامل اختصاصی که نیازمند مدیریت فنی کامل توسط کاربر است | | Serverless Architecture | معماری بدون سرور | مدل ابری که در آن منابع پردازشی به صورت آنی بر اساس تقاضا اجرا و سپس خاموش می‌شوند | | Cold Start | راه‌اندازی اولیه سرد | تاخیر ناچیز چندصد میلی‌ثانیه‌ای در اولین اجرای یک تابع بدون سرور که پس از مدتی بی‌کاری بیدار می‌شود | --- ## ۴. جایگاه‌های تصاویر و نمودارها (Visual & Diagram Placeholders) > **راهنمای ایجنت نویسنده:** تمام تصاویر باید در پوشهٔ `images/` ذخیره شده و در جدول تک‌خانه‌ای وسط‌چین درج شوند: 1. **تصویر کاور درس:** `images/cover.png` * **موضوع:** تقابل یک سرور فیزیکی غبارگرفته با سیم‌پیچی‌های پیچیده در برابر پلتفرم ابری مدرن و صیقلی با دکمه درخشان Deploy. 2. **سیر تحول میزبانی وب از گذشته تا امروز:** `images/hosting-evolution-timeline.png` * **موضوع:** اینفوگرافیک تاریخی: دهه ۲۰۰۰: هاست اشتراکی cPanel $\rightarrow$ دهه ۲۰۱۰: سرورهای مجازی VPS $\rightarrow$ دهه ۲۰۲۰: پلتفرم‌های ابری PaaS مبتنی بر گیت. 3. **چرخه استقرار خودکار با Git Push:** `images/git-push-to-deploy-flow.png` * **موضوع:** دیاگرام فرآیند: گیت‌پوش از ادیتور $\rightarrow$ گیت‌هاب $\rightarrow$ وب‌هوک خودکار $\rightarrow$ کانتینر بیلد پلتفرم $\rightarrow$ انتشار زنده بدون قطعی روی آدرس دامنه. 4. **جدول ماتریس مقایسه‌ای cPanel در برابر VPS و PaaS:** `images/cpanel-vs-vps-vs-paas-matrix.png` * **موضوع:** جدول مقایسه‌ای رنگی با ستون‌های زمان استقرار، پیچیدگی فنی، و سهولت استفاده برای وایب کدرها. --- ## ۵. بخش‌بندی و ساختار محتوایی پیشنهادی درس‌نامه (`README.md`) 1. **تیتر اصلی:** `# تکامل میزبانی وب؛ چرا PaaS و استقرار مبتنی بر گیت (Git-based Deploy) برنده شد؟` 2. **مقدمه:** چرا به عنوان یک وایب کدر مدرن هرگز نباید ثانیه‌ای از وقت باارزش خود را صرف دستورات خسته‌کننده سرورهای لینوکس کنید؟ 3. **جدول کاور درس** 4. **استعاره اجاره خودرو با راننده در برابر ساخت دستی موتور اتومبیل:** * شما می‌خواهید به مقصد برسید (انتشار محصول)، پس چرا باید مکانیکی دیزل بخوانید؟ 5. **تاریخچه کوتاه هاستینگ وب: از فاجعه cPanel تا آزادی با PaaS:** * چرا هاست‌های ارزان قدیمی پروژه‌های Next.js و React را خفه می‌کنند؟ 6. **معماری پلتفرم‌های ابری مدرن (PaaS):** * کانتینرهای خودکار، توابع سرورلس، و شبکه جهانی Edge. 7. **جادوی استقرار با گیت (Git-based Deployment):** * یک دستور `git push` ساده و مشاهده فرآیند ساخت زنده در داشبورد ابری. 8. **بررسی دو قهرمان دوره: لیارا (بومی پایدار) و Vercel (استاندارد جهانی):** * کدام را کی انتخاب کنیم؟ استراتژی دوگانه هوشمندانه. 9. **باکس نکته Quera (`
`):** مفهوم استقرار پیش‌نمایش موقت (Ephemeral Environments)؛ امکان مشاهده تغییرات هر برنچ قبل از اعمال روی سایت اصلی. 10. **باکس هشدار Quera (`
`):** گول هاست‌های اشتراکی ارزان را نخورید؛ Next.js یک اپلیکیشن تمام‌عیار Node.js است و روی هاست‌های ارزان PHP اجرا نمی‌شود. 11. **باکس انرژی‌بخش Quera (`
`):** به دنیای مدرن توسعه وب خوش آمدید؛ جایی که دکمه دیپلوی لذت‌بخش‌ترین دکمه کیبورد شماست. 12. **جمع‌بندی درس‌نامه:** انتخاب مدل میزبانی؛ ورود به اجرای عملی استقرار روی لیارا و ورسل در درس بعدی. --- ## ۶. معیارهای پذیرش (Acceptance Criteria for Reviewer) - [ ] تکامل مدل‌های میزبانی و دلایل برتری PaaS برای توسعه‌دهندگان مدرن تبیین شود. - [ ] مکانیسم استقرار مبتنی بر گیت (Git-based Deploy) با فلوچارت گرافیکی تشریح گردد. - [ ] مقایسه شفاف میان پلتفرم‌های بومی (لیارا) و بین‌المللی (ورسل) ارائه شود. - [ ] جدول ماتریس مقایسه‌ای cPanel vs VPS vs PaaS در متن گنجانده شود.