Azure Blueprint 初體驗 - 概念介紹

接下來準備開一波Azure Blueprint相關的blog,來一起學習下這個Azure進階過程中不可獲取的服務,常用的Azure功能我們已經介紹過很多了,之前有幾十篇博客都寫到了Azure裏常用的功能,也分享了很多很多常用的腳本,但是之前很少分享過像是ARM Template這類的代碼,因爲感覺來說ARM Template使用上還是稍微費事了些,JSON編輯起來也比較麻煩,所以平時會更傾向於用Terraform這類的工具,但是作爲Azure原生的infrastructure as code工具,微軟又進一步拓展了它的功能,現在我們可以用Blueprint作爲一個完整的IAS的平臺了,在這裏也集成了ARM Template的功能

這次準備介紹的Blueprint發佈的時間還不是很長,個人感覺定位上像是對於ARM Template的補充,進一步完善了Azure上實現IAS的方式,首先來看下Blueprint的一些介紹

通過 Azure 藍圖,雲架構師和中心信息技術組同樣可以定義一組可重複的 Azure 資源,這些資源實現並遵守組織的標準、模式和要求。 通過 Azure 藍圖,開發團隊可以快速生成和構建新環境,並確信這些生成的環境符合組織規定,還可以使用一組有助於加快開發和交付過程的內置組件(如網絡)。

如官網的這段話所說,blueprint可以用來定義一組可重複的Azure資源,並且可以很直觀的看到這些資源遵守的policy,確保這些資源的部署是合規的

https://docs.microsoft.com/zh-cn/azure/governance/blueprints/overview?WT.mc_id=AZ-MVP-5001235

Blueprint中可以定義的資源主要包括以下幾種:

  1. 角色分配

  2. 策略分配

  3. Azure 資源管理器模板(ARM 模板)

  4. 資源組

以下是Azure Blueprint與其他Azure服務的區別,直白點說,Blueprint其實是包括ARM Template和Policy的功能的,Blueprint相當於是對Azure資源、RBAC、Policy的整合,在Blueprint中可以直觀的看到對這些服務的定義

與 ARM 模板的不同之處

此服務旨在幫助進行環境設置。 此設置通常包括一組資源組、策略、角色分配和 ARM 模板部署。 藍圖是將每個項目類型組合在一起的包,通過藍圖可編寫和版本化該包(包括通過持續集成和持續交付 [CI/CD] 管道)。 最終可在一個可審計和跟蹤的操作中將每個藍圖分配給訂閱。

幾乎所有要包含在 Azure 藍圖中部署的內容都可以使用 ARM 模板完成。 但是,ARM 模板是 Azure 中不以本機方式存在的文檔 - 每個模板均存儲在本地或源代碼管理中。 該模板用於部署一個或多個 Azure 資源,但部署了這些資源後,資源與模板之間就不再存在有效的連接或關係。

使用 Azure 藍圖,藍圖定義(應該部署的對象)和藍圖分配(已部署的對象)之間的關係仍然存在 。 此連接支持改進部署的跟蹤和審覈。 Azure 藍圖也能一次性升級由同一藍圖管理的多個訂閱。

無需在 ARM 模板和藍圖之間進行選擇。 每個藍圖都可以包含零個或多個 ARM 模板項目。 此支持意味着可以在 Azure 藍圖中重複使用以前開發和維護 ARM 模板庫的工作成果。


與 Azure Policy 的不同之處

藍圖是一個包或容器,用於組合與 Azure 雲服務、安全性和設計的實現相關的一組針對目標的標準、模式和要求,這些標準、模式和要求可以重複使用以確保一致性和符合性。

策略是默認允許和顯式拒絕系統,側重於部署期間的資源屬性,用於現有資源。 它會驗證訂閱中的資源是否符合要求和標準,以此爲雲治理提供支持。

如果在藍圖中包含策略,則可以在分配藍圖期間創建適當的模式或設計。 包含策略可確保只對環境進行批准或預期的更改,以確保持續符合藍圖意向。

策略可作爲衆多項目中的一項包含在藍圖定義中。 藍圖還支持在策略和計劃中使用參數。


總的來說,Blueprint是一組Azure中集成資源定義、權限定義、策略定義的集合,具有可重複部署、可審覈、可集成CI/CD pipline等多種屬性

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章