環境
使用持續傳遞 程式,快速且安全地將新價值傳遞至生產環境。 您可以經常提供小型變更,進而降低問題的風險。
其他因素會影響「生產環境的部署痛苦」,包括您採用多個傳遞/部署環境。 多重環境方法可讓您以更高的速度和頻率建置、測試和發行程式碼,讓您的部署盡可能簡單。 您可以移除手動額外負荷和手動發行的風險,並改為使用以不同環境為目標的多階段程式自動化開發。
常見的多重環境架構包含四層:
- 部署
- 測試
- 預備
- Production
在此架構中,您的產品會依序從開發(您開發軟體變更的環境)轉換至生產環境(使用者直接互動的環境)。 您也可以引進使用者接受度測試 (UAT) 環境,以驗證端對端商務流程。
Environment | 描述 |
---|---|
部署 | 您的開發環境 (dev) 是開發軟體變更的位置。 |
Test | 您的測試環境可讓人類測試人員或自動化測試試用新的和更新的程式碼。 開發人員必須先透過開發環境中的單元測試接受新的程式碼和組態,才能允許這些專案進入一或多個測試環境。 |
預備 | 預備是在部署至生產環境之前立即執行最終測試的位置。 每個預備環境都應該盡可能準確地鏡像實際生產環境。 |
UAT | 使用者接受度測試 (UAT) 可讓終端使用者或用戶端執行測試,以驗證/接受軟體系統,然後軟體應用程式才能移至您的生產環境。 |
Production | 您的生產環境(生產環境),有時稱為 即時 環境,是您使用者直接互動的環境。 |
設計考量
將下列考慮套用至 Azure 登陸區域和 Azure 工作負載開發:
- 測試環境很重要,因為它們可讓平臺開發人員在部署至生產環境之前測試變更,這可降低生產環境中傳遞的相關風險。
- 盡可能讓環境保持類似,可讓您輕鬆地在測試的第一個階段中尋找環境相關錯誤,進而提升開發和測試速度和可靠性。
- 如果您的環境設定有差異,就會發生「設定漂移」,這可能會導致資料遺失、部署速度變慢和失敗。
- 您可以採用基礎結構即程式碼(IaC)來加速部署、改善環境一致性,並減少環境之間的「組態漂移」。
- 請考慮採用 Canary 或 Blue-Green 部署等方法,讓新功能僅適用于生產環境中一組有限的測試使用者,並協助縮短髮行至生產環境的時間。
- 使用測試結果的檢查來控制程式代碼從開發轉換到生產環境。 您可以將這些控制項自動化,讓失敗的測試可防止變更自動部署到下一個環境。
- 已指定使用者先檢閱提取要求,再將程式碼部署至生產環境。 請考慮搭配分支策略 使用存放庫 來管理檢閱程式。
- 允許所有開發人員存取所有環境,以避免定址接收器。
工作負載
若要瞭解如何管理工作負載的環境,請參閱 企業級常見問題 。
Azure 登陸區域
當客戶想要測試新Azure 原則指派、Azure RBAC 角色指派、Microsoft Entra 群組成員資格、Azure 資源建立等等的效果和結果時,採用 Azure 登陸區域部署的多個環境很常見。
企業級 的測試方法描述兩種不同的採用方法:
- Canary 和生產環境中的管理群組階層複寫
- 沙箱訂用帳戶
無論您遵循哪種方法,您都應該一律:
- 至少採用一個環境進行測試。
- 針對測試和生產目的使用分隔的服務主體來保護您的環境。
- 在將任何變更部署到特定環境之前,先實作自動化檢查和核准,以驗證和核准變更