最近因為要把用 Go 寫的一些 API 搬到專用平台跑又不想花錢,
想到 App Engine 有免費方案,
所以看了一下就先搬一兩隻進去跑了一個禮拜後,
昨天好奇瞄了一下帳單後大吃一斤,
發現才跑一個星期就有 16 鎂的帳單!
再仔細翻一下文件發現這其中的奧秘......
App Engine 分成兩種運作環境,
一為標準,另一個則為彈性。
前者有提供免費方案,依照選擇的類型不同,可能會有一天 28 或 9 個的免費時數可用;
後者完全沒有免費方案,一開下去就立刻算錢。
而我用的正是彈性,所以一開下去就馬上燒錢 Orz
話說回來了,到底標準和彈性環境有什麼差別?
標準環境的特色:
- 使用的程式語言版本基本按照 App Engine 要求。以 Go 為例,他該死的就只支援到 1.16 ,想用 1.17 以上的版本,你只能使用彈性環境。
- 有免費方案(不是重點
- 運作系統規格只有籠統的 F1 / B1 這種讓你選,就算想要記憶體多一點你也只能選更高的等級。
- AutoScaling 只能設定標準由 App Engine 自行控制
- 想在運作環境裝一些額外的東西嘛......應該是不行。
彈性環境的特色:
- 可以自己寫 Dockerfile ,所以要什麼東西用什麼語言環境,你自己決定
- 沒有免費方案(依然不是重點
- 運作所需的 CPU 核心和記憶體數量可以自訂,只要符合基本要求即可
- AutoScaling 機制可以手動也可以自動控制
- 可以 SSH 登入,想查什麼東西還蠻方便的說
所以你知道為什麼彈性環境沒有免費方案了吧(眼神死
======================
不過根據使用和昨天翻文件下來,
我覺得 App Engine 彈性環境遠比 AWS 的 ECS Fargate 更懶人包。
前者只需要專注在程式撰寫和設定所需運作的環境,基本上沒什麼事要做了;
我覺得 App Engine 彈性環境遠比 AWS 的 ECS Fargate 更懶人包。
前者只需要專注在程式撰寫和設定所需運作的環境,基本上沒什麼事要做了;
但後者除了上述的東西外,
還需要自己設定從 VPC / Security Group / Load Balancer 等一狗票東西,
老實說還挺麻煩的。
======================
不過地雷還是有,
在寫 App Engine 的 app.yaml (運作環境設定檔)時,
關於 auto_scaling 的相關設定必須要特別注意,
如果沒特別宣告的話,
關於 auto_scaling 的相關設定必須要特別注意,
如果沒特別宣告的話,
會讓你的服務可能一開始就開出兩個 instance 運作,
在只是實驗的狀況下可能會莫名噴出一堆成本。
在只是實驗的狀況下可能會莫名噴出一堆成本。
參考文件:
- App Engine 定價
- App Engine 標準與彈性環境 app.yaml 說明
留言
抱歉,冒昧打擾~我是「科技島」社群編輯,科技島這個社群的目的之一,是希望能透過科技業精英前輩現身說法,針對職務心得、工作技巧、從業所得提供經驗分享,讓現正從事科技業或未來想進入科技業的學弟妹們可以更加瞭解這個行業。
剛剛在搜尋Google App文章時,看到您撰寫的《[野人獻曝] Google App Engine ...... 的踩雷》這篇文章,很適合科技島讀者。
不知您是否願意授權我們以『原文原PO,並註明原文作者及出處連結』的方式讓我們轉載於科技島網站,跟科技人一起分享呢?謝謝。
靜待回覆!並附上科技島網站連結,給您參考 :
https://www.technice.com.tw/
聯絡Email:
techniceeditor@gmail.com