100 lines
11 KiB
Markdown
100 lines
11 KiB
Markdown
# مشخصات درسنامه: تکامل میزبانی وب؛ چرا 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 در متن گنجانده شود.
|