跳到主要內容

發表文章

目前顯示的是有「GAE」標籤的文章

[野人獻曝] Google App Engine ...... 的踩雷

最近因為要把用 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 更懶人包。 前者只需要專注在程式撰寫和設定所需運作的環境,基本上沒什麼事要做了; 但後者除了上述的東西外, 還需要自己設定從 VPC / Security Group / Load Balancer 等一狗票東西, 老實說還挺麻煩的。 ====================== 不過地雷還是有, 在寫 App Engine 的 app.yaml (運作環境設定檔)時, 關於 auto_scaling 的相關設定必須要特別注意, 如果沒特別宣告的話, 會讓你的服務可能一開始就開出兩個 instance 運作...

[野人獻曝] 在Google Appengine上佈署Codeigniter

因為最近GAE開放了對PHP的支援,理所當然地我也去申請測試這玩意了(遠望)。 所以本篇文章要來講一下怎麼樣在Google Appengine上佈署Codeigniter。 提示:因為GAE For PHP是採申請制的,所以要有申請過才能用。如果沒申請過,就算照以下步驟作也是沒辦法用的(應該吧)。申請網址: http://gaeforphp.appspot.com/ 以下步驟是在Ubuntu的命令列下執行,如果是用Windows的話,除了敲指令的部分外,基本上都是一樣的!另外以下的操作需要 Google Appengine SDK ,請先自行下載處理。 第一步: 先到Github下載 CodeIgniter-AppEngine 這個專案 wget https://github.com/edwardmp/CodeIgniter-AppEngine/archive/master.zip --no-check-certificate 下載完後解壓縮 unzip master.zip 之後應該會看到一個 CodeIgniter-AppEngine-master 目錄 第二步: 切換到 CodeIgniter-AppEngine-master 目錄,編輯 app.yaml 檔 檔案內容如下,要修改的是用大括號包起來的地方: application: {你的Google AppEngine專案名稱} version: 1 runtime: php api_version: 1 handlers: - url: / script: CodeIgniter_2.1.3/index.php - url: /(.+) script: CodeIgniter_2.1.3/index.php 注意,除了大括號的地方外,其他地方都暫時先不要修改。 修改完存檔離開。 第三步: 利用Google AppEngine SDK把檔案佈署上去 {GAE SDK路徑}/appcfg.py update CodeIgniter-AppEngine-master / 在第一次佈署時會要求你輸入GAE的帳號密碼後才會開始佈署, 之後就不會再問了。 完成佈署後,可以打開瀏覽器,並在網址列輸入GAE專案的專屬網...