Microsoft AZ-400: 發行管理與部署策略 — 學習指南

屬於 Microsoft DevOps Engineer Expert AZ-400 — 學習指南. 使用經過驗證的解答練習: Microsoft 考試中心, 或參加限時模擬考試: ExamRoll.io.

總覽

Azure 上的發行管理,其關鍵在於可重複、受原則治理的交付流程,此流程能在加速回饋的同時保護可用性。精通部署策略、閘道驗證、環形部署以及功能旗標的暗黑啟動,能讓團隊在不犧牲安全性的前提下持續交付。Azure Pipelines、Azure Deployment Environments、Azure Front Door/Traffic Manager 和 Azure App Configuration 提供了一套緊密整合的工具鏈,用於實現漸進式交付、多環境協調以及可稽核的變更控制。本節將說明何時及如何使用這些功能、如何將它們串連起來,以及在生產等級的管線中,應具備哪些回滾和文件記錄實務。

部署策略與漸進式交付

Blue-green (或稱 red/black) 部署會將新版本部署到一個平行的環境 (綠色),而當前版本 (藍色) 則繼續服務流量。在 Azure App Service 上,deployment slots 可用來實現 Blue-green 部署:先部署到預備 (staging) 環境、進行暖機,然後執行位置交換 (slot swap)。回滾只需再次交換位置即可瞬間完成,這也是為什麼 Blue-green 是最快的回滾選項。將位置交換與「Swap with preview」功能搭配使用,可以在流量轉移前驗證繫結和應用程式設定。

Canary 部署會先將新版本部署給一小部分使用者,然後在健康狀態穩定的情況下,逐步增加流量。在 Azure 上,可透過以下方式實現 Canary 部署:

滾動更新 (Rolling updates) 會逐步替換執行個體,避免了雙機隊的成本。在 AKS 中,可設定 rollingUpdate 的 maxSurge 和 maxUnavailable 參數;並確保 readiness/liveness probes 和 PDBs 保護可用性。對於 VM Scale Sets,則使用滾動升級策略搭配應用程式健康狀態探查。滾動更新雖然經濟,但從系統性退化中恢復的速度比 Blue-green 部署慢。

功能旗標 (Feature flags) 將發行與部署解耦。暗黑啟動 (Dark launching) 會交付預設為停用的程式碼路徑,在不暴露功能的情況下驗證基礎設施。使用旗標來控制昂貴的遷移作業、逐步揭露 UI,以及快速停用有問題的行為。這與 Canary 和環形部署相輔相成:先廣泛部署,然後再逐步啟用。

環形部署 (Ring-based deployment) 將跨群體的漸進式暴露流程正式化。定義如 R0 (內部)、R1 (金絲雀客戶)、R2 (單一區域) 和 R3+ (全球) 等環。晉級標準必須是客觀的:符合 SLO、沒有 Sev2+ 等級的事件,以及可接受的業務 KPI。將環形部署與流量轉移 (Front Door/Traffic Manager)、環境檢查和核准閘道結合,以便及早停止或回滾。

比較 Azure Front Door 與 Traffic Manager 於漸進式流量轉移的應用:Front Door 運作於第 7 層,具備即時變更、健康狀態探查、工作階段親和性 (session affinity)、基於路徑的路由 (path-based routing) 和加權分割等功能——非常適合應用程式層的 Canary 部署和 A/B 測試。Traffic Manager 則運作於 DNS 層;它更適合地理路由 (geo-routing)、跨雲端容錯移轉或區域層級的 Canary 部署,但需要考量 DNS TTL,且不具備應用程式層的功能。

環境、核准與閘道

Azure Deployment Environments 透過防護機制 (guardrails) 將開發/測試環境的佈建標準化。環境定義是基礎設施即程式碼 (IaC) 的範本 (Bicep/ARM/Terraform),用以描述可重複的技術堆疊。這些定義存放在目錄 (catalogs) 中——即註冊到服務裡的 Git 儲存庫——從而實現了版本化、可被探索的環境藍圖。開發人員可以在企業原則 (配額、RBAC、網路) 的限制下,自助服務取得開發/測試執行個體,藉此消除「雪花」環境,並使較低階的環境與生產拓撲保持一致。

核准 (Approvals) 在需要時建立人工介入的控制點。在 Azure Pipelines 中:

