何謂模組及可部署架構?
建立安全、合規且可擴充的應用程式基礎架構可能難以設定且維護成本高昂。 您可以利用模組及可部署架構,而不是瞭解如何自行組合符合標準的基礎架構。 模組及可部署架構可協助您建立架構,以瞭解如何在組織帳戶中部署資源。 透過使用這些可重複使用的配置,您可以定義一次部署的標準,並確保它對於您組織的每一個成員都很容易重複。
例如,想想一個正在建造公寓大樓的建築師。 這些設計通常以模組化方式執行。 標準一臥室、二臥室或三臥室公寓都有模式。 建築商可以將標準公寓,每一個都以自己的方式運作,合併成一個更大、更複雜但功能更齊全的生活安排。 IBM 將此類比套用至在雲端上部署解決方案。 您可以使用 IBM Cloud的良好架構型樣,而不是您的組織花幾個月來瞭解如何讓服務和軟體一起運作。 每個模式都包裝成可組合、自動化的建構區塊,稱為模組和可部署架構。
何謂模組?
模組是自動化程式碼的獨立式單元,可由開發人員重複使用,並作為較大系統的一部分共用。 與 Node.js 或 Python 套件類似,模組可方便管理相關資源的開發人員。 雖然可以單獨使用模組,但當您結合它們來建置可部署的架構時,它們會更強大。 IBM Cloud 所建立的模組可在 IBM Terraform 模組公用 GitHub 組織中使用。 例如,Red Hat® OpenShift® VPC 叢集 on IBM Cloud 模組 會在 IBM Cloud上安裝並配置 Red Hat OpenShift 叢集。
何謂可部署架構?
可部署的架構是雲端自動化,用於部署結合一或多個雲端資源的一般架構型樣。 其設計旨在提供使用者簡化的部署、可調整性及模組化。 可部署架構包含一或多個模組。 可部署架構以 Terraform 撰寫,您可以使用輸入變數來配置它,以達到您想要的行為。 若要建立更複雜的可部署架構,您可以將可部署架構堆疊在一起,而無需編輯 Terraform 程式碼。
可部署架構的範例是 Secrets Manager 的雲端自動化。 此可部署架構提供 IBM Cloud Secrets Manager 實例作為模組化解決方案。 您可以使用此架構與 IBM Cloud 帳戶安全地管理機密。 Secrets Manager 的雲端自動化範圍較窄。 它只會部署一個 Secrets Manager 實例,不過如果沒有可部署的架構,也可以選擇性地建立 IBM Key Protect 金鑰圈和金鑰來加密資料。
可部署架構的範圍可以更廣,例如 VPC landing zone. VPC landing zone 在由轉接閘道器連接的 hub-and-spoke 網路模式中,提供數個虛擬私有雲。 它包括許多支援服務,用於在 VPC 上執行之工作量的監視及安全。
由專家在 IBM Cloud 建置及維護的可部署架構,在 IBM Cloud 型錄中提供給您。 如果您選擇建立您自己的那些可部署架構版本,或從頭開始建置,則可以將可部署架構上架至專用型錄,並透過型錄與您的組織共用備妥部署解決方案。
堆疊可部署架構是什麼意思?
對於更複雜的使用個案,您可以將架構堆疊在一起,形成完整的端對端解決方案,以部署複雜的應用程式或基礎架構。 與提供特定功能的單獨模組或可部署架構不同,堆疊結合了多個可部署架構,形成一個可輕鬆部署和管理的全面解決方案。 就像模組可以組合以建立可部署的架構一樣,可部署的架構也可以堆疊以建立更廣泛的解決方案。 堆疊包括將架構連結在一起,以建立複雜的可部署架構。 這種連結是透過使用參考符號在每個可部署架構的輸入中指定參考來實現的。 您不需要是 Terraform 的專家,也不需要任何 Terraform 編碼技巧,就可以將架構堆疊在一起並進行部署。
舉例來說,請考慮 Secrets Manager 的雲端自動化。 該可部署架構包括 Secrets Manager 模組,可建立 Secrets Manager 實例。 如果您只需要 Secrets Manager 的一個實例,那可供部署的架構是一個合適的選擇。 然而,安全地管理機密只是維護雲端安全性的其中一環。 執行合規性掃描,讓您隨時瞭解資源的狀況如何? 或是在 IBM Cloud 帳戶中接收重要事件的通知? 安全與可觀察性的雲端基礎利用 IBM Cloud 的全方位安全服務。 它是由雲端自動化與 Secrets Manager 可部署架構疊加而成,這些架構負責配置其他 IBM Cloud 服務。Event Notifications 該可部署架構提供更全面的安全解決方案,其自身 Secrets Manager 無法獨立實現此功能。
您可以在 IBM Cloud 專案中堆疊可部署的架構,並將它們一起發佈到目錄中,而不需要許多額外的驗證步驟。 或者,您可以在將解決方案加入私有目錄時堆疊架構。 從那裡,您可以與其他人分享,省去他們自行重建的時間。
這個複雜的解決方案在成本、合規性、支援和品質保證方面,大部分都來自於其包含的可部署架構。 然而,該複雜的解決方案有其獨特的版本、說明和架構圖。 如果對與目錄中其他元件堆疊在一起的可部署架構進行更新,則上機者必須更新整個解決方案,以使用該元件可部署架構的最新版本。 將整個解決方案更新為新版本,有助於確保單一架構的最新更新在更廣泛的解決方案中正常運作。
然而,每個可部署的架構都有獨立的組態狀態,允許每個架構獨立部署、更新或取消部署。 例如,您已經知道安全與可觀察性的雲端基礎包括 Secrets Manager 可部署架構的雲端自動化等等。 如果更新了 Secrets Manager 的 Cloud automation,则需要更新 Cloud foundation for security and observability,以使用最新版本的 Secrets Manager。 然而,每個包含在雲端基礎的安全性與可觀察性架構,都不需要由使用該解決方案的使用者重新部署。 當使用者更新專案以使用最新版本時,只有 Secrets Manager 需要重新部署。
可部署架構包括哪些內容?
可部署架構可能包括變異、具有相依關係,或堆疊在一起以建立更複雜的解決方案。
- 變異
-
變異是一種可部署架構的類型,可將不同的功能或複雜性套用至現有的可部署架構。 例如,您的可部署架構可能有「快速入門」變異,它具有在內部進行測試的簡單低成本部署基本功能。 而且,您可能有一個標準變異,它更複雜一些,可以在正式作業中使用。
- 所需的架構
-
可部署架構可能包含需要其他可部署架構的輸出才能成功部署的輸入。 可部署架構與其所需的另一個架構之間的這種關係通常稱為依賴關係。 您可以透過兩種方式來滿足依賴性:堆疊可部署的架構,或將可部署的架構加入私有目錄,並將其擴充以包含其他架構。
依賴另一個可部署架構的可部署架構 - 可選的架構
-
可部署架構的設計具有彈性,因此您可以輕鬆地將架構堆疊在一起,建立更完整的解決方案。 然而,一般有用的可部署架構可能不包括您需要滿足複雜用例的特定選項。 例如,哪個資料庫與您的 Java 應用程式搭配? 您是否需要事件通知、訊息佇列或其他預設不包含的選用服務? 可選的可部署架構可與所需的可部署架構一起堆疊,為使用者解決這個客製化問題。
- 可更換架構
-
無論是需要架構來滿足依賴性,或是將其作為架構的可選延伸,使用者都可能需要更多的彈性。 您可能知道您的 Java 應用程式可使用選購的資料庫 - 但您的使用者需要哪個資料庫? 為使用者指定可抽換的架構,有助於他們自訂端對端解決方案,以滿足其特定需求。 將任何可選或必要的架構堆疊在一起之後,您可以將架構分組為可互相交換的架構。 然後,消費使用者可以選擇他們想要使用的必要架構來滿足依賴關係,或者如果他們想要擴充使用個案,也可以選擇可選架構。
當您 將可部署架構加入私有目錄 時,可以新增可選和可交換的架構。 目前,在專案中堆疊可部署的架構 不支援可選或可交換的架構。
專案是什麼,以及它們如何使用可部署的架構?
IBM Cloud 專案是一種管理工具,旨在組織並提供組織中存在的真實專案的可見性。 專案會管理可部署架構的所有已配置實例,以及與部署它們的真實世界原因相關的資源。 專案會儲存已版本化的可部署架構實例,並將實例和資源組織到環境中,以協助改善開發生命週期的可見性。 環境是一組相關可部署架構實例,可共用值以更輕鬆地部署。 例如,開發、測試或正式作業。
專案負責確保只能部署已核准的可部署架構。 此外,它們還可以協助確保它們所建立的架構及資源保持最新、符合標準,且不會在一段時間內發生漂移。 例如,您可能有一個帳戶管理應用程式專案。 此專案設計為管理帳戶管理應用程式部署至開發、測試或正式作業環境所需的所有資源。 每一個環境都具有相同的變數 (例如區域或字首),但具有不同的值。 透過專案將可部署架構指派給環境時,其輸入值可以自動參照任何具有相同名稱的環境內容。 雖然 IBM Cloud 專案易於建立及更新,但它們未針對抄寫或共用進行範本化或最佳化。
如何知道要建立哪個解決方案?
如果您計劃建立自己的解決方案,則應該將範圍、連結、是否可部署以及解決方案的目的全部納入考量。 如需指引及使用案例以協助您決定要建置的項目,請參閱 規劃及研究設計架構 及 如何決定要建立的元件類型。
下表提供高階概觀,說明您可能想要建立不同元件的原因。
| 目的 | 建議方法 | 為什麼? |
|---|---|---|
| 建立可共用自動化元件的程式庫 | 建立模組 | 模組提供可重複使用且經過策劃的自動化,以針對正在建立及配置可部署架構的人員加速處理程序。 |
| 確保您組織的雲端環境安全與合規 | 建立可部署的架構 | 可部署架構的包裝方式可讓您定義一次安全且合規的部署,並確保組織的所有成員都以相同方式重複部署。 |
| 建構您自己的解決方案 | 將可部署的架構堆疊在一起 | 透過結合架構,您可以為組織建立更複雜的端對端解決方案。 |