隨著企業轉向以容器為基礎的應用程式開發和部署,他們必須瞭解如何管理具有個別工程工作流程的分散式團隊。為協助大型企業轉換至容器型應用程式,我們製作了企業應用程式藍圖。這個藍圖會部署內部開發人員平台,讓雲端平台團隊提供代管平台,方便組織中的應用程式開發團隊開發及交付軟體。
企業應用程式藍圖包含下列項目:
- GitHub 存放區,內含一組 Terraform 設定和指令碼。Terraform 設定會在 Google Cloud 中設定開發人員平台,支援多個開發團隊。
- 本藍圖的架構、設計、安全控制措施和作業程序實作指南 (本文件)。
企業應用程式藍圖的設計與企業基礎藍圖相容。企業基礎藍圖提供多項企業應用程式藍圖所依賴的基礎層級服務,例如 Cloud Identity。如果您的 Google Cloud 環境提供支援企業應用程式藍圖的必要功能,即可部署企業應用程式藍圖,不必部署企業基礎藍圖。
本文適用於雲端架構師,並假設您使用企業應用程式藍圖,在Google Cloud上部署新的企業應用程式。不過,如果您已在 Google Cloud上擁有現有的容器化企業應用程式,可以逐步採用這項參考架構。
本文也假設您瞭解 Kubernetes 元件,包括服務、命名空間和叢集。如要瞭解 Kubernetes 和 Google Cloud中的實作方式,請參閱 Google Kubernetes Engine 技術總覽。
企業應用程式藍圖總覽
在大多數企業中,開發人員平台會管理所有開發人員使用的共用基礎架構。開發人員平台會視需要為每個應用程式元件建立建構管道、部署管道和執行階段環境。開發團隊和應用程式營運人員只能存取自己負責的應用程式元件。這個平台旨在支援部署高可用性且安全的應用程式。
這個藍圖會在企業基礎藍圖 (或同等藍圖) 上方部署開發人員平台。開發人員平台包含 Google Kubernetes Engine (GKE) 叢集、GKE 艦隊、應用程式工廠、基礎架構管道、平台監控和平台記錄等資源。此外,開發人員平台會設定管理解決方案的使用者 (開發人員平台管理員和應用程式開發人員)。
這個藍圖可讓機構為不同的應用程式開發團隊 (稱為「租戶」) 提供平台存取權。房客是指一群使用者,他們對一組資源擁有共同所有權。租戶擁有一或多個應用程式,這些應用程式會以容器型服務的形式在平台上執行。開發人員平台上的應用程式是原始碼和設定的組合。每個應用程式都是透過專屬的 CI/CD 管道建構及部署。租戶和應用程式在執行階段和 CI/CD 管道中彼此隔離。藍圖中提供自動化的部分會由所有房客使用,稱為「多租戶」。
為說明開發人員平台的使用方式,藍圖包含一個名為「Cymbal Bank」的範例應用程式。Cymbal Bank 是微服務應用程式,專為在 GKE 上執行而設計。這個應用程式旨在模擬高可用性應用程式,並以主動-主動設定部署,以啟用災難復原功能。Cymbal Bank 假設應用程式是由多個獨立開發團隊開發及營運。
後續步驟
- 請參閱架構 (本系列文件的下一篇)。