發行閘道 (Release gates) 在晉級前強制要求客觀的證據。Azure Pipelines 支援以下檢查:

在環形部署的邊界和 Canary 階段實施閘道,將主觀的晉級決策轉變為可量化的決策。

多環境管線、變數與相依性

設計具有明確相依性與環境範疇的多階段 YAML 管線。使用部署作業 (deployment jobs) 搭配策略區塊 (strategy blocks) (runOnce、rolling、canary) 來模擬漸進式部署 (progressive rollout),並包含 preDeploy、routeTraffic、postRouteTraffic 與 on: failure 的掛鉤 (hooks) 以實現自動化回滾。階段 (Stages) 應宣告 dependsOn 與 conditions,以便後續的環境只有在前一個環境通過閘門 (gates) 與核准 (approvals) 之後才會執行。

透過以下方式管理特定於環境的組態:

對於多環境的部署,偏好採用具備晉升 (promotion) 機制的不可變成品 (immutable artifacts) (也就是「建置一次,部署多次」)。將工作項目 (work items) 與提交 (commits) 及建置 (builds) 綁定,以便在同一個成品從開發 (dev) 環境流向生產 (prod) 環境的過程中維持可追溯性,從而產出準確的發行說明與進行稽核。

回滾策略與資料庫考量

在交付產品前就規劃好回滾計畫:

使用 Azure App Configuration 的功能旗標與版本說明的自動化

Azure App Configuration 透過適用於 .NET、Java、Node.js 等語言的 SDK,集中管理功能。您可以使用標籤來界定每個環境或環的功能旗標範圍,並啟用動態重新整理,讓應用程式無需重新部署即可取得變更。

自動化版本說明以提供可追溯性與溝通:

實務問題情境

Adobe 需要為其託管在 Azure 上的行銷網站導入一個新的個人化引擎,同時不能在行銷活動高峰期冒轉換率下降的風險。團隊必須頻繁部署、逐步揭露功能、驗證 SLO,並在 KPI 下降時能立即回滾。

  1. 使用 Azure Deployment Environments 定義環境
  1. 使用多階段 YAML 實現「建置一次,部署多次」
  1. 對於舊有的 Web 層,使用 App Service 部署位置實現藍綠部署
  1. 透過 Azure Front Door 加權路由導入 Canary 部署
  1. 使用客觀檢查作為晉升的閘門
  1. 在關鍵轉換點要求核准
  1. 使用 Azure App Configuration 功能旗標控制揭露範圍
  1. 透過擴展-收縮遷移保護資料
  1. 自動化回滾路徑

undefined

。對於複雜情境,操作人員仍然可以使用手動的一鍵回滾。

  1. 自動化發行文件

這種方法善用每種工具的長處:使用 ADE 建立安全、可重現的環境;使用 YAML 策略和核准來管理流程;使用 Front Door 和 App Configuration 進行分層的漸進式交付;使用 Azure Monitor 和閘門進行客觀的品質控制;並透過自動化回滾和版本說明來確保韌性與可追溯性。


容器化與 Kubernetes · 所有領域 · 安全性、合規性與 DevSecOps

練習這些題目 → · 在 ExamRoll.io 上限時練習 →

Pass the whole exam — not just this question

You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.

通過考試 →

瀏覽 Microsoft →

Related guides

一站式存取

一份訂閱。所有考試。

每個方案都可無限存取答案搜尋、練習測驗、AI 解釋和完整的資源庫 — 支援 20 多種語言。

每月
24.87
Just €0.83/day
包含所有內容:
  • 無限答案搜尋
  • 無限練習測驗
  • AI 驅動的解釋
  • 完整資源庫
  • 20 多種語言
  • 每週內容更新
  • 獎勵與推薦
  • 優先支援
開始免費試用

無需信用卡*

最佳價值
12 個月
179.87
Just €0.49/daySave 40%
包含所有內容:
  • 無限答案搜尋
  • 無限練習測驗
  • AI 驅動的解釋
  • 完整資源庫
  • 20 多種語言
  • 每週內容更新
  • 獎勵與推薦
  • 優先支援
開始免費試用

無需信用卡*

✓ 包含免費方案 · ✓ 隨時取消 · ✓ 所有方案解鎖完整產品