feat: add chapter 12-deployment-and-shipping specs

This commit is contained in:
2026-09-05 22:33:11 +08:00
parent 8e4e8d4f82
commit 18b9a967cf
7 changed files with 746 additions and 0 deletions

View File

@@ -0,0 +1,99 @@
# مشخصات درس‌نامه: تکامل میزبانی وب؛ چرا 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. **کال‌اوت‌های آموزشی و هشدار کوئرا:**
* کال‌اوت بنفش (`<details class="violet">`): پدیده شروع سرد (Cold Start) در توابع سرورلس و نحوه برطرف شدن آن در نسل جدید پلتفرم‌های لبه (Edge).
* کال‌اوت سبز (`<details class="green">`): تمرکز ۱۰۰٪ روی خلق ویژگی‌های محصول به جای تبدیل شدن به یک متخصص سرور و DevOps.
* کال‌اوت قرمز (`<details class="red">`): شرایط استفاده جوانمردانه (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 (`<details class="violet">`):** مفهوم استقرار پیش‌نمایش موقت (Ephemeral Environments)؛ امکان مشاهده تغییرات هر برنچ قبل از اعمال روی سایت اصلی.
10. **باکس هشدار Quera (`<details class="red">`):** گول هاست‌های اشتراکی ارزان را نخورید؛ Next.js یک اپلیکیشن تمام‌عیار Node.js است و روی هاست‌های ارزان PHP اجرا نمی‌شود.
11. **باکس انرژی‌بخش Quera (`<details class="green">`):** به دنیای مدرن توسعه وب خوش آمدید؛ جایی که دکمه دیپلوی لذت‌بخش‌ترین دکمه کیبورد شماست.
12. **جمع‌بندی درس‌نامه:** انتخاب مدل میزبانی؛ ورود به اجرای عملی استقرار روی لیارا و ورسل در درس بعدی.
---
## ۶. معیارهای پذیرش (Acceptance Criteria for Reviewer)
- [ ] تکامل مدل‌های میزبانی و دلایل برتری PaaS برای توسعه‌دهندگان مدرن تبیین شود.
- [ ] مکانیسم استقرار مبتنی بر گیت (Git-based Deploy) با فلوچارت گرافیکی تشریح گردد.
- [ ] مقایسه شفاف میان پلتفرم‌های بومی (لیارا) و بین‌المللی (ورسل) ارائه شود.
- [ ] جدول ماتریس مقایسه‌ای cPanel vs VPS vs PaaS در متن گنجانده شود.