跳至主要內容
Aurikle
AI與系統Aurikle

客製軟件功能開關怎麼逐步放量

使用者驗收通過之後,功能開關先讓一小群人用到新功能,再按錯誤和支援量決定放寬或把開關關回,不必整次發布回滾。變更紀錄回答誰核准改規格;上線切換回答第一次把正式環境交出去的順序;回滾計畫回答怎樣退回一次發布;這一頁回答功能已經在正式環境裡時,怎樣只對一部分人打開。

目錄
  1. 功能開關和變更、切換、回滾分開寫
  2. 開關是已部署程式裡的另一條路徑
  3. 先點名的一小群,用覆寫對上對象
  4. 按比例放寬時,比例由公司寫下
  5. 放寬之前,先看錯誤和支援量
  6. 關回開關,不必退回整次發布
  7. 評估失敗時,回到寫明的預設值
  8. 名單、比例、觀察和關回的人寫上,才開始放量
對應服務客製軟件、網站與應用程式閱讀這篇

功能開關和變更、切換、回滾分開寫

範圍變更回答的是規格要不要改、誰可以收下修改。上線切換回答的是切到正式環境那一晚的順序、每一步由誰做、什麼情況退回舊環境。回滾計畫回答的是哪一個現象可以啟動退回、誰做決定、這一次是還原資料還是退回整次發布。使用者驗收回答的是負責人有沒有按清單把結果做出來。功能開關回答的是另一件事:驗收已經簽過,程式已經在正式環境裡,新功能先對哪一群人生效,什麼情況把生效範圍收回,而不把整次發布退回。分別見 客製軟體範圍變更怎麼管、客製軟體上線切換怎麼做、客製軟體上線回滾怎麼寫、客製軟體 UAT 怎麼做。

交付仍走 客製軟件、網站與應用程式。開關紀錄的封面寫功能名稱、旗標鍵、預設值,以及存放路徑。驗收清單上的句子不改寫成放量比例。規格若還要改,回到變更紀錄,不在放量會議上把剛看到的畫面寫進規則。

開關是已部署程式裡的另一條路徑

2026年10月29日閱讀的 OpenFeature 詞彙 該頁沒有刊登日期。該頁把功能開關定義成一種機制,讓應用程式作者在已經部署的軟件裡寫下另一條程式路徑,並在執行時按一組規則決定走哪一條。該頁並寫明,旗標是邏輯上的一個轉折點,帶有類型,例如字串、布林或 json;旗標鍵是用來識別某一個旗標的字串。詞彙裡的 redesign_enabled 只是例子,不拿來當這次的旗標鍵。

同一頁把評估旗標值寫成取出完整的旗標值,包括從已設定的提供者解析出的值,以及在執行異常時退回呼叫端提供的預設值。旗標管理系統是旗標值和規則的依據,可以是供應商的服務、自建,或開源實作。這份紀錄不指定採購哪一家。規則是評估時用來指定變體的條件。變體是值的語意名稱,值的類型和旗標一致。

先點名的一小群,用覆寫對上對象

2026年10月29日閱讀的 OpenFeature 評估情境 該頁沒有刊登日期,第三節的狀態標為 hardening。該節寫明,評估情境提供旗標評估時的環境資料,可作為定向的依據,包括依規則評估、對特定對象覆寫,或按比例做旗標評估。要求 3.1.1 寫明,評估情境必須有一個可選的 targeting key,類型是字串,用來識別這次評估的對象。該鍵唯一識別對象,對象可以是終端使用者或呼叫的服務。提供者可以要求這個欄位,以便按比例評估、套用規則,或對特定使用者覆寫;解析時若沒有這個鍵,這類提供者的行為可以無法預期。

一小群人的名單,就是對特定對象的覆寫。每一行寫 targeting key、旗標鍵、要返回的變體,以及誰在哪一天把這個人加進來。沒有 targeting key 的帳號不進名單。名單還沒有行,不把按比例放量當成已經開始。加人或移出只改這份名單,不為了換人而重新發布。

