什麼是容器即服務 (CaaS)?

如要順利達成目標,開發人員就必須有效率地封裝及傳輸各種應用程式。容器即服務 (CaaS) 可簡化整個過程中的基礎架構和容器部署、運行和維護作業。

在 Google Cloud 上執行容器的三種最佳方法。

容器即服務 (CaaS) 的定義

容器即服務 (CaaS) 是一種雲端服務模式,提供自動化的代管平台,適用於容器自動化調度管理,可有效整理及簡化叢集作業。

想像一下,所有程式都聚集在一個虛擬辦公空間內,然後有個管理員負責維護,防止辦公室遭到破壞或不堪負荷;這就是所謂的容器化。您不必處理任何問題,可以將心力都集中在程式碼的運行上。

對於開發人員完成的容器與正式環境等級的執行階段,CaaS 能有效消弭兩者之間的差距,簡化底層基礎架構作業,讓團隊專注於應用程式邏輯上,而非叢集管理

CaaS 的運作方式

CaaS 的運作方式就是,提供以容器自動化調度管理引擎為基礎建構的代管環境,其中 Kubernetes 是業界標準的容器自動化調度管理引擎。這個流程能將開發人員與基礎架構的責任分離:

開發人員的工作:首先,他們必須將所有依附元件和應用程式封裝成容器映像檔。這個映像檔就是應用程式的可攜式藍圖。

完成後,CaaS 產品會接手:映像檔建構及儲存完畢後,剩下的就是透過 API 或介面進行管理。Google Kubernetes Engine 等 CaaS 產品可協助處理其他所有事宜。接下來,必須界定程式的狀態。需要三部伺服器同時執行同一個程式嗎?這項服務可以幫您實現。

之後,系統會自動處理新的部署作業,其中可能包括:

  • 將應用程式放到節點上,並管理透過連線進行的傳輸作業
  • 根據不同類型的指標或資源調整規模
  • 管理及自動修復運作中的程式碼
  • 連結服務和資源

CaaS 範例與用途

CaaS 是多功能平台,可做為架構和開發實務的基礎。

這種平台非常適合用來部署應用程式和微服務

能有效封裝舊有應用程式,同時翻新舊版應用程式。

對開發結構而言,CaaS 平台是理想選擇。自動化系統可以建構新的容器映像檔、執行測試,並部署至 CaaS 平台,且完全不會停機。

CaaS 會自動因應流量需求。平台可自動新增或移除容器執行個體,以滿足使用者需求。

以 Kubernetes 等開放標準為基礎建構的 CaaS 平台,可為地端部署資料中心和多個公有雲提供一致的作業環境,能讓企業在任何地方執行容器化應用程式,不必重建架構。

CaaS 與其他雲端服務模式的比較

「以服務形式提供」(as a service) 的領域包含多種模式,每種模式提供的簡化程度和管理範圍都不同。CaaS 介於基礎架構即服務 (IaaS)平台即服務 (PaaS) 之間。

雲端服務模式

您管理的項目

簡化程度

典型應用情境

基礎架構式服務 (IaaS)

作業系統、中介軟體、執行階段、應用程式、資料。

低:能讓您存取虛擬機器和儲存空間等原始運算資源。

從頭建構自訂基礎架構。

容器即服務 (CaaS)

應用程式與設定。

中:會管理叢集和 OS,但容器環境的掌控權還是在您手中。

大規模自動調度並管理容器化應用程式。

平台即服務 (PaaS)

應用程式和資料。

高:幾乎所有作業都由平台管理,您只需提供原始碼。

快速部署簡單的網頁應用程式和 API。

函式即服務 (FaaS) (無伺服器)

僅程式碼函式。

極高:根據事件執行個別無狀態函式。

輕量級的事件導向資料處理工作。

軟體式服務 (SaaS)

無 (您即為使用者)。

完全:透過網路提供軟體成品。

使用電子郵件或客戶關係管理系統等現成軟體。

雲端服務模式

您管理的項目

簡化程度

典型應用情境

基礎架構式服務 (IaaS)

作業系統、中介軟體、執行階段、應用程式、資料。

低:能讓您存取虛擬機器和儲存空間等原始運算資源。

從頭建構自訂基礎架構。

容器即服務 (CaaS)

應用程式與設定。

中:會管理叢集和 OS,但容器環境的掌控權還是在您手中。

大規模自動調度並管理容器化應用程式。

平台即服務 (PaaS)

應用程式和資料。

高:幾乎所有作業都由平台管理,您只需提供原始碼。

快速部署簡單的網頁應用程式和 API。

函式即服務 (FaaS) (無伺服器)

僅程式碼函式。

極高:根據事件執行個別無狀態函式。

