什麼是無伺服器模式?

無伺服器運算方式徹底改變了應用程式開發作業,讓開發人員可以專注於編寫程式碼,完全不必擔心基礎架構的問題。與傳統運算方式相比,無伺服器運算模式具備多種優勢,包括不必管理伺服器、無須預先佈建、可自動調整資源配置,以及僅須為您所使用的資源付費。這些優勢讓無伺服器模式非常適合用於無狀態 HTTP 應用程式、網路、行動裝置、IoT 後端、批次與串流資料處理、聊天機器人等用途。


GCP 無伺服器運算組合

Cloud Functions

無伺服器功能與事件

Cloud Functions

這個事件驅動的運算平台可以輕鬆連結及擴充 Google 和第三方雲端服務,並建構可擴充至全球規模的應用程式。

瞭解詳情  
App Engine 標準環境

無伺服器 HTTP 應用程式

App Engine 標準環境

這個全代管無伺服器應用程式平台適用於網路和 API 後端。您可以使用熱門的開發語言,完全不必擔心基礎架構的管理問題。

瞭解詳情  
Cloud Run

無伺服器容器

Cloud Run

這個無伺服器運算平台可讓您執行能透過 HTTP 要求叫用的無狀態容器。Cloud Run 可以做為按用量計價的全代管平台使用,也可以做為 Anthos 的一部分使用。

瞭解詳情  

哪種無伺服器運算平台最適合您?

無伺服器選項

* App Engine 標準環境支援 Node.js、Python、Java、Go、PHP

* Cloud Functions 函式支援 Node.js、Python、Go

應用實例

網頁應用程式

網頁應用程式

App Engine 標準環境適用於以 Node.js、Python、PHP、Java 和 Go 執行、且只需極少量作業的網頁應用程式。您可以使用任何語言程式庫,以標準的慣用方式編寫應用程式。App Engine 標準環境具快速部署及擴充回應能力,因此非常適合處理激增的工作負載。

非同步後端處理服務

非同步後端處理服務

Cloud Functions 適合用於回應雲端中的資料事件及進行輕量級處理作業,例如調整已上傳到 Cloud Storage 的映像檔大小,或在修改 Firestore 資料庫中的值之後驗證資料。

行動後端

行動後端

對於行動應用程式的傳統 REST API 後端來說,App Engine 標準環境是一個可監控、更新及擴充託管環境的應用程式平台,您只需要專心編寫行動後端服務程式碼即可。Firebase 提供一套強大的後端服務,可直接整合至您的行動應用程式,包括即時 NoSQL 資料庫、驗證、託管、檔案儲存空間等。Firebase 整合了 Cloud Functions,讓您可以輕鬆連結其他 Google Cloud Platform 服務。

API

API

如要建構一個簡單的 API (可透過 HTTP 或 Cloud Pub/Sub 存取的一小組函式),建議您使用 Cloud Functions。這項服務專為激增的工作負載設計,其程式設計範例 (函式) 可協助小規模的後端程式碼保持井然有序。如果是較為複雜的 API (例如包含許多路徑的 REST API),建議您改用 App Engine 標準環境,這樣整理大量函式時會比較輕鬆。如果您使用 Cloud Endpoints 管理 API,建議使用支援 Cloud Endpoints 的 App Engine 標準環境 (須搭載 Python 2.7 和 Java 8)。

定期作業

定期作業

Cloud Scheduler 可以依照使用者定義的時間表,傳送排定的 HTTP 要求來觸發作業。這項服務還可以明確指定 App Engine 或 Cloud Functions 和 Cloud Run 等 HTTP 端點。

快速執行原型設計及拼接 API

快速執行原型設計及拼接 API

如果是需要快速執行原形設計和 (或) 拼接多個 API 與服務的小規模專案或「黑客松」專案,建議您使用 Cloud Functions。這項服務的程式設計範例除了可以讓您快速開發小規模應用程式以外,還能「黏貼程式碼」,將既有的 API 和服務拼接在一起。

執行各供應商通用的容器

執行各供應商通用的容器

Docker 容器是業界標準,可在任何雲端或內部部署環境中執行。Cloud Run 能以無伺服器要求/回應的方式執行容器。建議您使用 Cloud Run,但如果您需要 GPU 等客製化硬體或必須使用 Kubernetes 叢集,則可在 Google Kubernetes Engine 叢集中執行 Cloud Run on GKE。

結合無伺服器和有狀態工作負載

結合無伺服器和有狀態工作負載

Cloud Run for Anthos 可讓您輕鬆將無伺服器和有狀態的工作負載一起執行。舉例來說,您可以從 Marketplace 將 MongoDB 部署至 Anthos GKE 叢集,做為無伺服器工作負載的文件存放區使用。Anthos 可讓您在 Kubernetes 叢集中靈活地執行任何內容,您也可以同時使用 Cloud Run for Anthos 部署無伺服器工作負載。

產品比較

App Engine 標準環境 Cloud Functions Cloud Run (Beta 版)1 Cloud Run for Anthos (Beta 版)1
部署構件 應用程式 函式 容器 容器
將資源調度降至零 有 有 有 Pod2
免費方案 有 有 有
Websocket 有
語言 Java、Node.js、Python、Go、PHP Node.js、Python、Go 不限 不限
存取權控管 Oauth 2.0、CICP、Firebase 驗證、Google 登入、Users API 叫用者 IAM 權限 叫用者 IAM 權限、CICP、Google 登入、Firebase 驗證 僅限叢集、僅限 VPC
HTTP/2 和 gRPC 有
自訂網域 有 有 有
要求逾時 1 分鐘3 9 分鐘 15 分鐘 15 分鐘
GPU 和 TPU 有
虛擬私人雲端連線能力 有Beta 版1 已加入藍圖 有

1. Beta 版軟體不提供服務水準協議

2. Cloud Run on GKE 會將 pod 數量調整為零。每個叢集的節點數量不得調降為零,且系統會在缺少要求的情況下針對這些節點計費。

3. 自動調整資源配置:HTTP 要求的期限為 60 秒。

進階提示與最佳做法

建議您一併考量以下因素。