按比例放寬時,比例由公司寫下

詞彙頁把按比例評估寫成:用情境裡的一個屬性,例如 targeting key,按已經設定的比例,以偽隨機方式決定旗標值。該頁用 50/50 作例。那是例句,不是這次必須採用的比例。要放到點名名單以外時,開關紀錄寫下比例、依據的情境欄位、誰同意、哪一天生效。比例沒有日期,就不按百分比放量。

評估情境可以包含使用者、應用程式、主機或其他環境資料。該節舉例,規則可以按電郵、地區或一天裡的時段返回某個值。公司若要用部門或地區當條件,就把欄位名稱寫進情境,並寫明它和 targeting key 怎樣一起用。口頭說先給一部分人,不代替這一行。沒有穩定的 targeting key,該節寫明有關提供者的行為可以無法預期,這次就不做按比例放量,只維持點名覆寫。

放寬之前,先看錯誤和支援量

詞彙頁把追蹤事件定義成一項使用者動作或應用程式狀態,代表一個業務結果,以唯一字串識別,並用追蹤介面記下。該頁沒有規定要記哪一種錯誤,也沒有規定支援量的上限。放量紀錄另寫兩欄:看哪一份錯誤日誌、看哪一個支援隊列,以及和哪一段已經發生的日子比較。兩欄沒有日期,比例不往上調,點名名單也不擴大。

比較的結果寫在同一行:錯誤是多了、少了,還是看不出差別;支援隊列裡數得出的件數是多少。件數來自隊列上的單,不另估。超過負責人寫下並註明日期的那一條線,就停在現有名單或現有比例。該頁沒有給這條線的數字。線還沒寫,就不把「看起來還好」當成可以放寬。

關回開關,不必退回整次發布

詞彙頁寫明,另一條路徑在已經部署的軟件裡,於執行時按規則決定。把變體改回關閉,或把比例和覆寫拿掉,下一次評估就不再走新功能那一條。這一步不要求重新發布程式庫。整次發布的退回、資料還原,仍看回滾計畫,見 客製軟體上線回滾怎麼寫。

誰可以把開關關回,寫在紀錄上。這個人和誰可以放寬可以是同一人,兩欄仍分開簽名。關回時寫範圍是全部對象還是剩餘的比例、生效時間,以及對上錯誤日誌或支援隊列的哪一行。原因不寫成空的一句「先關」。沒有這個人的簽名,當值的同事不改規則。

評估失敗時,回到寫明的預設值

2026年10月29日閱讀的 OpenFeature 旗標評估介面 該頁沒有刊登日期,這一節的狀態標為 stable。該頁寫明,評估介面讓旗標值的評估不依賴某一家控制面或供應商。沒有提供者時,使用 No-op 提供者,只返回呼叫端提供的預設值。要求 1.3.1.1 寫明,客戶端必須提供按類型區分的評估方法,參數包括必填的旗標鍵、必填的預設值,以及可選的評估情境。預設值的類型是布林、數字、字串或結構。

同一頁寫明,評估呼叫不得因例外而中斷;執行異常時必須返回預設值。提供者返回的類型和預期不符,也視為異常,應返回預設值。公司把這次的預設值寫成關閉,並註明日期,使評估失敗時不會改為對所有人打開。預設值空白,旗標不開始放量。預設值不寫成「沿用上次成功的結果」,除非紀錄上另有一行說明提供者做得到,並有人簽過。該頁要求返回的是呼叫端提供的預設值。

名單、比例、觀察和關回的人寫上,才開始放量

旗標鍵空白、預設值空白、點名名單沒有 targeting key,或可以關回的人沒有名字,這個功能不對正式環境的使用者放量。驗收簽過,只說明清單上的情境做過,不代替這些欄。

用三件事看放量有沒有在管:生效範圍是點名覆寫,或一條有日期的比例;放寬前的錯誤和支援量寫在同一行;關回只改旗標規則,而不把整次發布退回。有一項空著,開關維持已寫明的預設值,不對名單以外的人打開。

相關筆記