針對 App Configuration 主題還有一些在之前文章主題之外的一些補充筆記。主要有兩個補充的部分,一個是針對設定自動重新重整新設定,另一個是在「使用 App Configuration 的 Feature manager 功能來實做 Feature Toggle/Flag 機制」主要說明都是使用到內建的 Filter,如果是完全自訂的話就要另外實做自訂的 Filter 來使用。
App Configuration 補充筆記
- 243
- 0
針對 App Configuration 主題還有一些在之前文章主題之外的一些補充筆記。主要有兩個補充的部分,一個是針對設定自動重新重整新設定,另一個是在「使用 App Configuration 的 Feature manager 功能來實做 Feature Toggle/Flag 機制」主要說明都是使用到內建的 Filter,如果是完全自訂的話就要另外實做自訂的 Filter 來使用。
現在在開發上逐漸強調可以持續整合 (CI) 和持續發佈 (CD),希望工程師可以更快速的交付程式碼,因此會使用 Feature branch 的 Git 策略來開發,在開發完成之後就可以馬上合併回主分支,這時候就會需要 Feature Toggle/Flag 機制,它可以透過一個設定值來控制功能的啟用和關閉,就可以在快速交付程式碼時候先隱藏或關閉開發中的功能,等測試完成之後再打開就好,或是再配合一些 Feature Toggle 的服務來管理設定,也可以針對特定使用者或按照比例來開發功能給使用者使用,而在 Azure 上面我們可以透過 App Configuration 的其中 Feature manager 功能來實做出這樣的機制,後面我就以一些實務上可以使用的情境來介紹功能的使用。
在前面的文章「不修改程式下在 App Service 使用 App Configuration 管理參數」介紹到不修改程式的情境來套用 App Configuration,這在只有單一 App Service 時候或是沒有在其它程式也會共用參數的情境下適合,如果有同一個參數會用到多個應用程式還是建議修改程式來支援會是比較好的使用情境。另外針對參數設定上也可已設定 Lable 來區分不同的環境,本文也會介紹如何在存取的時候設定要存取的 Label。
在開發專案的初期,除了環境設定以外,程式的參數設定會是初期需要處理的問題,不外乎是怎麼存?存哪裡?而在預設的 .NET Core 專案會是存在 appsettings.json 這一個檔案裡面,而專案越來越大或是越來越多子專案之後,就會延伸一個問題是參數的管理,可能在很多專案會用到一樣的參數,但是當這個參數要調整的時候,會需要每一個專案都記得去修改,這樣在管理上會相當的不方便,這時候就可以使用 Azure 上的 App Configuration 這一個服務來統一管理和設定參數,而最近微軟 Public Preview 一個新的功能,讓我們可以在不修改程式的情境下讓 App Service 的組態可以直接使用 App Configuration 內的參數,後面就來介紹該如何啟用這樣的功能。