Files

100 lines
11 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# مشخصات درس‌نامه: تکامل میزبانی وب؛ چرا 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 در متن گنجانده شود.