規劃部署策略

決定 OCI 資源和工作負載的定義和部署方式。您可以隨時隨地使用 Terraform 發行套件 (包括 Terraform Cloud 和 OCI Resource Manager),使用 OCI Terraform 提供者管理 OCI 資源。除了 OCI Terraform 提供者之外,您還可以使用 OCI Landing Zones Terraform 模組,在不需要編寫程式碼的情況下,使用傳統 .tfvars 檔案或 JSON 組態簡化 OCI 資源的部署。

例如,您可以使用 OCI Landing Zones 來啟用可重複的 1-Click 佈建 CIS 強化租用戶和工作負載基礎架構,包括識別、安全性、網路、可觀察性及治理等基本雲端服務。接著,您可以將特定應用程式的工作負載資源部署在最上層。

根據您的客戶和資料選擇區域

雲端營運經理,網路架構設計師

選擇區域時,請注意誰將存取您的資源,以及來自哪個國家或世界的區域。進行選擇時,請將隱私權與法規要求納入考量。

採用基礎架構即程式碼

Cloud Architect,雲端營運經理 DevOps 架構設計師

當您在 OCI 中採用基礎架構作為程式碼時,可以程式碼形式定義整個應用程式基礎架構。您可以用程式碼執行作業程序,然後針對以事件為基礎的通知實行這些程序。

下列元素可讓您使用程式碼定義及管理基礎架構:

  • Oracle Cloud Infrastructure 登陸區

    OCI Landing Zones 為您提供一組完整的 OCI 藍圖,包括可用於任何 OCI 架構和部署模型的現成設計、組態和宣告式 IaC Terraform 模組。

  • Oracle Cloud Infrastructure Resource Manager

    資源管理程式使用 Terraform 自動化佈建 OCI 資源的程序,協助您透過基礎架構即程式碼模型安裝、設定及管理資源。

  • Oracle Cloud Infrastructure Events

    事件會自動回應您租用戶中的資源變更。OCI 服務會發出事件訊息,這些是表示資源變更的結構化訊息。您可以根據整個租用戶的資源狀態變更建立自動化,讓開發團隊能夠在資源變更狀態時自動回應。

  • Oracle Cloud Infrastructure Functions

    Functions 提供高度可擴充且完全受管理的無伺服器平台。部署程式碼之後,您可以使用事件來觸發編碼為函數的作業程序。

採用 Terraform 導入可重複的工作流程

Cloud Operations Manager 應用軟體架構師 DevOps 架構師

Terraform 是一種開放原始碼工具,可讓您透過基礎架構即程式碼模型,以程式設計方式管理、版本及保存基礎架構。Terraform 組態會在定義基礎架構及維護其狀態的宣告式檔案中編碼您的基礎架構。

您可以在團隊成員之間共用這些檔案,將它們視為程式碼、編輯、檢閱和編列版本。

您可以隨時隨地使用 Terraform 發行套件 (包括 Terraform Cloud 和 Oracle Cloud Infrastructure Resource Manager),使用 OCI Terraform 提供者管理 OCI 資源。除了 OCI Terraform 提供者之外,您還可以運用 OCI Landing Zones Terraform 模組,透過傳統 .tfvars 或 JSON 組態檔提供宣告式可設定方法,而不需要編寫程式碼技能。

搭配 OCI 使用 Terraform 時,請考慮下列事項:

  • Terraform 是程式碼,應被視為使用控制版本系統。OCI Resource Manager 可以利用 Git 儲存區域來執行程式碼。
  • 如果您是在 OCI 中的 VM 運算執行處理上執行,請考慮使用執行處理主體作為 OCI 提供者的認證。
  • 維護安全位置中的 Terraform 狀態檔 (可供您的 Terraform 堆疊與其程式實際執行存取),而且資料值層級正確無誤。當您擴充 OCI 資源時,請將資源隔離並分割到 Terraform 堆疊中;因為一個堆疊中的所有資源都將位於單一狀態檔案中,而這可能需要一些時間來處理,這可能會封鎖其他資源的重要更新。使用 OCI 資源管理程式時,每個堆疊都將包含自己的狀態檔。
  • OCI Landing Zones 藍圖是專為搭配 OCI Landing Zones Terraform 模組執行的組態。您可以在導入許多最佳實務時立即使用這些藍圖,或修改這些藍圖以支援您獨特的使用案例。如果您使用 JSON 組態的宣告式方法,則無需具備 Terraform 編碼技能即可執行部署。

採用 OCI Designer Toolkit (OKIT)

雲端營運經理 DevOps 基礎架構架構師

Oracle Cloud Infrastructure (OCI) 設計工具和視覺化 toolKIT (OKIT) 是一種瀏覽器型工具,可讓您透過圖形化 Web 式介面設計、部署和視覺化 (內部檢查 / 查詢) OCI 環境。

Web 式介面可讓建築師和設計師建立其基礎架構的視覺表示法,然後以多種格式匯出。完成之後,您可以增強設計以新增金鑰特性資訊,讓您可以將設計的基礎架構匯出至數個 DevOps 架構。

您可以使用 OKIT 透過 Web 介面內嵌的簡單查詢功能來自我檢查現有的 OCI 環境,以提供可攜式的一般 JSON 檔案。您可以使用 JSON 檔案將現有系統視覺化,或產生一組 Terraform 或 Ansible 命令檔,用來將設計的 OCI 基礎架構建置為壓縮檔。

OKIT 模型支援使用雲端 Init 指令碼進一步自動化運算資源部署。OKIT 基本上是最適合在本機執行的單一使用者工具,因為它使用使用者的個人金鑰向租用戶進行認證。使用 Oracle Cloud Infrastructure Resource Manager 可讓您共用設計。您可以將 OKIT 設計匯出為 JSON 格式,供您進行版本控制。

將簡單和可重複的動作自動化

雲端營運經理 DevOps 架構師

請考慮使用 OCI 命令行介面 (CLI) 來編寫可重複的動作及協調多項作業。使用 OCI CLI 可透過自動化簡化作業。

CLI 提供與主控台相同的核心功能,外加其他指令。其中部分功能 (例如執行指令碼的能力) 可擴充 OCI Console 功能。CLI 支援在 MacOS、Windows 或支援的 Linux 發行套件上執行的 Python 版本 3.6 和更新版本。此外,您可以將它設定為利用聯合識別,而不需依賴靜態證明資料。

採用組態管理工具

雲端營運經理 DevOps 基礎架構架構師

請考慮採用 Ansible 模組等管理工具,以協助您進行佈建、協調及組態管理。

Ansible 模組可讓您自動設定和佈建雲端基礎架構、部署和更新軟體資產,以及協調複雜的作業流程,以降低風險並實現工作負載部署和組態的靈活度。Ansible 手冊可自動執行組態、部署及協調作業。

OCI 支援使用 Ansible 模組,將雲端基礎架構的佈建和組態自動化、複雜的作業流程協調,以及部署和更新軟體資產。OCI Ansible 集合支援 Ansible Tower 和 AWX。

採用組建和部署管理系統

雲端營運經理 DevOps 架構師

使用建置和部署管理系統 (例如 Ansible Tower 或 Jenkins) 提升效率。這些系統可減少手動程序所造成的錯誤,並減少部署變更的工作量。

測試並驗證變更

雲端營運經理 DevOps 架構師

若要偵測錯誤,請一律追蹤、測試及驗證變更。

您可以使用版本控制系統來追蹤程式碼中的變更。請考慮使用部署管理系統將測試程序自動化。