描述 Azure Resource Manager 和 Azure ARM 範本
Azure Resource Manager (ARM) 是適用於 Azure 的部署和管理服務。 它提供一個管理層,可讓您在 Azure 帳戶中建立、更新和刪除資源。 只要您使用 Azure 資源執行任何動作,ARM 就會參與其中。
當使用者從任何 Azure 工具、API 或 SDK 傳送要求時,ARM 會收到要求。 ARM 會驗證並授權要求。 然後,ARM 會將要求傳送至 Azure 服務,以採取要求的動作。 您在所有不同工具中看到一致的結果和功能,因為所有要求都是透過相同的 API 處理。
Azure Resource Manager 優點
使用 Azure Resource Manager,您可以:
- 透過宣告式範本而非腳本來管理基礎結構。 Resource Manager 範本是一個 JSON 檔案,可定義您想要部署至 Azure 的內容。
- 將解決方案的所有資源作為一個群組進行部署、管理和監視,而不是逐一處理這些資源。
- 在整個開發生命週期中重新部署您的解決方案,並確信您的資源會以一致的狀態部署。
- 定義資源之間的相依性,使其依正確順序部署。
- 將訪問控制套用至所有服務,因為 RBAC 原生整合至管理平臺。
- 將標籤套用至資源,以邏輯方式組織訂用帳戶中的所有資源。
- 檢視共用相同標籤的資源群組的成本,以釐清貴組織的帳單。
下列影片提供 Azure Resource Manager 的概觀。
基礎結構即程序代碼
基礎結構即程式代碼是將基礎結構當作程式代碼行來管理的概念。 在簡介層級,像是使用 Azure Cloud Shell、Azure PowerShell 或 Azure CLI 來管理和設定您的資源。 當您在雲端中更熟悉時,可以使用基礎結構即程式代碼概念,使用可重複的範本和組態來管理整個部署。 ARM 範本和 Bicep 是搭配 Azure Resource Manager 使用基礎結構即程式代碼來維護環境的兩個範例。
ARM 範本
藉由使用 ARM 範本,您可以描述您想要以宣告式 JSON 格式使用的資源。 使用 ARM 範本時,部署程式代碼會在執行任何程式代碼之前進行驗證。 這可確保資源會正確建立及連線。 範本接著會平行協調這些資源的建立。 也就是說,如果您需要 50 個相同資源的實例,則會同時建立所有 50 個實例。
最後,開發人員、DevOps 專業版或 IT 專業人員只需要定義 ARM 範本中每個資源所需的狀態和組態,而範本會執行其餘工作。 範本甚至可以在設定資源之前或之後執行 PowerShell 和 Bash 腳本。
使用ARM範本的優點
規劃部署 Azure 資源時,ARM 範本提供許多優點。 其中一些優點包括:
- 宣告式語法:ARM 範本可讓您以宣告方式建立和部署整個 Azure 基礎結構。 宣告式語法表示您要部署的專案,但不需要撰寫實際的程式設計命令和順序來部署資源。
- 可重複的結果:在開發生命週期中重複部署基礎結構,並確信您的資源會以一致的方式部署。 您可以使用相同的 ARM 範本來部署多個開發/測試環境,知道所有環境都相同。
- 協調流程:您不必擔心排序作業的複雜性。 Azure Resource Manager 會協調相依資源的部署,因此會依正確順序建立它們。 可能的話,Azure Resource Manager 會以平行方式部署資源,因此您的部署會比序列部署更快完成。 您可以透過一個命令來部署範本,而不是透過多個指令。
- 模組化檔案:您可以將範本分成較小的可重複使用元件,並在部署時間將它們連結在一起。 您也可以將一個範本嵌入到另一個範本內。 例如,您可以建立 VM 堆疊的範本,然後在部署整個環境的範本內巢狀化該範本,而且該 VM 堆疊會一致地部署在每個環境範本中。
- 擴充性:使用部署腳本,您可以將PowerShell或Bash腳本新增至範本。 部署腳本可擴充您在部署期間設定資源的能力。 腳本可以包含在範本中,或儲存在外部來源中,並在範本中參考。 部署腳本可讓您在單一 ARM 範本中完成端對端環境設定。
二頭肌
Bicep 是一種語言,使用宣告式語法來部署 Azure 資源。 Bicep 檔案會定義基礎結構和組態。 然後,ARM 會根據您的 Bicep 檔案部署該環境。 雖然類似於以 JSON 撰寫的 ARM 範本,但 Bicep 檔案通常會使用更簡單、更簡潔的樣式。
Bicep 的一些優點包括:
- 支援所有資源類型和 API 版本:Bicep 立即支援 Azure 服務的所有預覽和 GA 版本。 一旦資源提供者引進新的資源類型和 API 版本,您就可以在 Bicep 檔案中使用它們。 使用新的服務之前,您不需要等候工具更新。
- 簡單語法:相較於對等的 JSON 範本,Bicep 檔案更簡潔且更容易閱讀。 Bicep 不需要先前的程式設計語言知識。 Bicep 語法為宣告式,並指定您想要部署的資源和資源屬性。
- 可重複的結果:在開發生命週期中重複部署基礎結構,並確信您的資源會以一致的方式部署。 Bicep 檔案具有等冪性,這表示您可以多次部署相同的檔案,並以相同的狀態取得相同的資源類型。 您可以開發一個代表所需狀態的檔案,而不是開發許多個別的檔案來代表更新。
- 協調流程:您不必擔心排序作業的複雜性。 Resource Manager 會協調相互依存資源的部署,使其依正確順序建立。 可能的話,Resource Manager 會以平行方式部署資源,讓您的部署速度比序列部署更快。 您可以透過一個指令部署檔案,而不是透過多個指令式命令。
- 模組化:您可以使用模組將 Bicep 程式代碼分成可管理的元件。 模組會部署一組相關的資源。 模組可讓您重複使用程式碼並簡化開發。 將模組新增至 Bicep 檔案,以便隨時部署這些資源。