輕量級的事件導向資料處理工作。

軟體式服務 (SaaS)

無 (您即為使用者)。

完全:透過網路提供軟體成品。

使用電子郵件或客戶關係管理系統等現成軟體。

常見問題

有了容器,無論在哪都能提供軟體。進一步瞭解容器

可以。事實上,容器還能帶來許多其他好處,例如:責任劃分、應用程式隔離、批次處理及混合雲部署。

Google Kubernetes Engine (GKE) 與 Kubernetes 的原生機制 (例如 Service 物件和 DNS) 完美整合,可簡化服務探索作業。GKE 是代管服務,提供多項強化功能,例如多叢集 Service (MCS),以及與 Service Directory 的直接整合。

加快新程式碼的建立和部署速度,不必重複管理或構思資源。

CaaS 的優點

採用 CaaS 平台可為企業開發和營運團隊帶來多項策略優勢。

可攜性

CaaS 有助於處理工作負載,如果容器式應用程式在標準 CaaS 架構上執行,即可輕鬆編輯。

擴充性

您可以根據需求調整資源。

快速編寫程式碼

有助於改善自動化做法。

提升維護效率

如果某個元件故障,平台會立即處理並修復,確保使用者功能不受影響。

CaaS 安全性

供應商負責處理基礎工作,因此您必須仰賴應用程式的程式碼、帳戶存取權、防火牆和存取規則。CaaS 環境在安全性方面採用共同責任模式,CaaS 供應商負責保護基礎架構,包括保護容器自動化調度管理控制層、確保實體資料中心和網路安全,以及維護代管服務本身的完整性。

客戶須負責保護自己控管的元件安全。其中包括保護應用程式程式碼、使用 Identity and Access Management (IAM) 管理叢集存取權、設定網路政策來控管容器間的流量,以及保護軟體供應鏈。也就是說,在部署容器映像檔前,應使用安全的容器存放區並掃描映像檔,找出已知安全漏洞。

IT 團隊的職責:

  • 測試應用程式程式碼
  • 使用及控管 Identity and Access Management
  • 軟體安全性

透過 Google Cloud 解決業務難題

新客戶可以獲得價值 $300 美元的免費抵免額,盡情試用各項 Google Cloud 功能。

如何使用 Google Kubernetes Engine 設定 CaaS

Google Kubernetes Engine (GKE) 是 Google Cloud 的頂尖 CaaS 產品。設定基本部署作業時,請遵循符合邏輯與容器原生技術的工作流程。

步驟 1:將應用程式容器化

首先,請為應用程式編寫文字檔案。這個簡單的文字檔案包含在容器映像檔中建構應用程式、依附元件和執行階段環境的指令。

步驟 2:在儲存庫中儲存映像檔

從文字檔案建構容器映像檔,並推送至安全的私人儲存庫。Artifact Registry 是 Google Cloud 的代管服務,用於儲存容器映像檔及管理版本。

步驟 3:建立 GKE 叢集

使用 Google Cloud 控制台或 gcloud 指令列工具佈建 Kubernetes 叢集。如要享有全代管體驗,自動管理節點和資源調度,可以選擇 GKE Autopilot 叢集

步驟 4:定義部署作業

建立 Kubernetes 資訊清單檔案 (例如 deployment.yaml)。您可以在這個檔案中,透過宣告定義應用程式的所需狀態,包括要使用的容器映像檔、所需的副本數量,以及 CPU 和記憶體資源。

步驟 5:將應用程式部署至叢集

使用 Kubernetes 指令列工具 kubectl,將資訊清單檔案套用至叢集。GKE 控制層會接收要求,並排定應用程式容器在叢集 worker 節點上執行的時間。

步驟 6:公開應用程式

如要讓使用者透過網際網路存取應用程式,請建立 LoadBalancer 類型的 Kubernetes Service 資訊清單。套用這個資訊清單後,GKE 會自動佈建 Cloud 負載平衡器,並指派公開 IP 位址,將外部流量轉送至執行中的容器。

您希望解決什麼問題?
What you'll get:
逐步指南
參考架構
可用的預先建構解決方案
這項服務以 Vertex AI 建構,必須年滿 18 歲才能使用。請勿輸入個人資訊,或是敏感、機密的內容。

額外資源

  • 這部 Google Cloud Skills Boost 影片簡要介紹容器的基本概念,以及 Kubernetes 如何做為自動化調度管理引擎運作
  • 這份實用指南說明其他主要雲端服務模型 (例如 IaaS、PaaS 和 SaaS) 的主要差異

展開下一步行動

運用價值 $300 美元的免費抵免額和超過 20 項一律免費的產品,開始在 Google Cloud 中建構產品與服務。