天天看點

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中可以定義的資源主要包括以下幾種:

角色配置設定

政策配置設定

Azure 資料總管模闆(ARM 模闆)

資源組

以下是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等多種屬性

繼續閱讀