iT邦幫忙

2026 iThome 鐵人賽

DAY 28
0
AI Engineering

Agent 開發, 從本地到雲端: AI 工程師的 K8s 筆記系列 第 28 篇

Day 28|GCP 與 Azure 對照總表:GKE / Cloud Run / AKS / ACA,同一個 agent workload 的 5 個面向

  • 分享至 

  • xImage
  •  

cover

POV(示意情境):有人丟來一句「我們到底要用 GCP 還是 Azure」,你打開四個定價頁比了一個下午,最後發現你比的根本不是同一種東西。

倒數第三篇。第四到第六週,同一個 agent-api 寫了三份部署設定:Cloud Run(Day 23)、GKE Autopilot(Day 24)、AKS(Day 27),也講了 Azure Container Apps 的位置;這三篇的指令都還沒實跑,front matter 標了 verified: false。今天把它們放進同一張表。這裡只比 GCP 跟 Azure 兩家,AWS 我沒有實際用過,不列。這張表刻意不放任何價格數字:價格、配額、上限隨時會改,我不想留一張三個月後就過期的表;我想留的是每個服務的「性格」,性格不太會變。

先把四個擺對位置

這四個不是四個對手,是兩組跨雲的對應:

不想管叢集,跑容器就好 我要真正的 K8s
GCP Cloud Run GKE(Autopilot / Standard)
Azure Azure Container Apps(ACA) AKS

左欄是 request-driven、可以縮到零的世界(Day 21 講的性格);右欄是 Pod、Deployment、Service 的世界(Day 05 的心智模型)。跨雲比較一律拿同一欄比:Cloud Run 對 ACA,GKE 對 AKS。拿 Cloud Run 去比 AKS,像拿計程車比租車行,不是不能比,是比完得不出結論。這兩家官方自己也各有一頁在講這件事,延伸閱讀放了。

五個面向

面向 Cloud Run ACA GKE AKS
1. 適合的 agent 性格 request-driven、可縮到零的 API 或批次推論;官方說法是 event-driven app 同左 always-on bot、多 workload 共用資源、要自己控制排程;官方說法是複雜微服務、有狀態、需要客製底層 同左
2. 你要管什麼 容器加幾個旗標:port、min instances、concurrency、secret(Day 23) 容器加 ingress 與 scale rule:minReplicas / maxReplicas Pod 的 requests / limits 起跳;Autopilot 不管節點,Standard 要管 node pool Pod 起跳;Standard 要管 node pool,Automatic 模式把節點與擴縮預設幫你設好
3. 閒置時的成本結構 縮到零就幾乎不付;設了 min instances 就變常駐 minReplicas: 0 同左 Autopilot 按 Pod 宣告的資源計費,Pod 不刪就一直付;Standard 節點開著就付 節點開著就付;Spot node pool 可以省,代價是會被回收
4. GPU 有,我實際用的是 L4(Day 25) 有 serverless GPU,要先申請 quota Autopilot 可直接要 GPU,Standard 用 GPU node pool GPU node pool
5. 搬家成本(換雲) 中:設定是平台專屬旗標,要重寫,但東西本身少 中:同左 低:YAML 可攜,只重做 registry / ingress / identity(Day 27) 低:同左

價格一律以官方定價頁為準,四頁在這:Cloud Run、GKE、AKS、ACA。

表裡每一格都是我從官方文件整理的,不是實測結果,細節與變動一律以官方頁為準;面向 2 到 4 的出處放在這,方便你自己核對:Cloud Run 的 min instances 與 GPU、ACA 的 scale rule 與 serverless GPU、GKE 的 Autopilot 計費 與 Autopilot GPU、AKS 的 Spot node pool 與 GPU。面向 5 是 Day 27 逐行對照 YAML 的結果,不是實跑結論。

怎麼讀這張表

先選欄,再選雲。 先判斷你的 workload 是左欄還是右欄,判斷題還是 Day 21 那句:一段時間沒人碰,它該不該活著? 答完再看你手上有哪家的 credit、你熟哪套生態。以我來說,手上有 GCP 的 redeem credit,Whisper backend 已經在 Cloud Run 上跑,左欄選 Cloud Run 不用想;右欄我目前沒有真正需要長期維運的 workload,所以還沒選。

面向 5 是保險。 怕被單一供應商綁住的話,右欄的搬家成本確實比較低:Day 27 把 GKE 與 AKS 的 YAML 逐行對照過(未實跑),Deployment 與 Service 只差 image 路徑,Ingress 多一行 class。左欄的開發體驗好,但設定全是各家自己的語法,換雲就重寫。這不是要你為了買保險硬上 K8s,是要你在選的時候知道自己拿什麼換什麼。

面向 3 決定你晚上睡不睡得著。 能縮到零的東西忘了關也不太燒錢;GKE Standard 與 AKS 這種節點型的,節點開著就在計費;Autopilot 雖然不算節點,Pod 留著一樣按宣告的資源付。Day 04 那台被壓到 swap 見底的開發機、Day 06 梳理的三種 workload,講的都是同一件事:先搞清楚系統閒著的時候在做什麼,再挑平台。

我目前的組合,誠實版

  • always-on 的 OpenAB bot 艦隊:一台 VM 加 Docker。它不在表上,因為它是「現在還不需要 K8s」的務實解(Day 16 決策樹的第一階)。dev-box 上十餘個容器(bot 加 tunnel 等)裡,每個 bot 容器的記憶體多在個位數到數十 MiB,壓力來源不是容器本身(Day 04)。
  • request-driven 的 Whisper GPU backend:Cloud Run GPU,L4。
  • 真正的 K8s:目前沒有長期維運的 workload。Day 22 說過,哪天真的需要,會從 Autopilot 起步。

這個組合看起來很不厲害,但每一項都對得上 workload 的性格,成本結構我也講得出來。比起「全面導入 K8s」,我覺得這才是一個 AI 工程師比較成熟的答案。

明天講部署完之後的日常:升級、備份還原、故意讓它死一次、成本告警,AI 工程師的最小 SRE 清單。

今日一句話

跨雲比較一律拿同一欄比:Cloud Run 對 ACA、GKE 對 AKS;先選欄(你的 workload 要不要常駐),再選雲(你手上有誰的 credit、你熟誰)。

延伸閱讀


上一篇
Day 27|同一個 agent workload 上 AKS 最小集;與 Azure Container Apps 的分界
下一篇
Day 29|維運日常:升級、備份還原、preemption 演練、成本告警,AI 工程師的最小 SRE 清單
系列文
Agent 開發, 從本地到雲端: AI 工程師的 K8s 筆記 共 30 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言