一句話總結 TL;DR
用手搖店比喻幫你建立一張部署地圖,把網站上線的選項分成 IaaS / CaaS / PaaS / FaaS 四類,再用「前端還後端、是否長跑、有無 Docker」三問決定該用哪個平台。
部署到底是什麼
- 部署=從只有自己能跑變成外人能用 01:04
- localhost 只有自己這台電腦連得到 00:32
- 部署含三件事:放到外部連得到處、啟動服務、給入口網址 01:04
試營運:本機加臨時通道
- 每台電腦都能拿來讓外人連線 01:37
- Cloudflare Tunnel、ngrok 開臨時通道:把外部連到你本機服務 02:10
- 只適合 demo、測試、短期驗證 01:37
- 電腦關機斷網睡眠服務就消失 01:58
租整台雲端電腦:IaaS
- IaaS=租整台 VM/VPS,自由度最大 02:42
- 什麼套件都能自己裝:Node.js、Python、資料庫皆可 02:42
- 自由度最大但責任也最大:安裝、備份、HTTPS 全自理 03:14
- 常見選擇:EC2、Lightsail、GCE、Azure VM 03:45
- 務必每天看帳單:AWS 高機率爆量嚇一跳 04:49
交給平台跑:CaaS 與 PaaS
- Docker 把環境套件啟動方式打包成標準格式 05:57
- CaaS=交出 Docker image 讓平台幫你跑 06:28
- CaaS 幫你顧基礎設施:啟動、重啟、更新、擴充、接 HTTPS 06:28
- CaaS 平台:Cloud Run、App Runner、Container Apps 07:00
- PaaS=直接交原始碼,連 Docker 都免 07:31
- PaaS 門檻更低但可控細節更少:如 Heroku、Render、Railway 07:31
- 重要資料別存服務本機:平台會重啟或搬移服務 08:03
前端、後端與資料庫
- 前端靜態檔可放:GitHub Pages、S3 加 CloudFront 08:35
- 需編譯的前端用:Vercel、Netlify、Cloudflare Pages 08:35
- 後端處理 API、登入、付款等邏輯 09:07
- 新手別自己在 VM 裝資料庫 09:40
- 資料重要就用託管資料庫:如 AWS RDS,備份升級交平台 09:40
FaaS 與冷啟動
- FaaS=寫一段邏輯,有事件才執行、按量計費 10:44
- 適合做完就結束的任務:圖片壓縮、轉檔、寄通知 11:15
- 長跑或需保持連線不適合 FaaS 11:15
- 冷啟動:閒置後環境被回收:下次要重建才跑 11:47
- 要求極低延遲即時就不適合 FaaS 11:47
金句與關鍵數據 Quotes & Numbers
- IaaS 是租一間店面,CaaS 是把 SOP 交給統包商,PaaS 只提供配方,FaaS 有訂單時才找代工廠——四類部署的手搖店比喻 11:47
總結與行動建議 Takeaways
- 先問要部署前端還是後端
- 前端看是否需編譯:靜態用 Pages/S3,需編譯用 Vercel
- 後端先問是否長跑、保持連線、在意冷啟動
- 都沒有且事件觸發:用 FaaS,如 Lambda、Workers
- 有這些特性就看有無 Docker:有用 Cloud Run,無用 Heroku
- 懶得分細,直接租一台 VM 全包也行