結論先講

雲端帳單只是 TCO 的 10-20%,人力成本才是大頭。 Go 的機器成本確實比 Python 低 40-60%,但如果你的團隊全是 Python 工程師,硬轉 Go 省的機器錢會被學習曲線的時間成本吃掉。先算清楚「你的瓶頸是機器還是人」,再決定要優化哪邊。


從壓測數據算起

根據我們的壓測數據(9 個框架的 benchmark),500 concurrent users 下各框架需要的資源:

框架          CPU    RAM     RPS      每 Request 平均延遲
────────────────────────────────────────────────────────
Go (Gin)     2C     512MB   ~4500    ~8ms
Go (Fiber)   2C     512MB   ~5000    ~7ms
Node (Fastify) 2C   1GB     ~2800    ~15ms
Node (Express) 2C   1GB     ~1500    ~25ms
Python (FastAPI) 4C  1GB    ~1200    ~30ms
Python (Django) 4C   1.5GB  ~800     ~45ms
Java (Spring) 2C    2GB     ~3500    ~12ms
Rust (Actix)  1C    256MB   ~8000    ~4ms
PHP (Laravel) 4C    1GB     ~600     ~60ms

注意:這是 CRUD 混合場景的粗估值,實際依業務邏輯而異。


雲端主機月費對照

AWS EC2(us-east-1,On-Demand)

InstancevCPURAM月費適合
t3.small22GB~$15Go / Node(低流量)
t3.medium24GB~$30Go / Node / Java
t3.large28GB~$60Java(需要 heap)
t3.xlarge416GB~$120Python / PHP(需要多 CPU)
m6i.large28GB~$70Production 穩定負載
m6i.xlarge416GB~$140Production 高負載

GCP Compute Engine(us-central1)

MachinevCPURAM月費備註
e2-small22GB~$12比 AWS 便宜 ~20%
e2-medium24GB~$24
e2-standard-228GB~$49
e2-standard-4416GB~$97

GCP 通常比 AWS 便宜 15-25%,但 AWS 的生態系和文件更成熟。


每個 Request 的成本

假設一個服務每月處理 1000 萬次請求(~3.8 RPS 平均,尖峰 ~20 RPS):

Go (Gin) on t3.small ($15/月):
  10,000,000 requests / $15 = 每 request $0.0000015
  → 約 150 萬次 request 花 1 塊美金

Django on t3.xlarge ($120/月):
  10,000,000 requests / $120 = 每 request $0.000012
  → 約 8.3 萬次 request 花 1 塊美金

差異:8 倍

但等等——10M requests/月 只是 3.8 RPS,Go 用 t3.small 綽綽有餘,Django 用 t3.medium 可能就夠了(120)。不要用尖峰規格算平均成本。


Serverless 什麼時候比較划算

第 27 篇 的 cold start 數據來算:

AWS Lambda 定價:
  - 每 100 萬次調用:$0.20
  - 每 GB-秒:$0.0000166667

場景:API 每天有 8 小時幾乎沒流量(凌晨到早上)

Container(24/7 跑 t3.small):
  月費 = $15(不管有沒有流量都在燒)

Lambda(用多少付多少):
  假設每月 500 萬次請求,每次 100ms,128MB:
  調用費 = 5M × $0.20/1M = $1.00
  計算費 = 5M × 0.1s × 0.125GB × $0.0000166667 = $1.04
  月費 ≈ $2.04

省了 86%!

但如果流量穩定(24/7 都有負載):

每月 1 億次請求,每次 200ms,256MB:
  調用費 = 100M × $0.20/1M = $20
  計算費 = 100M × 0.2s × 0.25GB × $0.0000166667 = $83.33
  月費 ≈ $103

vs Container(t3.medium × 2 台):$60

Lambda 反而貴了 72%。

結論:流量低且不穩定 → Serverless 省錢。流量穩定且高 → Container 省錢。


TCO:別忘了人力成本

台灣 2026 年市場行情(月薪,中位數):

Go 工程師:      80-120K NTD
Node.js 工程師:  60-90K NTD
Python 工程師:   55-85K NTD
Java 工程師:     70-100K NTD
DevOps 工程師:   80-120K NTD

一個 3 人團隊的月人力成本:
  Go team:    90K × 3 = 270K NTD(~$8,500 USD)
  Python team: 70K × 3 = 210K NTD(~$6,600 USD)
  差異:$1,900 USD/月

Go 每月機器成本省 1,900。除非你的規模大到機器成本佔比顯著(月帳單 $10K+),否則選語言不應該以機器成本為主要考量。

真正的 TCO 公式

TCO = 雲端費用 + 人力成本 + 營運成本

雲端費用:
  Compute + Storage + Network + Managed Services

人力成本:
  工程師薪水 + 招聘成本 + 培訓成本 + 離職風險

營運成本:
  On-call 加班 + 事故處理 + 技術債利息

一個實際案例:5 個微服務的月成本

服務              框架       Instance       月費
──────────────────────────────────────────────────
API Gateway       Nginx      t3.small ×2    $30
Order Service     Go/Gin     t3.small ×2    $30
Payment Service   Go/Gin     t3.small ×2    $30
User Service      Node/Fastify t3.small ×2  $30
Notification Svc  Node/Express t3.micro ×2  $15

基礎設施:
  RDS PostgreSQL (db.t3.medium)              $60
  ElastiCache Redis (cache.t3.micro)         $12
  ALB (Application Load Balancer)            $16 + 流量費
  CloudWatch Logs                            $10
  ECR (Container Registry)                   $5

月 Total ≈ $238 + 流量費

vs 全部塞在一台 t3.xlarge 跑 monolith:$120

微服務的基礎設施成本大約是單體的 2 倍。
但當你需要獨立擴展 Order Service(雙 11 流量 10 倍)時,
微服務只要加 Order Service 的 instance,
單體要把整台機器 scale up。

下一篇

成本優化 — 成本算清楚了,怎麼省?Redis cache 省了多少 AP instance?Multi-worker 零成本提升 93%?每個優化的 ROI 到底多少?也是這個系列的最後一篇。


本系列文章

完整 68 篇目錄見 系列首頁

← 上一篇:開發者體驗(二):Debug 跨服務問題的 SOP → 下一篇:成本優化:免費午餐的 ROI 計算