--- title: GDG Cloud Meetup #5 - 架網站不用架機器,Google App Engine 簡介 tags: GCP, GAE --- # GDG Cloud Meetup #5 - 架網站不用架機器,Google App Engine 簡介 <!-- Put the link to this slide here so people can follow --> slide: https://gae.cqd.tw Speaker: CQD / 天真可愛 / Q 姊 WIFI: - SSID: GCPUG-KH - Passwd: gcpug-kh-2019 <!-- 有興趣也可以追蹤粉絲專頁:https://www.facebook.com/cqdforever/ 放在這邊他本人應該就不會知道了 --> --- <!-- Start writing your note here --> ## GAE 特色 ### 不用架機器 ### 專心寫程式 - 支援多種程式語言 ### 以用量計費 - 計費方式 - 開了幾台機器,開了多久時間 - 網路流量 - 資料儲存費用 - 其他 Google 服務的使用費 - 可設定每日上限 - 有免費額度,小型服務堪用 ## GAE 環境種類 ### 標準環境(今日重點) 把「程式」丟到 GAE 裡面執行 - 第一代 (Google 土炮自幹環境) - 始於 2008 - 支援的程式語言較舊 - 支援 GAE 專有 API - 第二代 (將官方環境包成 Container) - 始於 2018 - 支援的程式語言較新 - 僅支援公開 API ### 彈性環境 與標準環境架構不同,把 Docker Image 丟到 GAE 裡面執行 ## 執行容器的選擇 - 控制權(由小排到大) - App Engine - 沒有辦法接觸底層的設定 - K8S - Compute Engine - 可接觸到底層的設定 ## App Engine 與 GCP 架構 ### GCP 機房地理位置與網路連線 - 台灣的機房(彰濱)不支援 GAE - 離台灣最近的區域(Region) - 香港 - 大阪 - 東京 - 效率:區域內通訊 > 跨區域通訊 - 盡量與用戶同一個區域 ### GAE 服務概略架構 ![](https://i.imgur.com/iS2h8UA.png) - 紅框表示服務提供者使用上需要考慮的部分 - 藍框表示跟用戶比較有關聯的部分 ### 小結 - 注意機房地理位置 - 離用戶越近越好 - 台灣的機房(彰濱)不支援 GAE - GAE 定位是前端服務 - 作為使用者與後端服務的橋樑 - 善用 Frontend Server 快取機制 ## 該不該用 GAE ### 推薦的理由 - 用量不多不用錢 - 不超過免費額度,等於能跑程式的免費空間 - 1 秒不到一個 request 都不算多 - 用量瞬間起伏成本不高 - 機器會 auto-scale - 流量瞬間提升,只需要多付這段時間起伏的費用 - 系統管理外包 - 不需要自己管機器 - 免費 HTTPS + HTTP/2 - Let’s Encrypt ### 該注意的地方 - 資料儲存 - Cloud SQL (無免費額度) - Cloud Datastore (有免費額度) - 自己開 GCE 機器架 DB - 系統最佳化程度影響價格 - 「以用量計費」是雙刃劍 - 程式架構與寫法會影響到費用 - 不能修改機器設定 - 不能修改安裝的套件 - 不能在機器上安裝需要的程式 - 不一定能安裝語言的擴充套件 - 寫個 /tmp 都可能囉囉唆唆的 - 細枝末節 - 網路相關問題 - 環境總類的定價與限制不同 - GCP 服務可能升級或停止