跳至主要內容
ESC
Study Jam:雲端基礎實作 — 第 5/10 篇

App Engine 三種部署方式

GCP

課程概述

App Engine 是 Google Cloud 最早推出的 PaaS 服務,好處是你只要顧好程式碼,底層基礎設施交給它就好。這堂課會搞懂 App Engine 的 Standard 跟 Flexible 環境差在哪,再動手實作三種不同的部署方式。

你將學到

  • 區分 App Engine Standard 與 Flexible 環境
  • 使用 gcloud app deploy 部署應用程式
  • 透過 app.yaml 配置運行環境
  • 管理版本與流量分配

核心概念

Standard vs Flexible 環境

特性StandardFlexible
啟動時間秒級分鐘級
縮放至零支援不支援(最少 1 實例)
支援語言Python、Java、Go、Node.js、PHP、Ruby任何語言(自訂 runtime)
SSH 存取不支援支援
定價模式按實例小時計費按 VM 資源計費
背景程序不支援支援

三種部署模式

模式一:基本部署

gcloud app deploy app.yaml

模式二:多版本與流量分配

# 部署新版本但不切換流量
gcloud app deploy --no-promote

# 分配流量(A/B 測試)
gcloud app services set-traffic default --splits v1=0.7,v2=0.3

模式三:CI/CD 自動化 透過 Cloud Build 觸發器,在 git push 時自動部署:

# cloudbuild.yaml
steps:
  - name: 'gcr.io/google.com/cloudsdktool/cloud-sdk'
    args: ['gcloud', 'app', 'deploy', 'app.yaml', '--quiet']

實作重點

  • 每個 GCP 專案只能有一個 App Engine 應用,且建立後不可更改 region
  • Standard 環境適合流量不穩定的應用(可縮放至零節省成本)
  • 使用 gcloud app versions list 管理版本,避免舊版本持續計費
  • app.yaml 中的 instance_class 控制實例規格

Skill Badge 指引

Lab 連結App Engine: 3 Ways — 完成此 lab 可獲得 Skill Badge

延伸學習

Study Jam:雲端基礎實作 — 5/10 完成 查看系列全覽 →

留言討論

徽章解鎖!