基礎結構即程式碼
基礎結構即程式碼 (IaC) 是透過儲存在原始檔控制的電腦可讀取程式碼來管理和佈建雲端基礎結構資源的流程。 將基礎結構視為任何其他原始程式碼的能力,就是此做法稱為「基礎結構即程式碼」的原因。
IaC 是 DevOps 的重要元件,因為它允許自動化基礎結構設定和部署。 此自動化可減少管理和佈建基礎結構所需的時間和精力,同時確保基礎結構一致且可靠地設定。 IaC 也有助於確保基礎結構安全且符合組織原則。
Azure 原生 vs 雲端中立的工具
選擇 IaC 工具最重要的因素之一是您的雲端環境:
Azure 原生工具: Azure CLI、Azure PowerShell和 Bicep 等 IaC 工具僅適用於 Azure。 由於相同的公司同時提供雲端基礎結構和 IaC 工具,因此在工具中,雲端功能發行和支援之間的時間會降低。
雲端中立的工具: IaC 工具,例如 Terraform,可讓您跨混合雲端環境管理基礎結構即程式碼。 根據 IaC 工具,可能不會立即支援新發行的 Azure 功能。
命令式 vs 宣告式 IaC 工具
IaC 設定工具有兩種類型:
命令式 IaC 工具: 命令式工具或語言是一種程式碼明確指定要執行的工作及方式的工具。 您撰寫的程式碼會依特定循序執行動作,一次執行一個步驟來設定基礎結構。 大部分命令式 IaC 工具都不是等冪的,因為會逐步執行設定。
在 Azure 中管理及佈建資源的命令式 IaC 工具包括:
- Azure CLI
- Azure PowerShell
宣告式 IaC 工具: 宣告式工具或語言可讓您指定所需的結果,而不是您希望每個步驟完成的方式。 大部分宣告式 IaC 工具都遵守一般模式。 建立基礎結構的定義之後,您會執行命令來佈建您已定義的內容。 宣告式 IaC 工具有等冪性,因為不論基礎結構設定的狀態為何,都可以多次套用設定。 這項功能可藉由將不符合規範的基礎結構帶回合規性,協助您防止設定漂移。
在 Azure 中管理及佈建資源的宣告式 IaC 工具包括:
- Bicep
- Terraform
建議
- 採用 IaC 方法來部署、管理、控管及支援 Azure 部署。
- 在下列案例中使用適用於 IaC 的 Azure 原生工具:
- 您只想使用 Azure 原生工具。 您的組織之前有過部署 Azure Resource Manager 範本 (ARM 範本) 的經驗。
- 您的組織想要立即支援所有 Azure 服務的預覽和正式發行 (GA) 版本。
- 在下列案例中,針對 IaC 使用非原生工具:
- 您的組織會跨混合雲端環境管理基礎結構。
- 您的組織不需要立即支援所有 Azure 服務的預覽和 GA 版本。