# 【CCP】Google Cloud Platform 服務總覽

出處：[https://ithelp.ithome.com.tw/users/20151036/ironman/6131](https://ithelp.ithome.com.tw/users/20151036/ironman/6131)

## Region 和 Zone 的差別

---

在 Google Cloud 裡面，使用了 Region 和 Zone 的概念，分別去區分不同地理區塊的服務

[![image-1745571406812.png](https://bookstack.treemanou.com/uploads/images/gallery/2025-04/scaled-1680-/LNRbcR2k76xjHRYB-image-1745571406812.png)](https://bookstack.treemanou.com/uploads/images/gallery/2025-04/LNRbcR2k76xjHRYB-image-1745571406812.png)

## 管理 Google Cloud 的四種方法

---

介紹完了 Region 和 Zone 的差別，接著介紹一下管理 Google Cloud 中的服務的四種方法

[![image-1745571435771.png](https://bookstack.treemanou.com/uploads/images/gallery/2025-04/scaled-1680-/8FmNWw7mf2xWecb4-image-1745571435771.png)](https://bookstack.treemanou.com/uploads/images/gallery/2025-04/8FmNWw7mf2xWecb4-image-1745571435771.png)

<table class="min-w-full" data-end="2470" data-start="1946" id="bkmrk-%E5%B7%A5%E5%85%B7-%E4%BB%8B%E9%9D%A2%E9%A1%9E%E5%9E%8B-%E5%8A%9F%E8%83%BD%E5%BC%B7%E5%BA%A6-%E4%BD%BF%E7%94%A8%E6%99%82%E6%A9%9F-go"><thead data-end="2021" data-start="1946"><tr data-end="2021" data-start="1946"><th data-end="1966" data-start="1946">工具</th><th data-end="1977" data-start="1966">介面類型</th><th data-end="1987" data-start="1977">功能強度</th><th data-end="2021" data-start="1987">使用時機</th></tr></thead><tbody data-end="2470" data-start="2112"><tr data-end="2187" data-start="2112"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2134" data-start="2112">Google Cloud Console</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2147" data-start="2134">圖形 UI</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2159" data-start="2147">中等</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2187" data-start="2159">建立資源、設定、報表</td></tr><tr data-end="2258" data-start="2188"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2210" data-start="2188">gcloud SDK</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2220" data-start="2210">命令列工具</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2232" data-start="2220">最強</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2258" data-start="2232">自動化部署、開發整合、CI/CD</td></tr><tr data-end="2326" data-start="2259"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2281" data-start="2259">Cloud Shell</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2291" data-start="2281">雲端終端機</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2304" data-start="2291">高</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2326" data-start="2304">快速部署/測試指令，不佔本地資源</td></tr><tr data-end="2398" data-start="2327"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2349" data-start="2327">Cloud APIs</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2360" data-start="2349">程式介面</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2373" data-start="2360">高</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2398" data-start="2373">系統對接、自動化服務整合</td></tr><tr data-end="2470" data-start="2399"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2421" data-start="2399">Cloud Mobile App</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2434" data-start="2421">手機 App</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2446" data-start="2434">輕量</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2470" data-start="2446">查看狀態、接收通知、緊急操作</td></tr></tbody></table>

## Google Cloud 中 Project 結構

---

下面這張圖描述了 Google Cloud 中的 Project 結構，不過這張圖要從最下層往上看

[![image-1745571478114.png](https://bookstack.treemanou.com/uploads/images/gallery/2025-04/scaled-1680-/Duhg7HbzxKXSke42-image-1745571478114.png)](https://bookstack.treemanou.com/uploads/images/gallery/2025-04/Duhg7HbzxKXSke42-image-1745571478114.png)

## Google Cloud 中的運算服務

---

- Compute Engine
- App Engine
- Cloud Functions
- Google Kubernetes Engine
- Cloud Run

[![image-1745570618413.png](https://bookstack.treemanou.com/uploads/images/gallery/2025-04/scaled-1680-/5hQcY3xZPcZ3BS3H-image-1745570618413.png)](https://bookstack.treemanou.com/uploads/images/gallery/2025-04/5hQcY3xZPcZ3BS3H-image-1745570618413.png)

### **Google Cloud Run、App Engine、Cloud Functions** 三者的完整比較：

---

#### 🔍 三種 Serverless 服務比較表

<div id="bkmrk-%E9%A0%85%E7%9B%AE-cloud-run-app-eng"><button class="hover:bg-token-main-surface-secondary text-token-text-secondary pointer-events-auto rounded-lg px-1 py-1 opacity-0 transition-opacity duration-200 group-focus-within:opacity-100 group-hover:opacity-100"><svg class="icon-md-heavy" fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"></svg></button><div><table class="min-w-full" data-end="1947" data-start="160"><thead data-end="316" data-start="160"><tr data-end="316" data-start="160"><th data-end="185" data-start="160">項目</th><th data-end="229" data-start="185">**Cloud Run**</th><th data-end="271" data-start="229">**App Engine**</th><th data-end="316" data-start="271">**Cloud Functions**</th></tr></thead><tbody data-end="1947" data-start="478"><tr data-end="616" data-start="478"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="501" data-start="478">🧩 適用層級</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="539" data-start="501">容器（Container）層級</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="576" data-start="539">應用（Application）層級</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="616" data-start="576">函數（Function）層級</td></tr><tr data-end="757" data-start="617"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="640" data-start="617">🚀 啟動方式</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="680" data-start="640">HTTP 請求觸發</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="719" data-start="680">HTTP、排程、Task Queue</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="757" data-start="719">HTTP、事件觸發（如 Storage、PubSub）</td></tr><tr data-end="881" data-start="758"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="782" data-start="758">🛠️ 開發模式</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="811" data-start="782">自行打包容器，任何語言框架皆可</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="847" data-start="811">GCP 支援語言（Java, Python, Go, Node）</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="881" data-start="847">限制在特定語言框架（Node, Python, Go 等）</td></tr><tr data-end="1000" data-start="882"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="905" data-start="882">⚙️ 彈性調整</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="944" data-start="905">✅ 自動擴展至零</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="971" data-start="944">✅ 自動擴展（可設定最小/最大執行數）</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1000" data-start="971">✅ 自動擴展至零（每次執行為全新環境）</td></tr><tr data-end="1131" data-start="1001"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1022" data-start="1001">🐳 是否支援容器</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1059" data-start="1022">✅ 可自定義容器</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1093" data-start="1059">❌（App Engine Flex 支援，但較複雜）</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1131" data-start="1093">❌（只支援函數級）</td></tr><tr data-end="1260" data-start="1132"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1155" data-start="1132">🧾 計費方式</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1191" data-start="1155">請求數 + CPU + 記憶體 + 時間</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1225" data-start="1191">請求數 + 時間 + 記憶體</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1260" data-start="1225">函數呼叫次數 + 執行時間 + 資源</td></tr><tr data-end="1379" data-start="1261"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1285" data-start="1261">🧠 冷啟動</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1317" data-start="1285">較低，若設定最小實例可避免</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1346" data-start="1317">標準環境會冷啟，高級環境可控制</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1379" data-start="1346">冷啟明顯（尤其低頻率觸發）</td></tr><tr data-end="1522" data-start="1380"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1403" data-start="1380">🔄 狀態保持</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1440" data-start="1403">不可保留（Stateless）</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1479" data-start="1440">不可保留</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1522" data-start="1479">不可保留</td></tr><tr data-end="1654" data-start="1523"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1546" data-start="1523">📦 部署單位</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1579" data-start="1546">整個容器（任意語言）</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1616" data-start="1579">應用程式檔案 + config.yaml</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1654" data-start="1616">單一函數檔案（Function）</td></tr><tr data-end="1796" data-start="1655"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1676" data-start="1655">🌐 自訂網域 / HTTPS 支援</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1710" data-start="1676">✅ 可設定自訂網域與 HTTPS</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1751" data-start="1710">✅</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1796" data-start="1751">✅</td></tr><tr data-end="1947" data-start="1797"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1820" data-start="1797">🔐 IAM 權限控管</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1860" data-start="1820">✅ 精細控制</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1902" data-start="1860">✅</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1947" data-start="1902">✅</td></tr></tbody></table>

</div></div>---

#### 🧠 簡易選擇建議

<div id="bkmrk-%E4%BD%A0%E8%A6%81%E7%9A%84%E6%98%AF%E2%80%A6-%E5%BB%BA%E8%AD%B0%E4%BD%BF%E7%94%A8-%E5%8F%AF%E4%BB%A5%E8%87%AA%E7%94%B1%E4%BD%BF%E7%94%A8%E4%BB%BB%E4%BD%95%E8%AA%9E"><button class="hover:bg-token-main-surface-secondary text-token-text-secondary pointer-events-auto rounded-lg px-1 py-1 opacity-0 transition-opacity duration-200 group-focus-within:opacity-100 group-hover:opacity-100"><svg class="icon-md-heavy" fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"></svg></button><div><table class="min-w-full" data-end="2453" data-start="1969"><thead data-end="2033" data-start="1969"><tr data-end="2033" data-start="1969"><th data-end="2015" data-start="1969">你要的是…</th><th data-end="2033" data-start="2015">建議使用</th></tr></thead><tbody data-end="2453" data-start="2106"><tr data-end="2164" data-start="2106"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2142" data-start="2106">可以自由使用任何語言與架構</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2164" data-start="2142">✅ Cloud Run</td></tr><tr data-end="2222" data-start="2165"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2200" data-start="2165">最少設定、支援完整應用部署</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2222" data-start="2200">✅ App Engine</td></tr><tr data-end="2279" data-start="2223"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2257" data-start="2223">僅需要處理單一任務 / 事件驅動功能</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2279" data-start="2257">✅ Cloud Functions</td></tr><tr data-end="2339" data-start="2280"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2317" data-start="2280">想用 Docker 容器、可相容本地環境</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2339" data-start="2317">✅ Cloud Run</td></tr><tr data-end="2398" data-start="2340"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2376" data-start="2340">想部署 Flask、Express 但不想處理容器細節</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2398" data-start="2376">✅ App Engine</td></tr><tr data-end="2453" data-start="2399"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2431" data-start="2399">想做圖片上傳通知、排程簡訊等小任務</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2453" data-start="2431">✅ Cloud Functions</td></tr></tbody></table>

</div></div>---

#### 🔧 實際開發場景舉例：

<div id="bkmrk-%E4%BD%BF%E7%94%A8%E6%83%85%E5%A2%83-%E9%81%A9%E5%90%88%E6%9C%8D%E5%8B%99-%E9%83%A8%E7%BD%B2-spring-"><button class="hover:bg-token-main-surface-secondary text-token-text-secondary pointer-events-auto rounded-lg px-1 py-1 opacity-0 transition-opacity duration-200 group-focus-within:opacity-100 group-hover:opacity-100"><svg class="icon-md-heavy" fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"></svg></button><div><table class="min-w-full" data-end="2995" data-start="2478"><thead data-end="2551" data-start="2478"><tr data-end="2551" data-start="2478"><th data-end="2531" data-start="2478">使用情境</th><th data-end="2551" data-start="2531">適合服務</th></tr></thead><tbody data-end="2995" data-start="2634"><tr data-end="2705" data-start="2634"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2681" data-start="2634">部署 Spring Boot 應用，並自定義 Dockerfile</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2705" data-start="2681">Cloud Run</td></tr><tr data-end="2778" data-start="2706"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2754" data-start="2706">部署 Python Web（Flask）快速上線</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2778" data-start="2754">App Engine</td></tr><tr data-end="2849" data-start="2779"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2825" data-start="2779">使用 GCS 上傳觸發縮圖處理</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2849" data-start="2825">Cloud Functions</td></tr><tr data-end="2923" data-start="2850"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)] min-w-[calc(var(--thread-content-max-width)/3)]" data-end="2899" data-start="2850">開發 RESTful API，架構使用 FastAPI + Redis + Gunicorn</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2923" data-start="2899">Cloud Run</td></tr><tr data-end="2995" data-start="2924"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2973" data-start="2924">設定每日 08:00 發送報表</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2995" data-start="2973">Cloud Functions（排程）</td></tr></tbody></table>

</div></div>## Google Cloud 中的數據儲存服務

---

Google Cloud 支援五種數據的儲存服務，而這五種服務，又可以分成三大類，分別是「一般檔案的儲存服務」、「SQL 的儲存服務」以及「NoSQL 的儲存服務」

[![image-1745570710643.png](https://bookstack.treemanou.com/uploads/images/gallery/2025-04/scaled-1680-/W7YOPBbL35WdCfNe-image-1745570710643.png)](https://bookstack.treemanou.com/uploads/images/gallery/2025-04/W7YOPBbL35WdCfNe-image-1745570710643.png)

### 數據儲存服務總結

[![image-1745568492002.png](https://bookstack.treemanou.com/uploads/images/gallery/2025-04/scaled-1680-/kqCE38zooyzxU3F7-image-1745568492002.png)](https://bookstack.treemanou.com/uploads/images/gallery/2025-04/kqCE38zooyzxU3F7-image-1745568492002.png)

### Bigtable 與 Bigquery 比較

#### 🔍 基本說明

<div id="bkmrk-%E5%90%8D%E7%A8%B1-%E8%AA%AA%E6%98%8E-bigtable-%E5%88%86%E6%95%A3%E5%BC%8F-n"><button class="hover:bg-token-main-surface-secondary text-token-text-secondary pointer-events-auto rounded-lg px-1 py-1 opacity-0 transition-opacity duration-200 group-focus-within:opacity-100 group-hover:opacity-100"><svg class="icon-md-heavy" fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"></svg></button><div><table class="min-w-full" data-end="426" data-start="127"><thead data-end="210" data-start="127"><tr data-end="210" data-start="127"><th data-end="140" data-start="127">名稱</th><th data-end="210" data-start="140">說明</th></tr></thead><tbody data-end="426" data-start="299"><tr data-end="361" data-start="299"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="314" data-start="299">**Bigtable**</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="361" data-start="314">分散式 NoSQL 資料庫，適合高頻率讀寫、低延遲的應用（類似 HBase）</td></tr><tr data-end="426" data-start="362"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="377" data-start="362">**BigQuery**</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)] min-w-[calc(var(--thread-content-max-width)/3)]" data-end="426" data-start="377">分析型資料倉儲，專門處理超大資料集的查詢與分析（類似 Redshift、Snowflake）</td></tr></tbody></table>

</div></div>---

#### 🧠 詳細比較表

<div id="bkmrk-%E9%A0%85%E7%9B%AE-bigtable-bigquery"><button class="hover:bg-token-main-surface-secondary text-token-text-secondary pointer-events-auto rounded-lg px-1 py-1 opacity-0 transition-opacity duration-200 group-focus-within:opacity-100 group-hover:opacity-100"><svg class="icon-md-heavy" fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"></svg></button><div><table class="min-w-full" data-end="1942" data-start="446"><thead data-end="579" data-start="446"><tr data-end="579" data-start="446"><th data-end="464" data-start="446">項目</th><th data-end="521" data-start="464">**Bigtable**</th><th data-end="579" data-start="521">**BigQuery**</th></tr></thead><tbody data-end="1942" data-start="716"><tr data-end="839" data-start="716"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="732" data-start="716">📦 資料類型</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="788" data-start="732">NoSQL，Key-Value / Wide-column store</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="839" data-start="788">SQL-based，結構化資料表</td></tr><tr data-end="936" data-start="840"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="856" data-start="840">🧩 適用場景</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="893" data-start="856">即時讀寫、大量設備資料、時序資料（IoT、日誌）</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="936" data-start="893">大數據分析、商業智慧報表、ETL 處理</td></tr><tr data-end="1064" data-start="937"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="954" data-start="937">🛠️ 查詢方式</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1011" data-start="954">API / gRPC / HBase client</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1064" data-start="1011">SQL（支援標準 SQL）</td></tr><tr data-end="1176" data-start="1065"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1080" data-start="1065">🔁 查詢靈活度</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1127" data-start="1080">限制多（只能依 row key 查詢）</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1176" data-start="1127">高（可聚合、JOIN、Window Function）</td></tr><tr data-end="1290" data-start="1177"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1192" data-start="1177">⚡ 效能焦點</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1241" data-start="1192">**寫入快、讀取延遲低**</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1290" data-start="1241">**掃描大量資料效率高**</td></tr><tr data-end="1397" data-start="1291"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1307" data-start="1291">💾 儲存設計</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1354" data-start="1307">儲存在 Colossus + SSTable（HBase-like 分散式設計）</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1397" data-start="1354">儲存在 Dremel 架構（專為資料分析優化）</td></tr><tr data-end="1509" data-start="1398"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1415" data-start="1398">🗃️ 索引支援</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1460" data-start="1415">❌ 沒有二級索引，僅支援 row key 前綴</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1509" data-start="1460">✅ 支援複雜查詢與分析</td></tr><tr data-end="1624" data-start="1510"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1525" data-start="1510">🔢 每秒處理量</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1575" data-start="1525">百萬級 TPS（高併發）</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1624" data-start="1575">適合大批量（TB~PB）分析</td></tr><tr data-end="1748" data-start="1625"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1640" data-start="1625">⏳ 查詢延遲</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1694" data-start="1640">毫秒等級</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1748" data-start="1694">秒 ~ 分鐘等級</td></tr><tr data-end="1846" data-start="1749"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1765" data-start="1749">💰 計費方式</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1806" data-start="1765">根據儲存容量 + 節點數（可橫向擴充）</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1846" data-start="1806">根據掃描的資料量計價（可選定價模式）</td></tr><tr data-end="1942" data-start="1847"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1863" data-start="1847">🔧 管理需求</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1904" data-start="1863">類似資料庫（需設計 schema、選 row key、規劃節點）</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1942" data-start="1904">類似報表工具（丟資料就能查，幾乎零維運）</td></tr></tbody></table>

</div></div>---

#### 📌 使用情境建議

<div id="bkmrk-%E9%9C%80%E6%B1%82%2F%E6%83%85%E5%A2%83-%E5%BB%BA%E8%AD%B0%E4%BD%BF%E7%94%A8-iot-%E8%A3%9D%E7%BD%AE%E6%AF%8F%E7%A7%92%E5%9B%9E"><button class="hover:bg-token-main-surface-secondary text-token-text-secondary pointer-events-auto rounded-lg px-1 py-1 opacity-0 transition-opacity duration-200 group-focus-within:opacity-100 group-hover:opacity-100"><svg class="icon-md-heavy" fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"></svg></button><div><table class="min-w-full" data-end="2349" data-start="1963"><thead data-end="2012" data-start="1963"><tr data-end="2012" data-start="1963"><th data-end="1995" data-start="1963">需求/情境</th><th data-end="2012" data-start="1995">建議使用</th></tr></thead><tbody data-end="2349" data-start="2070"><tr data-end="2116" data-start="2070"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2095" data-start="2070">IoT 裝置每秒回傳大量資料</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2116" data-start="2095">✅ Bigtable</td></tr><tr data-end="2159" data-start="2117"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2138" data-start="2117">要統計每月業績報表、跑分析 SQL</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2159" data-start="2138">✅ BigQuery</td></tr><tr data-end="2203" data-start="2160"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2182" data-start="2160">需要實時查詢某一筆用戶記錄</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2203" data-start="2182">✅ Bigtable</td></tr><tr data-end="2258" data-start="2204"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2237" data-start="2204">想跑 SELECT count, avg, group by</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2258" data-start="2237">✅ BigQuery</td></tr><tr data-end="2307" data-start="2259"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2291" data-start="2259">需要和 Data Studio 或 Looker 整合報表</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2307" data-start="2291">✅ BigQuery</td></tr><tr data-end="2349" data-start="2308"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2328" data-start="2308">想儲存百億筆資料但需低延遲查詢</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2349" data-start="2328">✅ Bigtable</td></tr></tbody></table>

</div></div>---

#### 🔁 搭配使用範例

很多系統會這樣搭配：

1. **Bigtable：實時寫入**
    
    
    - 寫入裝置或行為記錄（如瀏覽行為、IoT 資料）
2. **定期匯入到 BigQuery**
    
    
    - 跑 ETL，進行分析與報表產出

---

## Google Cloud 中的 API 管理服務

---

影片中有提到三種 Google Cloud 中常見的 API 管理服務，分別是：

- Apigee API Management
- API Gateway
- Cloud Endpoints

### 🔍 快速對比表：Apigee vs API Gateway vs Cloud Endpoints

<div id="bkmrk-%E9%A0%85%E7%9B%AE-apigee-api-gatewa"><button class="hover:bg-token-main-surface-secondary text-token-text-secondary pointer-events-auto rounded-lg px-1 py-1 opacity-0 transition-opacity duration-200 group-focus-within:opacity-100 group-hover:opacity-100"><svg class="icon-md-heavy" fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"></svg></button><div><table class="min-w-full" data-end="2348" data-start="121"><thead data-end="311" data-start="121"><tr data-end="311" data-start="121"><th data-end="147" data-start="121">項目</th><th data-end="201" data-start="147">**Apigee**</th><th data-end="256" data-start="201">**API Gateway**</th><th data-end="311" data-start="256">**Cloud Endpoints**</th></tr></thead><tbody data-end="2348" data-start="506"><tr data-end="671" data-start="506"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="532" data-start="506">🧠 定位</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="578" data-start="532">企業級 API 管理平台</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="624" data-start="578">簡化、輕量的 GCP 原生 API Gateway</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="671" data-start="624">開發者導向的輕量級 API Proxy</td></tr><tr data-end="848" data-start="672"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="697" data-start="672">🛠️ 建立方式</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="746" data-start="697">使用 Apigee UI 建立 API Proxy</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="799" data-start="746">部署 `api-gateway.yaml` + GCP service</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)] min-w-[calc(var(--thread-content-max-width)/3)]" data-end="848" data-start="799">使用 ESP（Extensible Service Proxy）與 OpenAPI 配置</td></tr><tr data-end="1003" data-start="849"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="872" data-start="849">📊 功能完整性</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="904" data-start="872">✅ 完整 API 生命週期管理（分析、流量管控、金鑰等）</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="953" data-start="904">⚠️ 僅基本 API Proxy 與驗證</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1003" data-start="953">⚠️ 基本功能 + Firebase / Auth0 整合</td></tr><tr data-end="1170" data-start="1004"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1027" data-start="1004">📈 分析與報表</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1071" data-start="1027">✅ 內建精細分析報表</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1119" data-start="1071">❌ 無分析功能</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1170" data-start="1119">⚠️ 可搭配 Stackdriver/Cloud Logging</td></tr><tr data-end="1352" data-start="1171"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1192" data-start="1171">🔐 驗證/授權支援</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1242" data-start="1192">✅ OAuth2, API Key, JWT, SAML, 多種認證</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1297" data-start="1242">✅ JWT / API Key / IAM</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1352" data-start="1297">✅ JWT / API Key / Firebase</td></tr><tr data-end="1521" data-start="1353"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1377" data-start="1353">⚙️ API 開發方式</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1420" data-start="1377">提供 GUI、Flow 編輯器、邏輯處理</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1469" data-start="1420">使用 OpenAPI 定義 + 設定 YAML</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1521" data-start="1469">OpenAPI / gRPC 定義（ESP Proxy）</td></tr><tr data-end="1683" data-start="1522"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1548" data-start="1522">🔁 效能</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1594" data-start="1548">高（企業級 SLA）</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1640" data-start="1594">中等，適合輕量流量</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1683" data-start="1640">輕量，設計給內部/開發測試用</td></tr><tr data-end="1835" data-start="1684"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1708" data-start="1684">💲 收費模式</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1745" data-start="1708">依照 API 呼叫數、功能計費（**需額外購買**）</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1788" data-start="1745">依流量計費（依照 GCP 定價）</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1835" data-start="1788">依照 ESP Proxy 的 GKE/GCE/Cloud Run 運行費用計費</td></tr><tr data-end="2020" data-start="1836"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1861" data-start="1836">🏗️ 運行平台</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1909" data-start="1861">Apigee X（GCP原生）、Hybrid</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1964" data-start="1909">Cloud Run / GKE / GCE</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2020" data-start="1964">GKE / Cloud Run / App Engine</td></tr><tr data-end="2183" data-start="2021"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2037" data-start="2021">🧩 複雜功能（限流、轉換）</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2079" data-start="2037">✅ 支援（flow policy 可自定義 JSON/XML 轉換等）</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2130" data-start="2079">❌ 不支援</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2183" data-start="2130">❌ 不支援</td></tr><tr data-end="2348" data-start="2184"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2207" data-start="2184">🔧 部署簡易性</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2248" data-start="2207">中等（企業級 GUI + 設定需學習）</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2299" data-start="2248">高（YAML + CLI）</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2348" data-start="2299">中等（需熟 ESP/OpenAPI）</td></tr></tbody></table>

</div></div>---

### 🔑 應用場景建議

<div id="bkmrk-%E9%9C%80%E6%B1%82-%2F-%E7%8B%80%E6%B3%81-%E5%BB%BA%E8%AD%B0%E4%BD%BF%E7%94%A8-%E4%BC%81%E6%A5%AD%E9%9C%80%E8%A6%81%E5%AE%8C%E6%95%B4-"><button class="hover:bg-token-main-surface-secondary text-token-text-secondary pointer-events-auto rounded-lg px-1 py-1 opacity-0 transition-opacity duration-200 group-focus-within:opacity-100 group-hover:opacity-100"><svg class="icon-md-heavy" fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"></svg></button><div><table class="min-w-full" data-end="2851" data-start="2369"><thead data-end="2430" data-start="2369"><tr data-end="2430" data-start="2369"><th data-end="2409" data-start="2369">需求 / 狀況</th><th data-end="2430" data-start="2409">建議使用</th></tr></thead><tbody data-end="2851" data-start="2500"><tr data-end="2550" data-start="2500"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2525" data-start="2500">企業需要完整 API 管理功能（流控、報表等）</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2550" data-start="2525">✅ Apigee</td></tr><tr data-end="2611" data-start="2551"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2586" data-start="2551">GCP 環境輕量部署 + IAM 驗證 API</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2611" data-start="2586">✅ API Gateway</td></tr><tr data-end="2666" data-start="2612"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2641" data-start="2612">開發階段/原型開發 + 自訂認證方式</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2666" data-start="2641">✅ Cloud Endpoints</td></tr><tr data-end="2729" data-start="2667"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2704" data-start="2667">需要整合 Firebase 認證</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2729" data-start="2704">✅ Cloud Endpoints</td></tr><tr data-end="2789" data-start="2730"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2769" data-start="2730">多租戶 API 管理、API 商業化（API Monetization）</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2789" data-start="2769">✅ Apigee</td></tr><tr data-end="2851" data-start="2790"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2826" data-start="2790">想快速部署在 Cloud Run + IAM 控制</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2851" data-start="2826">✅ API Gateway</td></tr></tbody></table>

</div></div>---

### 🧪 技術選擇心法：

- 👉 **選 Apigee** 如果你是企業客戶、要做 API 授權金鑰控管、頻率限制、報表、開發者入口網站（dev portal）等。
- 👉 **選 API Gateway** 如果你只是想快速幫 Cloud Run 上的 API 加上 HTTPS、安全性。
- 👉 **選 Cloud Endpoints** 如果你熟 OpenAPI、只想讓 API 有認證與基本日誌記錄，不需要 GUI。

## 權限管理服務

[![image-1745570380775.png](https://bookstack.treemanou.com/uploads/images/gallery/2025-04/scaled-1680-/AO0cbHa2oSgmA89U-image-1745570380775.png)](https://bookstack.treemanou.com/uploads/images/gallery/2025-04/AO0cbHa2oSgmA89U-image-1745570380775.png)

[![image-1745570465944.png](https://bookstack.treemanou.com/uploads/images/gallery/2025-04/scaled-1680-/RHUpIAWQiTnaZvkf-image-1745570465944.png)](https://bookstack.treemanou.com/uploads/images/gallery/2025-04/RHUpIAWQiTnaZvkf-image-1745570465944.png)

---

## 說明 Iaas Paas Saas Faas

這四個名詞是雲端服務的不同層級與服務模型，分別為：

---

### 🏗️ IaaS（Infrastructure as a Service）基礎設施即服務

- **提供內容：** 虛擬機（VM）、儲存空間、網路、作業系統等基礎資源
- **使用者負責：** 自行安裝應用程式、中介軟體、設定安全性等
- **彈性高，自由度大**
- **常見例子：**
    
    
    - AWS EC2
    - Google Compute Engine
    - Microsoft Azure VM

> ✅ 適用於：需要完整控制權限的系統管理員與 DevOps 團隊

---

### 🧱 PaaS（Platform as a Service）平台即服務

- **提供內容：** 開發平台（含OS、Runtime、DB、Framework）
- **使用者負責：** 上傳應用程式，開發、部署、維護應用邏輯
- **省去基礎建設與系統維護負擔**
- **常見例子：**
    
    
    - Google App Engine
    - Heroku
    - AWS Elastic Beanstalk

> ✅ 適用於：開發人員專注寫程式，不想管底層架構

---

### 📦 SaaS（Software as a Service）軟體即服務

- **提供內容：** 完整的軟體應用，通常透過瀏覽器存取
- **使用者負責：** 只需要使用，不用管安裝、更新、維運
- **完全託管、快速上手**
- **常見例子：**
    
    
    - Gmail / Outlook
    - Google Docs / Office 365
    - Salesforce
    - Dropbox

> ✅ 適用於：終端使用者或企業快速取得現成解決方案

---

### ⚡ FaaS（Function as a Service）函數即服務

- **提供內容：** 運行特定函數或任務的執行環境
- **使用者負責：** 撰寫函數邏輯，其他都交給雲端處理（包含資源擴展）
- **屬於 Serverless 架構的一種**
- **常見例子：**
    
    
    - AWS Lambda
    - Google Cloud Functions
    - Azure Functions

> ✅ 適用於：事件驅動的任務（如：圖檔轉換、資料處理、API 回應等）

---

### 對照圖表總覽：

<div id="bkmrk-%E5%B1%A4%E7%B4%9A-%E4%BD%A0%E8%B2%A0%E8%B2%AC%E7%9A%84%E9%83%A8%E5%88%86-%E4%BE%8B%E5%AD%90-iaas-ap"><button class="hover:bg-token-main-surface-secondary text-token-text-secondary pointer-events-auto rounded-lg px-1 py-1 opacity-0 transition-opacity duration-200 group-focus-within:opacity-100 group-hover:opacity-100"><svg class="icon-md-heavy" fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"></svg></button><div><table class="min-w-full" data-end="1452" data-start="1028"><thead data-end="1091" data-start="1028"><tr data-end="1091" data-start="1028"><th data-end="1041" data-start="1028">層級</th><th data-end="1066" data-start="1041">你負責的部分</th><th data-end="1091" data-start="1066">例子</th></tr></thead><tbody data-end="1452" data-start="1166"><tr data-end="1238" data-start="1166"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1181" data-start="1166">IaaS</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1212" data-start="1181">App + OS + Middleware + DB</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1238" data-start="1212">AWS EC2、GCP VM</td></tr><tr data-end="1311" data-start="1239"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1254" data-start="1239">PaaS</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1285" data-start="1254">App + DB</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1311" data-start="1285">Heroku、GCP App Engine</td></tr><tr data-end="1381" data-start="1312"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1327" data-start="1312">SaaS</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1355" data-start="1327">僅使用</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1381" data-start="1355">Gmail、Google Docs</td></tr><tr data-end="1452" data-start="1382"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1397" data-start="1382">FaaS</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1426" data-start="1397">僅寫 function</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1452" data-start="1426">AWS Lambda、GCF</td></tr></tbody></table>

</div></div>說明 Iaas Paas Saas Faas